লাইনের সাহায্যে কীভাবে 3 ডি ওয়ার্ল্ড আঁকবেন, আরও স্কেচ অঙ্কন বা কার্টুনের মতো


9

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

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

আমি একজন অভিজ্ঞ প্রোগ্রামার তবে থ্রিডি প্রোগ্রামিংয়ে নতুন। আমি এমন কোনও খেলা মনে করি না যা এই জাতীয় দেখায় - এটি হয়ে গেছে? এবং কিভাবে এটি করতে হবে? দুটি সমস্যা মাথায় আসে - তাৎপর্যপূর্ণ প্রান্তগুলি সন্ধান করে এবং এটি আঁকতে। নিয়মিত থ্রিডি ইঞ্জিনের পরিবর্তে লাইনের উপর ভিত্তি করে ম্যাট্রিক্স থেকে কোডেড একটি "ইঞ্জিন" লাগবে কি?


আমি কেবল আপনাকে সতর্ক করতে চাই যে মানুষেরা 2 ডি স্ক্রিনে 3 ডি বুঝতে পারার পক্ষে ভাল নয়, তাই দৃশ্যের গভীরতা বোঝার জন্য শেডিংটি যা খুব গুরুত্বপূর্ণ অংশ, 3 ডি উপর নির্ভর করে এমন কোনও খেলায় ভাল কাজ করতে পারে না গেমপ্লে
জেফ

একটি গেম রয়েছে যা আপনি বর্ণনা করছেন এমন স্টাইলের সাথে খাপ খায় - ওকামি, পিএস 2 এর জন্য মুক্তি
ইরান গাল্পেরিন

1
ভাল লাগছে, আমি নিজেই এটি করার কথা ভাবছিলাম। আমি মনে করি আপনি কেবল লাইন নয়, কিছু ধরণের সেল শেডিং ব্যবহার করতে চাই ।
mpnk121

উত্তর:


11

মৌলিকভাবে, আপনি যেটির বিষয়ে কথা বলছেন তা হ'ল প্রান্ত-সন্ধান এবং বিভিন্ন ধরণের গেম রয়েছে যা বিভিন্ন উপায়ে এটি করে।

সম্ভবত প্রথমটি হ'ল জেট সেট রেডিও (পশ্চিমে "জেট গ্রিন্ড রেডিও" হিসাবে প্রকাশিত হয়েছিল)। তার মাত্র এক-দু'মাস পরে মুক্তি পেয়েছিল সেই গেমটি যার জন্য আমি একটি অনুরূপ রেন্ডারিং কৌশল তৈরি করেছি: লুনি সুর: স্পেস রেস । (স্পেস রেসে, আমরা অভিন্ন লাইনের বেধ বজায় রাখতে যথাসাধ্য চেষ্টা করেছি, আর জেট সেট রেডিও অসম লাইন প্রস্থকে তার ভিজ্যুয়াল শৈলীর একটি বড় অংশ করেছে)।

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

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

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

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

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

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


তত্ত্ব এবং আকর্ষণীয় উদাহরণ উভয় সহ +1 উজ্জ্বল উত্তর
মাইক সেমদার

দুর্দান্ত উত্তর, সময়টি লেখার জন্য আপনাকে ধন্যবাদ।
প্রফুল্ল বগ

1

আপনি যে বিষয়ে কথা বলছেন তা হ'ল নন-ফটোরিয়ালাস্টিক রেন্ডারিং (ওরফে এনপিআর)। একটি রিয়েলটাইম 3 ডি গেমটিতে ফ্র্যাগমেন্ট / পিক্সেল শেডার ব্যবহার করে সম্পন্ন হয়েছে।

এখানে কয়েকটি উদাহরণ দেখতে মাধ্যমে স্ক্রোল করুন: http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html

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