কেন 90 ° হোর্জ / 60 ° ডিফল্ট এফপিএস ক্ষেত্রের ক্ষেত্রটি প্রস্থ হয়?


14

আমি যতদূর বুঝতে পেরেছি, উল্লম্ব ক্ষেত্রের দর্শনটি সামঞ্জস্য করা উচিত:

fov = 2 * arctan(0.5*screenHeight / distanceEyeScreen);

তা হল, দেখার ক্ষেত্রটি কোনও ব্যবহারকারীর দূরত্ব এবং স্ক্রিনের আকারের সাথে মেলে।

অনেকগুলি এফপিএসে অনুভূমিক FoV এর জন্য 90% বা উল্লম্ব FoV এর জন্য 60 (এর মান (16: 9 অনুমান করে) থাকে। একটি উদাহরণ ক্রেইঞ্জাইন ng তবে একটি 16: 9 20 "স্ক্রিনের জন্য (দৃশ্যমান অঞ্চলের তির্যক অর্থাত্ প্রায় 40 সেন্টিমিটার x 25 সেমি), এই ডিফল্ট মানটি ব্যবহারকারীদের দৃষ্টি অবশ্যই সঠিক দর্শন পেতে পর্দা থেকে 20 সেমি তাদের চোখের প্রয়োজন।

সুতরাং হয় আমার গণনাগুলিতে আমি ভুল করে ফেলেছি, অথবা কোনও কারণ থাকতে হবে যা আপনি উদ্দেশ্য হিসাবে অপ্রতুল FoV মান পছন্দ করেন।

90 ° হর্জ / 60 ° প্রস্থের ডিফল্ট FoV এর কারণ কী?


আমি জানি যে উচ্চতর এফওভিগুলি একটি গেমটি দৃশ্যাবলী দ্বারা চালিত হওয়ার সাথে সাথে দ্রুত অনুভব করতে পারে । এটি এএ ডিজাইনের পছন্দ বলে মনে হবে, আপনি যে ডিভাইসটি চালাচ্ছেন তার উপরও নির্ভর করে। আপনি কোন এফপিএস পরিমাপ করেছেন?
আনকো

@ আঙ্কো ওয়েল আমি কিছু "গবেষণা" করেছি এবং বিভিন্ন গেমের উল্লেখ করে প্রচুর ফোরাম পোস্ট পেয়েছি যে ডিফল্ট FoV 90% হার্জ হয়। এছাড়াও, আমি কিছু ক্রেইংগাইন ডক্স পড়েছি এবং এর উদাহরণ গেমটিতে এফওভি দিয়ে চারপাশে খেললাম।
ডায়াপ

কারণ কেন FOV যাই হোক না কেন মান এটি সেট করা হয় ডিফল্ট জন্য, এটা সাধারণত যে ধ্রুব নয় একটি মান সেট কাছে অর্থহীন করে তোলে। বেশিরভাগ ডিসপ্লেতে এমন সেন্সর নেই যা ব্যবহারকারীর মাথাটি কত দূরে tell সুতরাং 90 ডিগ্রি একটি "ভাল অনুমান"। আমি মনে করি আপনি এটি বলতে "এটি আমাদের 20" পর্দার ব্যবহারকারীদের এ থেকে 20 সেমি দূরে বসে থাকা উচিত বলার সমতুল্য। আপনি কি বলছেন আপনি FOV হ্রাস করতে চান কারণ বেশিরভাগ ব্যবহারকারী তাদের প্রদর্শন থেকে আরও দূরে বসে থাকেন? এটি এটিকে খুব জুম করে তোলে makes এবং আপনার চারপাশের আরো অনেক কিছু আপনার প্রতিবেশ দেখতে প্যান অতি এটা একটা খেলা আরো স্তন্যপান আমাকে করে তোলে।।
স্টিভেন লু

সহজ উত্তর: কারণ এটি খেলার সময় যথেষ্ট ভাল লাগে এবং ক্রমবর্ধমান প্রশস্ত FOV এর মতো অযৌক্তিক বিকৃতি প্রবর্তন করে না। যে কোনও 3 ডি এডিটারে ক্যামেরার কোণগুলির সাথে জগাখিচুড়ি করা সহজ, বিভিন্ন মান চেষ্টা করে দেখুন এবং নিজের জন্য দেখুন। সহজ উত্তর নয়: এটি একটি রাজমিস্ত্রি ষড়যন্ত্র।
প্যাট্রিক হিউজেস

উত্তর:


6

আমি মনে করি 90 ডিগ্রির একটি এফওভি হ'ল প্রাকৃতিক বোধ হয় যখন আপনি 'মানুষের চোখের দিকে তাকানো' নকল করার চেষ্টা করেন। আপনার গণনাগুলি সঠিক হবে যদি আপনি কোনও উইন্ডোকে ভার্চুয়াল বিশ্বে সিমুলেট করতে ব্যবহার করেন, তবে প্রথম ব্যক্তির দৃষ্টিভঙ্গি নয়। চিত্র আপনাকে বিশ্ব মাথাটি আপনার মাথা থেকে 80 সেন্টিমিটার দূরে 20 "ফ্রেম দেখতে হবে ...


1
তবে "উইন্ডোটি ভার্চুয়াল বিশ্বে সন্ধান করছেন না" একটি দৃষ্টিকোণ প্রজেকশনটি কী? ওহ, এবং আপনি আপনার পর্দার জিনিসগুলি "স্টিকিং আউট" স্ক্রিনের পৃষ্ঠেও প্রজেক্ট করতে পারেন।
dyp

4
প্রথম ব্যক্তির দৃষ্টিভঙ্গি গেমগুলির জন্য, খুব সীমাবদ্ধ FoV হওয়া বিরক্তিকর এবং আঘাতের গেমপ্লে এবং নিমজ্জন আইএমও হতে পারে, যেহেতু আপনি বাস্তব জীবনে আপনার ব্যবহারের চেয়ে অনেক কম দেখেন। ব্যক্তিগতভাবে, আমি 90% এর নীচে কিছু অপ্রতুল। অনুমান করুন যে কোনও বর্গাকার ঘরের এক কোণে 65 of এর অনুভূমিক এফওভি দিয়ে দাঁড়িয়ে যেমন কনসোল গেমগুলির পক্ষে সাধারণ বলে মনে হচ্ছে - আপনি সচেতনতা বজায় রাখতে বাম এবং ডানদিকে নজর রাখতে বাধ্য করতে পুরো ঘরটি দেখতে পারবেন না। এটি আমাকে বাস্তব জীবনে বাদাম

1
হ্যা, অবশ্যই। এটি আমাদের করুন .2323ff400wm/400/400/ronstik/ronstik1112/ronstik111200016/… আপনার আঙ্গুল দিয়ে এবং 20 এর সামনে আপনার পর্দার (80 সেন্টিমিটার) সিমুলেট করুন Now এখন আপনি যা দেখতে পেলেন তা কল্পনা করুন As দেখানো হয়েছে, এটি বিরক্তিকর হবে this আপনার মাথা থেকে এখন 20 সেন্টিমিটার দূরে এই সিমুলেটেড 20 "স্ক্রিন / ফ্রেমটি সরান এবং এটি আপনার প্রকৃত ক্ষেত্রের দেখার সাথে মোটামুটি মিলবে match
শির্ক

3
প্রকৃতপক্ষে, একটি কৃত্রিমভাবে প্রশস্ত ক্ষেত্রের দ্বারা প্রেরিত মিথ্যা দৃষ্টিভঙ্গি সম্পূর্ণ অপ্রাকৃত, এবং আমি ব্যক্তিগতভাবে প্রায়শই প্রায়শই বিকৃতিটি চাপ এবং বিরক্তিকর সৃষ্টি করি। তবে এটি এখনও 20 ° -30 ° পেরিফোলের মাধ্যমে সমস্ত কিছু দেখার চেষ্টা করা অসম্ভব ভাল, যা সাধারণ একক মনিটরে "বাস্তববাদী" দৃষ্টিভঙ্গি বলতে কী বোঝায়। টানেলের দৃষ্টি নিয়ে কথা বলুন!
ইলমারি করোনেন

3

আপনি কতটা দ্রুত বিশ্বের মাধ্যমে চলতে দেখায় এফওভির বেশিরভাগ প্রভাব (এটি এখনও একই গতি; এটি নিখুঁত উপলব্ধিযোগ্য)। খুব প্রশস্ত একটি অনুভূমিক FOV দিয়ে আপনি খুব দ্রুত সরানোতে দেখবেন, খুব সংকীর্ণের সাথে আপনি খুব ধীর গতিতে চলেছেন বলে মনে করছেন। 90 ডিগ্রি অনুভূমিকটি "মিষ্টি স্পট" হিসাবে উপস্থিত হবে এবং গেম ডেভেলপার সেখান থেকে পৃথক গেমগুলির জন্য একটি পছন্দসই চলার গতি টিউন করতে পারে।

এটি এমনও হয় যে 4 বার 90 ডিগ্রি হয় 360 ডিগ্রি, যা একটি বৃত্ত। অনুভূমিক FOV সেট আপ করা যাতে এটি সামনে / বাম / পিছনে / ডান চতুর্ভুজগুলিতে সুন্দরভাবে মানচিত্র করে তা বোধগম্য হয়।

এবং অবশেষে আছে প্রাধান্য এবং জড়তার পুরানো বুকভরা। আমি নিশ্চিত নই যে কোনও গেমস ভূমিকম্পের আগে প্লেয়ার-অ্যাডজাস্টেবল এফওভি সরবরাহ করেছিল কিনা, তবে কোপ্পনটি করেছে এবং এটি 90 ডিগ্রি অনুভূমিক ডিফল্ট হয়েছে; অন্যান্য গেমগুলি কেবল সেখান থেকে 90 ডিগ্রি অর্জনের বিষয়টি কল্পনা করা সহজ।

এটি লক্ষণীয় যে আজকাল 90 ডিগ্রি কম সাধারণ হয়ে উঠছে, গেমস (বিশেষত আধুনিক এফপিএস) কিছুটা কম মান নির্ধারণ করে - 80 বা তার কাছাকাছি।

আপনি যদি নিজের এফওভিটির দিকনির্ধারণ করতে চান তবে আপনি এই জাতীয় কিছু ব্যবহার করতে পারেন (আমি এটির একমাত্র বা সর্বোত্তম উপায় হিসাবে ভান করি না তবে এটি http://www.MSai.net/projects/widescreen এ FOV ক্যালকুলেটরের সাথে সামঞ্জস্যপূর্ণ ) / fovcalc / ; এটি 4: 3 এর বেস আকৃতির অনুপাতের সাথে তুলনামূলকভাবে ধরে নেওয়া হয় (আপনি নীচে ক্যালকাফভায় কলটিতে এটিকে সামঞ্জস্য করতে পারেন))

float CalcFovX (float fov_y, float width, float height)
{
    float   a;
    float   y;

    if (fov_y < 1) fov_y = 1;
    if (fov_y > 179) fov_y = 179;

    y = height / tan (fov_y / 360 * M_PI);
    a = atan (width / y);
    a = a * 360 / M_PI;

    return a;
}

float CalcFovY (float fov_x, float width, float height)
{
    float   a;
    float   x;

    if (fov_x < 1) fov_x = 1;
    if (fov_x > 179) fov_x = 179;

    x = width / tan (fov_x / 360 * M_PI);
    a = atan (height / x);
    a = a * 360 / M_PI;

    return a;
}

তারপরে এটিকে কল করুন:

// you should use #define of const instead of magic numbers here, which are just here for illustration purposes in this sample
fov_y = CalcFovY (playerAdjustableFOV, 4, 3); // this is your base aspect that adjusted FOV should be relative to
fov_x = CalcFovX (fov_y, width, height); // this is your actual window width and height

গণনা করা fov_x এবং fov_y এর পরে নিম্নলিখিত দৃষ্টিকোণ ম্যাট্রিক্স (ওপেনগিএল কনভেনশন) এ প্লাগ করা যেতে পারে:

1.0f / tan (DEG2RAD (fov_x) * 0.5f),
0,
0,
0,
0,
1.0f / tan (DEG2RAD (fov_y) * 0.5f),
0,
0,
0,
0,
(zFar + zNear) / (zNear - zFar),
-1,
0,
0,
(2.0f * zFar * zNear) / (zNear - zFar),
0

এটি আপনাকে এমন একটি দিক-সমন্বিত অনুভূমিক FOV দেবে যা রেজোলিউশন এবং দিক অনুপাত নির্বিশেষে উল্লম্ব FOV বজায় রাখে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.