3 ডি শিরোনামে স্তরের সামগ্রীর জন্য সামগ্রী বাজেটগুলি (যেমন বহুভুজ গণনা) সেট করার একটি সহজ উপায় কী?


13

সুইউইনদের জন্য এই প্রশ্নের উত্তর দেওয়ার ক্ষেত্রে , উত্তরটি আরও প্রাসঙ্গিক প্রশ্ন উত্থাপন করেছিল যার উত্তর আমি শুনতে চাই। আমি আমাদের নিজস্ব কৌশল পোস্ট করব (প্রতিশ্রুতি আমি এটি উত্তর হিসাবে গ্রহণ করব না), তবে আমি অন্যদের শুনতে চাই।

বিশেষত: আপনি কীভাবে আপনার সামগ্রী দলের জন্য বুদ্ধিমান বাজেট সেট করতে যান। সাধারণত কোনও বিকাশে সবচেয়ে প্রথম প্রশ্ন করা হয়: আমাদের বহুভুজ বাজেট কী? অবশ্যই, আজকাল এটি বিরল যে একা ভার্টেক্স / পলি গণনা হ'ল সীমাবদ্ধ ফ্যাক্টর, পরিবর্তে শেডারের জটিলতা, ফিল-রেট, আলোকসজ্জা জটিলতা, সবই কার্যকর হয়।

বিষয়বস্তু দলটি যা চায় তা হ'ল কিছু শক্ত নম্বর / সীমাবদ্ধতা যাতে তারা যুক্তিসঙ্গত প্রত্যাশা করে যে তাদের বিষয়বস্তুটি প্রকৃতপক্ষে ইঞ্জিনে উঠলে এটি খুব বেশি ভারী হবে না। প্রদত্ত যে 'এটি নির্ভর করে' কোনও বিশেষ উত্তর নয়, আমি এমন একটি কৌশল শুনতে চাই যা আমাকে ক) বিভ্রান্তিমূলক, বা খ) ভুল না করে তাদের কার্যক্ষম সীমাবদ্ধতা দেয়।


1
এটি একটি "উত্পাদন" জিনিসটির চেয়ে "প্রাক-উত্পাদন"-
প্যাট্রিক হিউজেস

উত্তর:


5

আমার বোধগম্যতা থেকে কোনও মডেলটির জটিলতা হ্রাস করা তার থেকে সহজ এবং তাত্পর্যপূর্ণ এমন কোনও মডেলের জন্য বিশদ যুক্ত করা। আমি জানি কিছু সংস্থাগুলি পরিস্থিতির উপর নির্ভর করে খুব বিস্তৃত সম্পদ পুল করে এবং এগুলি কমিয়ে এনে এর সুবিধা নিয়ে থাকে।

ভালভ তাদের এনপিসি দিয়ে এটি করে। এনপিসি কোনও ধরণের ম্যাপিং ছাড়াই চূড়ান্ত বিবরণে মডেল করা হয় এবং তারপরে বিশদ মডেলগুলির (বা এমনকি স্বয়ংক্রিয়ভাবে তৈরি হওয়া) ভিত্তিতে প্রয়োগ করা বিভিন্ন ম্যাপিংয়ের কৌশলগুলির মতো বর্তমান প্রযুক্তি এবং কৌশলগুলি দ্বারা গ্রহণযোগ্য পর্যায়ে বিশদটি স্কেল করে।

এটি ভবিষ্যতের প্রুফিংয়ে সহায়তা করে কারণ আপনাকে কখনই সম্পদগুলি পুনরায় তৈরি করতে হবে না, কেবল প্রতিটি নতুন প্রকল্পের জন্য তাদের টুইট করুন। এটিরও সুবিধা রয়েছে যে কোনও দল বেঞ্চমার্কিংয়ের জন্য অপেক্ষা করার দরকার নেই যা সম্পদের বিকাশ শুরু হওয়ার আগে নির্দিষ্ট প্রসঙ্গে। শিল্পীরা প্রথম দিন থেকে পুরোপুরি যুক্ত হতে পারেন।


