প্রতিবেশী টাইলগুলির পৃথক পৃথক উচ্চতা সহ টাইল মানচিত্র / ভূখণ্ডের প্রয়োগ


10

হোই!

আমি টাইল মানচিত্র সম্পর্কে কিছু তথ্য খুঁজছি বা বরং, নির্দিষ্ট ধরণের টাইল মানচিত্রকে কী বলা হয়।

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

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

আমি কেবল গুগল অনুসন্ধান করার জন্য সঠিক পদগুলি অনুসন্ধান করার চেষ্টা করছি এবং কোন পথে এগিয়ে যেতে হবে তা স্থির করতে সহায়তার জন্য সংস্থানগুলির জন্য স্ট্যাকওভারফ্লো।

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

আমার কি নির্দিষ্ট ধরণের প্রয়োগের সন্ধান করা উচিত? আমি ভেবেছিলাম যে আমি যখন ভেক্টর ক্ষেত্রের অঞ্চলে তথ্যগুলি একটি ন্যায্য পরিমাণ পেয়েছি তখন আমি এটি ক্র্যাক করব তবে আমি নিশ্চিত নই যে এটির দ্বারাও সঠিক ফলাফল পাওয়া যাবে।

যদি কেউ আমার জন্য এই বিষয়ে কিছু আলোকপাত করতে পারে তবে দয়া করে সহায়তার প্রশংসা করা হবে :)

হালনাগাদ

আমি কী অর্জন করতে চাই তা সম্পর্কে আরও স্পষ্টতার জন্য একটি চিত্র আমি অন্তর্ভুক্ত করেছি:

2.5 ডি টাইল মানচিত্র

প্রতিচ্ছবি (উচ্চতা) আইসোমেট্রিক টাইলস কীভাবে তৈরি করবেন তা থেকে ধার নেওয়া চিত্র orrow

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

  • জলের (চিত্রের উপরের বাম) মতো 'স্তরগুলি কীভাবে পানির নীচে দৃশ্যমান স্থলটি অন্তর্ভুক্ত করতে পরিচালনা করা হবে?
  • কীভাবে মানচিত্রের "প্রান্তগুলি" প্রস্তুত করা হবে যাতে পৃথিবী / কাদাটি পৃথিবীকে একটি ফ্ল্যাটহীন সত্তা হিসাবে চিত্রিত করার জন্য উপস্থাপিত হয়?
  • এই ধরণের ভূখণ্ডের অন্তর্নিহিত স্টোরেজটি কী পদার্থবিদ্যার মডেল হিসাবে ব্যবহার করা যেতে পারে যেমন একটি বল একটি পাহাড়ের নিচে ঘূর্ণায়মান বা কোনও traাল পেরিয়ে কোনও খেলোয়াড়ের গতির গতি?

আমার ধারণা ছিল যে এই ভূখণ্ডের প্রতিটি টাইল 8 টি টি শীর্ষে মডেল করা যেতে পারে যেখানে 4 টি প্রধান উল্লম্ব প্রকৃত টাইলটি নিজেই .েকে দেয় এবং বাকী 4 টি উল্লম্ব প্রতিটি টাইলের পাশ / দেয়াল মডেল করার জন্য ব্যবহৃত হয়। এই বাস্তবায়নের সাথে আমি যে দুটি সমস্যা দেখছি তা হ'ল: ক) বিশ্বের মানচিত্রটি মূলত আকারে দ্বিগুণ হয় এবং খ) যে সমস্ত টাইলগুলি "দেয়াল" অন্তর্ভুক্ত করবে না, কিছু টাইলগুলি অপ্রয়োজনীয় উল্লম্বগুলি দিয়ে শেষ হবে যা ব্যবহৃত হয় না।

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

আমি এই ধারণার অধীনে রয়েছি যে আমি হয় অতিরিক্ত জটিলতা ফেলেছি বা বিশ্লেষণ-পক্ষাঘাতের মধ্যে চলেছি যেটিতে আমি কী চাই তা কীভাবে অর্জন করব তার স্পষ্ট ধারণা না নিয়েই সমস্যার সমাধানের জন্য আমি কোনও কোড লেখার অবহেলা করছি।

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

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

পড়ার জন্য ধন্যবাদ!

উত্তর:


2

