একটি ES সঙ্গে আরও মজা ...
বর্তমানে, আমার কয়েকটি সিস্টেম রয়েছে:
- রেন্ডারার (রেন্ডারেবল অ্যাট্রিবিউট, ট্রান্সফর্ম অ্যাট্রিবিউট)
- গতি (চলনযোগ্য বৈশিষ্ট্য, রূপান্তর বৈশিষ্ট্য, রেন্ডারেবল অ্যাট্রিবিউট [বাউন্ডিং বাক্সগুলির জন্য]])
- ইনপুট (ইনপুট রিসিভার বৈশিষ্ট্য)
- প্রভৃতি
আমি সংঘর্ষ সনাক্তকরণ যুক্ত করছি। আমার প্রথম চিন্তাটি ছিল একটি নতুন সিস্টেম যুক্ত করা যা সংঘর্ষ সম্পাদন করে। এটিকে Motion
সিস্টেম থেকে এই বিচ্ছিন্ন করে রাখা আমার কাছে বোধগম্য যেহেতু যে সমস্ত জিনিস সঞ্চারিত বা অ্যানিমেটেড হয় সেগুলি অগত্যা সংঘর্ষ সনাক্তকরণে অংশ নেয় - ক্যামেরা, কুয়াশা, ইত্যাদি - তবে এটি মনে হয় Collision
এবং Motion
পরস্পর নির্ভরশীল।
যখন Motion
কোনও সত্তা সরানো হয়, তখন রূপান্তরটি বৈধ হওয়া দরকার Collision
এবং আন্দোলনটি বাতিল বা অ্যাডজাস্ট করা (বাউন্স করা, কোনও দেয়ালে থামানো ইত্যাদি)।
বিকল্পটি হ'ল একটি কলিডেবল অ্যাট্রিবিউট তৈরি করা যা কোনও সংঘর্ষের বস্তুর - কেডি-ট্রি, অষ্ট্রি ইত্যাদির রেফারেন্স বজায় রাখে যা একে অপরের সাথে সংঘর্ষে আসতে পারে এমন সংস্থাগুলির মধ্যে ভাগ করে নেওয়া। Motion
সিস্টেম তারপর যে অ্যাট্রিবিউট জন্য চেক, এবং চেক করুন বা আন্দোলন সমন্বয় করার জন্য এটি ব্যবহার করা হবে।
একটি কোড দৃষ্টিকোণ থেকে, এটি একটি গ্রহণযোগ্য সমাধান। যাইহোক, একটি ইসিএস আর্কিটেকচার দৃষ্টিকোণ থেকে, দেখে মনে হচ্ছে এটি একটি যুক্তিযুক্ত Motion
সিস্টেমগুলিতে যুক্তি চাপছে যা একটি Movable
বৈশিষ্ট্যযুক্ত সমস্ত সত্তার ক্ষেত্রে প্রযোজ্য নয় ।
আমিও একটি গতি ভেক্টর সংরক্ষণ পারে Movable
গুণ, এবং Collider
সিস্টেম সমন্বয় Transform
হিসাবে প্রয়োজন, কিন্তু যে মধ্যবর্তী কার্যকারিতা অনুরূপ জড়িত করব Motion
এবং Collider
, বা থেকে একটি কলব্যাক Collider
করার Motion
বাউন্স / প্রতিফলন, ইত্যাদি জন্য সংঘর্ষের অবস্থান এবং পৃষ্ঠ তথ্য সম্পর্কে কিছু তথ্য দিয়ে ।
এটি "বিশেষ কেস হ্যাক" শিরোনামে আসতে পারে তবে আমি এগুলি পরিচালনা করে এমন কিছুদের কাছ থেকে কিছুটা ইনপুট পেতে চাই যা এজন্য একটি টন এজ কোড কোড না তৈরি করে।
প্রশ্ন যখন মনে হয় যে তাদের একে অপরের জ্ঞান প্রয়োজন তখন গতি এবং সংঘর্ষের ব্যবস্থাগুলির মধ্যে আঁটসাঁট মিলন এড়ানো একটি ভাল উপায় কী?