2
এটি আসলে বাজেট সরবরাহ করছে না যদিও: "এটি আপনার প্রয়োজন হিসাবে জটিল করুন এবং তারপরে আমরা এটি পরে কমিয়ে দেব" একটি উত্পাদন কৌশল। : - /
মিঃ ক্র্যাঙ্কি

16

ঠিক আছে, সুতরাং আমাদের কৌশলটি হ'ল:

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

শেষ পর্যন্ত: আপনার সংখ্যা দিয়ে রক্ষণশীল হন। রেন্ডারিং কেবলমাত্র আপনার গেমটি করতে হবে তা নয়, তাই আপনি যে ফ্রেমের রেন্ডারিং ব্যয় করতে চান তার কোনও অনুপাতের সিদ্ধান্ত নিন এবং এটি আপনার লক্ষ্য হিসাবে তৈরি করুন। যেমন আপনি যদি 30fps রেন্ডারিংয়ে আপনার ফ্রেমের দুই তৃতীয়াংশ ব্যয় করতে চান তবে আপনার পরীক্ষাগুলিতে 1s / 22ms (45 fps) টার্গেট করুন।

এই সমস্তগুলির মধ্যে, আপনার উদাহরণের দৃশ্য দিতে সক্ষম হওয়া উচিত। উদাহরণস্বরূপ, এখানে 200 কে বহুভুজ, 5 টি স্ট্যাটিক লাইট এবং 50 কে পোলির 15 টি অক্ষর এবং 30 টি হাড়যুক্ত মডেলটিতে 3 টিরও বেশি গতিময় লাইট রয়েছে এবং এটি 60fps এ চলে এবং মেমরির 30MB দখল করে।


2
tl; dr: এটিকে নিজেই বেঞ্চমার্ক করুন;)
নিকল বোলাস

+1 এটি সত্যিই একমাত্র উপায়, নির্মাণ এবং পরিমাপ।
প্যাট্রিক হিউজেস

সত্যি? আমি আশা করছিলাম এরকম একটি স্মার্ট / সস্তা সমাধান হবে যা আমরা ভেবে দেখিনি।
মিঃ ক্র্যাঙ্কি

দুর্ভাগ্যক্রমে, হ্যাঁ, এমআরক্রাঙ্কি আপনি যদি কোনও বিদ্যমান ইঞ্জিন ব্যবহার করছেন তবে আপনি বিদ্যমান নমুনা ডেটা পরিমাপ করে এবং বিশেষ করে আপনার গেমের জন্য নম্বরগুলি কাস্টমাইজ করতে আপনার বেসলাইন হিসাবে ব্যবহার করে প্রক্রিয়াটি শুরু করতে পারেন - প্রতিটি গেম আলাদা।
প্যাট্রিক হিউজেস

4

ভার্টেক্স গণনা

আমি 15 বছরেরও বেশি সময় ধরে "বহুভুজ গণনা" নিয়ে গবেষণা করেছি। বিশেষত আরও আধুনিক সফ্টওয়্যার এবং হার্ডওয়্যার সহ আপনার সীমা কতটি তা বলার কোনও কঠোর উপায় নেই। সীমাগুলি ইঞ্জিনগুলিতে আরও বেশি কার্যকর ছিল যা পুরো স্তরের জন্য কেবল 4,000 ত্রিভুজকে সমর্থন করে। এখন, আপনি গেমের পরিবেশে বেশিরভাগ জিনিসগুলি পৃথকভাবে ছাড়িয়ে যাবেন।

চূড়ান্ত বিষয়টি হল ইঞ্জিনটি বহুভুজ স্ট্রিপগুলি কী করছে।