আমি যদি আপনি থাকতাম আমি ভক্সেলগুলিতে সন্ধান করতাম, বিশেষত মাইনক্রাফ্ট- টাইপ কিউব রেন্ডারিং। উচ্চতা ম্যাপগুলির বিপরীতে, তারা ওভারহ্যাঙ্গস, গুহাগুলি, একাধিক তল সহ বিল্ডিং ইত্যাদি পরিচালনা করতে পারে

আপনি আপনার অঞ্চলটি একটি 3 ডি অ্যারে পূর্ণসংখ্যার মধ্যে সংরক্ষণ করবেন, যেখানে কয়েকটি নির্দিষ্ট অঞ্চলে নম্বরগুলি ম্যাপ করা হয়: 0 = বায়ু, 1 = ময়লা, 2 = জল ইত্যাদি Then প্রতিটি খালি খালি ভক্সেলের জন্য কিউবের মুখগুলি তৈরি করুন।

এই টিউটোরিয়ালটি Ogre3D ব্যবহার করে সি ++ এ কীভাবে করবেন তার দুর্দান্ত ব্যাখ্যা। আমি ধারণা করছি আপনাকে ওপেনগিএলে আরও কিছুটা নিম্ন-স্তরের যেতে হবে।

কিউব তৈরির পরে, আপনি আপনার ইমেজে প্রদর্শিত ধরণের তরল অঞ্চল তৈরি করতে প্রান্তগুলি মসৃণ করতে চান। আমি বিশ্বাস করি পলিভক্স (সি ++ তেও) এটি করে; আপনি তাদের কোডটি একবার দেখে নিতে পারেন। আমি মনে করি আপনি মূলত 3 ডি তে যা করেন যা চিত্রটি 2D তে দেখায়: প্রতিটি পার্শ্ববর্তী স্থানটি কোথায় রাখবেন তা জানতে পার্শ্ববর্তী ঘনক্ষেত্রের অবস্থানগুলি গড়ে গড়ে নিন।

সম্পাদনা করুন:

  • জলের সংলগ্ন কিউবগুলির জন্য মুখগুলি তৈরি করুন যেন জলের টালি খালি ছিল এবং জলকে স্বচ্ছভাবে উপহার দিন।
  • আপনি যদি বিশ্বের বাইরের ভক্সেলকে খালি মনে করেন তবে "প্রান্তের" মুখগুলি নিয়মিত মুখের মতোই তৈরি করা যেতে পারে।
  • পদার্থবিজ্ঞান: আপনি সম্ভবত আপনার পদার্থবিজ্ঞানের ইঞ্জিনকে স্ট্যাটিক অবজেক্ট হিসাবে রেন্ডার করা জাল খাওয়াতে পারেন।
  • মানচিত্র সম্পাদক: আপনি অন্তর্নিহিত ভক্সেল ডেটা সম্পাদনা করতে চান, নিজেই জাল নয়! (জাল ডেটাটি আয়না করা উচিত, সুতরাং ভক্সেলগুলি সম্পাদনা করা আপনার জাল পরিবর্তন করতে পারে।) আপনি যদি মডেল, ভিউ, কন্ট্রোলার (এমভিসি) এর সাথে পরিচিত না হন তবে আপনি সন্ধান করতে পারেন।

আপনার যদি আরও প্রশ্ন থাকে তবে নির্দ্বিধায় কোনও মন্তব্য করুন। গেমদেব.এসই তে স্বাগতম!


এটি একটি খুব জটিল সমাধান যা তুলনামূলক সহজ সমস্যার জন্য। ভক্সেলের জটিলতা ছাড়াই প্রচুর গেমস ওপি যা জিজ্ঞাসা করছে তা করেছে।
শান মিডলডিচ

আমি মানি ভক্সেল জটিল হতে পারে। আপনি কি এই গেমগুলির সাথে লিঙ্ক করবেন? তারা এটি কীভাবে করেছে তা শুনতে আমি আগ্রহী।
ওয়্যাকিদেব

আমি ভক্সেল ব্যবহার করার ধারণাটি নিয়ে কাজ করছিলাম। এই প্রয়োগটি কি বোঝাবে যে সমস্ত কিউব একক মাত্রার, বা একটি একক কিউবকে বের করে দেওয়া যেতে পারে? আমি অনুমান করছি যে পৃথিবীতে জল এবং অন্যান্য টাইলস যা ওয়াই-প্লেনের সাথে "ওভারল্যাপ" করতে পারে তার জন্য স্তরগুলিতে সংরক্ষণ করা দরকার।
ক্যাপ্টেনরেডমফ 16'12