যখন ইঞ্জিন প্রতিটি মডেলকে রেন্ডার করে, তখন এটি আপনার ইউভি ম্যাপযুক্ত স্থানাঙ্কগুলি, ত্রিভুজগুলিতে টেক্সচার / উপাদান উপস্থাপন করে এবং ত্রিভুজ স্ট্রিপগুলি তৈরি করে। বেশিরভাগ ক্ষেত্রে, একটি ত্রিভুজ ফ্যানটি পৃথক ত্রিভুজ পৃথক ত্রিভুজ স্ট্রিপগুলিতে বিভক্ত হয়। এটি ত্রিভুজ স্ট্রিপের সংখ্যা বৃদ্ধি করে, কর্মক্ষমতা হ্রাস করে।

এটি ঠিক করার একটি প্রধান উদাহরণ একটি সিলিন্ডারের সমতল শীর্ষ। 3 ডি প্যাকেজগুলি সাধারণত কেন্দ্রে একটি ভার্টেক্স সহ একটি ত্রিভুজ ফ্যান সেট আপ করে। আমি প্রান্তগুলি এবং কেন্দ্রের শীর্ষস্থানটি মুছুন, তারপরে পুরো মুখ জুড়ে কোয়াড তৈরি করুন। এরপরে বহুভুজ গণনা পরিবর্তন না করে একাধিক একক-মুখের স্ট্রিপের পরিবর্তে একক ত্রিভুজ স্ট্রিপের মধ্যে ত্রিভুজিত হওয়া উচিত।

বহুভুজ গণনাটিকে একটি গাইড হিসাবে ধরুন এবং কীভাবে আপনি মডেল করবেন সে বিষয়ে যত্ন নিন এবং জালকে ইউভি মানচিত্র করুন। যখন ইউভি ম্যাপিং প্রায়শই আরও বেশি উপকারী হতে পারে তখন জালটিতে কম বিভক্ত হয়।

এর পরে, সাধারণ মানচিত্রে কী নকল হতে পারে তা বিবেচনা করুন। প্রচুর বিবরণ ক্ষেত্রে একটি সমতল মুখটি সাধারণত ম্যাপযুক্ত হয়। কার্ভগুলি কেবল গোলাকার হওয়া দরকার যেখানে আপনি সিলুয়েট দেখতে পাবেন। বাঁকা মুখগুলি সামনের দিকে তাকানোর সময়, আপনার উচ্চ-রেজোলিউশন অ্যাসেট এবং গেম-রেজুলেশন অ্যাসেটের মধ্যে পার্থক্যটি লক্ষ্য করা উচিত নয়। সিলুয়েট হ'ল সাধারণ মানচিত্র জড়িত থাকাকালীন আপনার মডেলটিতে কী পার্থক্য আসে। সিলুয়েটকে এখন ডেসরেক্টএক্স 11 দিয়ে সংশোধন করা যেতে পারে, টেসলেসেশন এবং স্থানচ্যুতি ম্যাপিং ব্যবহার করে।

খেলার নকশা

আপনার গেমটি ডিজাইনের সময় নিম্নলিখিত বিষয়গুলি বিবেচনা করুন:

  1. গেমের ধরণ নির্ধারণ করুন (উদাঃ অ্যাকশন / অ্যাডভেঞ্চার / রেসিং / স্ক্রোলার)
  2. দর্শন প্রকারের সংজ্ঞা দিন (উদাহরণস্বরূপ প্রথম ব্যক্তি / তৃতীয় ব্যক্তি / orthographic)
  3. আপনার বাজারের জন্য গণনামূলক শক্তি সংজ্ঞা দিন। (যেমন উত্সাহী / নৈমিত্তিক গেমার)
  4. আপনি অর্জন করতে চান এমন একটি ভিজ্যুয়াল শৈলী তৈরি করুন। আপনি কি এটি দেখতে চান, উদাহরণস্বরূপ, ক্রিসিস 2, বর্ডারল্যান্ডস, ব্লাডফোরজ বা যুদ্ধের গিয়ার্স?
  5. প্লেয়ারের কাছে গুরুত্বপূর্ণ বিষয়গুলি নির্ধারণ করুন। আপনার প্রপসগুলি কি কেন্দ্রবিন্দু বা কেবল ব্যাকড্রপ হতে চলেছে?
  6. ভিজ্যুয়াল মেসগুলি কি সংঘর্ষের জাল?

গেম এবং দর্শন প্রকারগুলি ব্যবহার করে দেখার গভীরতা কী হবে তা স্থির করুন। আপনি কি দূরবর্তী বস্তুগুলি দেখতে যাচ্ছেন এবং কী স্পষ্টতার সাথে? আপনি কি করিডোর শ্যুটারের মতো সীমাবদ্ধ দৃষ্টিভঙ্গি দিয়ে কিছু তৈরি করছেন? (উদাঃ যুদ্ধের গিয়ার্স) আপনি কি খোলা ল্যান্ডস্কেপগুলির সাথে ফ্রি-রোমিং তৈরি করছেন? (যেমন। স্কাইরিম)

এটি দেখতে কেমন হওয়া উচিত তা জানার পরে, আপনি সেই জাতীয় গেমগুলি গবেষণা করতে পারেন।

অ্যানিমেশন তারপরে বহুভুজ গণনা বাড়ানোর আপনার ক্ষমতা সীমাবদ্ধ করবে। স্ট্যাটিক মেসস, যেকোন কিছু একই পদে থেকে যায় তা জিপিইউ এবং সিপিইউতে সস্তা cheap বিশেষত যদি তারা পদার্থবিজ্ঞানের বস্তু না হয়। পদার্থবিজ্ঞানের সামগ্রীর জন্য, আপনি প্রায়শই সাধারণ সংঘর্ষের হাল এবং জটিল ভিজ্যুয়াল জাল তৈরি করতে পারেন। পার্থক্যটি লক্ষ্য করার জন্য বেশিরভাগ গেমগুলিতে পর্যাপ্ত মিথস্ক্রিয়া নেই। অ্যানিমেশন আপনার মডেলটিকে 3-মাত্রিক দিকে নিয়ে যায়, প্রতিটি ভার্টেক্সে বেশ কয়েকটি হাড়ের সাথে, প্রতিটিগুলির থেকে ভারের মধ্যে মিশ্রিত হয়। এটি সিপিইউর সময় ব্যয়বহুল হতে পারে, যা এআই এবং সফটওয়্যার-ভিত্তিক পদার্থবিজ্ঞানের সাথে সংঘর্ষ করতে পারে। পুরো মডেলের হাড়ের সংখ্যার দ্বারা যত বেশি বিভাজন প্রভাবিত হচ্ছে সেগুলি সিপিইউর কার্যকারিতা হ্রাস পাবে। গেমের চরিত্রগুলিকে "শিল্প" হিসাবে বিবেচনা করা এই অন্য কারণ। বহুভুজ সীমা নির্ধারণ করা খুব কঠিন is

আমার উদাহরণ

আমি ইউডিকে ব্যবহার করি, যে কোনও সময় পর্দায় সীমিত সংখ্যক খেলোয়াড় এবং এনপিসি সীমিত সংখ্যক সহ ধীর গতিযুক্ত তৃতীয় ব্যক্তি শ্যুটার তৈরি করে। এর জন্য, আমি প্রতি খেলোয়াড়ের জন্য প্রায় 10,000 টি ত্রিভুজ, সাধারণ, জেনেরিক শত্রুদের জন্য 5,000 ত্রিভুজ এবং যদি আমি "বস" শৈলীর চরিত্র তৈরি করতে পারি, তখন প্রায় 15,000 লক্ষ্য করছি। অতিরিক্ত হিসাবে, প্রায় 4,000 ত্রিভুজগুলির তৃতীয় ব্যক্তির জন্য অস্ত্রগুলি অত্যন্ত বিস্তারিতভাবে উপস্থিত হবে। প্রায় 10,000 ত্রিভুজ যানবাহন। সমস্ত কিছুর জন্য বিশদ স্তরের প্রয়োজন হবে, কারণ আমার দীর্ঘ দেখার দূরত্ব প্রয়োজন।