হ্যাঁ, সাধারণত ভক্সেলগুলি ইউনিটের আকারের হয়। আমি মনে করি কেউ এগুলি বহন করতে পারে তবে আমি মনে করি এটি এটিকে আরও জটিল করে তুলবে। আমি নিশ্চিত নই যে স্তরগুলি সম্পর্কে আপনি কী বোঝাতে চাইছি তা আমি বুঝতে পারি। আপনি কি জল টাইলগুলি পরিবর্তনশীল উচ্চতার বলে উল্লেখ করছেন?
ওয়্যাকিদেভ

এই লাইন বরাবর কিছু। আমি কেবল একটি "তল" সংজ্ঞায়নের বিষয়ে আরও ভাবছিলাম যা একটি বাহ্যিক ঘনক্ষেত্র হতে পারে যা তারপরে বিমানের দ্বারা সংজ্ঞায়িত শীর্ষে একটি জল ঘনক্ষেত্র যেখানে দুটি ছেদ করে দেয়। সম্ভবত আমি আবার জিনিস জটিল। আমি ভক্সেলগুলিতে আরও কিছু পড়ব এবং এটি আমাকে কোথায় নিয়ে যাবে তা দেখতে পাব।
ক্যাপ্টেনরেডমফ

6

এটি: http://30.media.tumblr.com/tumblr_m06qv6OREt1r2qjpao1_500.png একটি মানচিত্রের উদাহরণ যা আমি কিছুক্ষণ আগে করেছি।

আমার কাছে একটি এক্সএমএল ছিল যা মানচিত্র এবং বিভিন্ন ধরণের টাইল উপস্থাপন করে। প্রতিটি ধরণের কয়েকটি বৈশিষ্ট্য থাকবে:

  • উচ্চতা
  • অবস্থান
  • মার্জ প্রকার: এই টাইলটি মার্জ করার কোন ধরণের কাজটি করবে ALL(এটি যদি এর আশেপাশের কোনও টাইলের সাথে একত্রীভূত হয়), EQUAL(কেবল একই ধরণের টাইলগুলির সাথে একত্রীকরণ করা হবে), NONE(কখনও একত্রিত হবে না)।
  • উচ্চতা মার্জ করুন: opালুগুলির জন্য সর্বোচ্চ উচ্চতা (ওভারহ্যাংগুলির পক্ষে ভাল), আসুন আমরা বলি যে আপনি একটি টাইল কেবল একই টাইটের সাথে টাইলগুলির সাথে একত্রিত করতে চান বা 1 এর পার্থক্যের জন্য মানটি এক হবে।

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

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

পদার্থবিদ্যা সম্পর্কে, আপনার লক্ষ্য উপর নির্ভর করে। আপনি যদি রোলারকোস্টার টাইকুনের মতো কিছু করে থাকেন তবে আপনার সত্যিকারের এগুলির দরকার নেই। আপনি প্রতিটি টাইলের মধ্যে কেবল প্লেয়ারের উচ্চতা পরীক্ষা করতে পারেন এবং হাঁটার গতি স্থির করতে পারেন। আপনি নিজের মতো করে চলে যাওয়া কোনও বস্তুর জন্যও (বলের মতো) একই কাজ করতে পারেন, আপনি প্রায় টাইলগুলি (বা বর্তমান টাইল কোণ) পরীক্ষা করতে পারেন এবং একটি দিক / গতি স্থির করতে পারেন। আপনার যদি বাস্তববাদী পদার্থবিজ্ঞানের প্রয়োজন হয় (যেমন মাধ্যাকর্ষণ, ঘর্ষণ ইত্যাদি) আপনার একটি পদার্থবিজ্ঞান ইঞ্জিন ব্যবহার করতে হবে এবং আপনি ইঞ্জিনে কিউব 3 ডি উপস্থাপনা ব্যবহার করতে পারেন।

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

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


এটি আপনার ইনপুট জন্য ধন্যবাদ। আমি "জল বসন্ত" যা আমি আগে বিবেচনা করি নি সে সম্পর্কে লেয়ারিং সম্পর্কে একটি ভাল বক্তব্য উত্থাপন। আমি এখন ফ্লাইতে ভিবিওর সংশোধন করব যা আমি জানি এটি সম্ভব: :)
ক্যাপ্টেন রেডমফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.