যদি প্রথম ব্যক্তিটি তৈরি করা হয় তবে আমি প্রায় 2 হাজার ত্রিভুজগুলিতে, প্রায় 5000 টি ত্রিভুজ অস্ত্র, প্রতিটিটির জন্য সাধারণ ম্যাপিং সহ অস্ত্রগুলি বেস করব base

উপসংহার

সম্ভবত এটি "এটি নির্ভর করে" এর অর্থ হ'ল তবে আমি ভেবেছিলাম এটি সম্ভবত এমন কিছু বিষয় স্পষ্ট করে যা লোকেরা প্রায়শই অবাক করে।

  1. বহুভুজ গণনাটি গাইড হিসাবে ব্যবহার করুন।
  2. মডেলিংয়ের পরিবর্তে এমন ক্ষেত্রগুলি দেখুন যা সাধারণ ম্যাপ করা যায়।
  3. ত্রিভুজ অনুরাগীদের রাখার সময় সতর্কতা অবলম্বন করুন, যদি সম্ভব হয় তবে একটি স্ট্রিপ তৈরি করুন।
  4. ইউভি ম্যাপিংয়ের সময় স্ট্র্যাপগুলি মাথায় রেখে জালটিতে কম স্প্লিট ব্যবহার করুন।

2

আমি যে পদ্ধতিটির কথা ভাবতে পারি তা হল পরিসংখ্যান সম্পর্কিত ডেটা তৈরির জন্য স্বয়ংক্রিয়ভাবে নির্মিত দৃশ্যগুলি ব্যবহার করা যা থেকে আপনি যে তথ্যটি সন্ধান করছেন তা ডিক্রিফার করতে পারেন।

  1. প্রচুর পরিমাণে সম্পদ পান (সম্ভাব্যভাবে স্বয়ংক্রিয়ভাবে উত্পন্ন হতে পারে)।

  2. এমন দৃশ্য তৈরি করতে একটি সরঞ্জাম তৈরি করুন যা সম্পদ পুল ব্যবহার করে আপনার ইঞ্জিন দ্বারা লোড করা যায়।

  3. এমন একটি বট চালান যা আপনার ক্যামেরাকে দৃশ্যের আশেপাশে নিয়ে যাবে। লাইট সহ দৃশ্যের আরও গতিশীল করতে আপনি আরও কিছু বট চালাতে চাইতে পারেন।

  4. যথাসম্ভব তথ্য সংগ্রহ করুন এবং এটি একটি ডাটাবেসে ফেলে দিন; এফপিএস, পলি কাউন্ট, শেডার পরিবর্তন, লাইটের সংখ্যা, কল কল ইত্যাদি

  5. যতটা সম্ভব আপনার উপায়ে ডাটাবেসে ডেটা প্রদর্শন করার জন্য কিছু সরঞ্জাম তৈরি করুন / পান।

এই লিঙ্কটি আরও কিছু ধারণা সরবরাহ করতে পারে: মৃত রাইজিং সরঞ্জামগুলি


আমি এই উত্তরটি পছন্দ করি, কারণ এটি আমাদের নিজস্ব কৌশলটির সবচেয়ে ব্যয়বহুল অংশটিকে মোকাবেলা করে: কাউকে প্রতিনিধি দৃশ্য নির্মাণের জন্য প্রচেষ্টা নিতে হবে। অ্যালগরিদম প্রজন্ম, বা স্ক্রিপ্টগুলি বিপুল সংখ্যক বুদ্ধিমান আকারের সম্পদ দ্রুত রাখার জন্য একটি পরীক্ষণযোগ্য দৃশ্যের তৈরির গতি বাড়িয়ে তুলবে। আমি আরও জনপ্রিয় উত্তর গ্রহণ করতে যাচ্ছি, তবে আমি মনে করি এটি অনুগ্রহযোগ্য।
মিঃ ক্র্যাঙ্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.