প্রকল্প সম্পর্কে

Avian হলো Bevy গেম ইঞ্জিনের জন্য বিশেষভাবে ডিজাইন করা একটি ECS-চালিত 2D ও 3D ফিজিক্স ইঞ্জিন। এটি কোনো বিদ্যমান ইঞ্জিনের র্যাপার নয়, বরং Bevy-এর Entity Component System-কে কেন্দ্রে রেখে শুরু থেকে তৈরি, তাই ফিজিক্স স্টেট গেমের বাকি এনটিটিগুলোর মতোই একই ওয়ার্ল্ডে থাকে। ডিজাইন নীতিমালা - Bevy দিয়ে, Bevy-এর জন্য তৈরি, বিদ্যমান ইঞ্জিনের কোনো র্যাপার নেই। - সহজ ও পরিচিত API। - আলাদা ফিজিক্স ওয়ার্ল্ডের বদলে ECS-এর ব্যাপক ব্যবহার। - মডুলার প্লাগইন আর্কিটেকচার, ফলে ইঞ্জিনের অংশগুলো প্রতিস্থাপন করা যায়। - ডকুমেন্টেশনে বিশেষ গুরুত্ব। ফিচার - রিজিড বডি: ডাইনামিক, কাইনেমেটিক ও স্ট্যাটিক, সাথে লিনিয়ার ও অ্যাঙ্গুলার ভেলোসিটি, বাহ্যিক বল, টর্ক ও ইম্পালস, গ্র্যাভিটি ও গ্র্যাভিটি স্কেল, লিনিয়ার ও অ্যাঙ্গুলার ড্যাম্পিং, অ্যাক্সিস লকিং, রিজিড বডি ডমিনেন্স, কন্টিনিউয়াস কোলিশন ডিটেকশন (CCD), এবং স্লিপিংয়ের মাধ্যমে স্বয়ংক্রিয় নিষ্ক্রিয়করণ। - Parry-চালিত কোলিশন ডিটেকশন: কনফিগারযোগ্য কোলিশন লেয়ার, ডেনসিটি ও ম্যাটেরিয়াল প্রপার্টিসহ কোলাইডার; মেশ ও সম্পূর্ণ সিনের জন্য কোলাইডার জেনারেশন; কোলিশন ইভেন্ট; কোলাইডিং এনটিটিতে অ্যাক্সেস; কোলিশন ফিল্টারিং ও পরিবর্তনের জন্য কোলিশন হুক; ম্যানুয়াল কন্ট্যাক্ট কোয়েরি ও ইন্টারসেকশন টেস্ট। - কনস্ট্রেইন্ট ও জয়েন্ট: বিল্ট-ইন ফিক্সড, ডিস্ট্যান্স, প্রিজম্যাটিক, রিভোলিউট ও স্ফেরিক্যাল জয়েন্ট, সাথে XPBD ব্যবহার করে কাস্টম জয়েন্ট ও কনস্ট্রেইন্টের সমর্থন। - স্পেশিয়াল কোয়েরি: রে-কাস্টিং, শেপ-কাস্টিং, পয়েন্ট প্রজেকশন ও ইন্টারসেকশন টেস্ট, সাথে কম্পোনেন্ট-ভিত্তিক API, একটি নমনীয় SpatialQuery সিস্টেম প্যারামিটার ও কোয়েরি ফিল্টার। - ফিক্সড টাইমস্টেপের জন্য ট্রান্সফর্ম ইন্টারপোলেশন ও এক্সট্রাপোলেশন। - কোলাইডার, AABB, কন্ট্যাক্ট, জয়েন্ট ও স্পেশিয়াল কোয়েরির জন্য ডিবাগ রেন্ডারিং। - কনফিগারযোগ্য শিডিউলিং, উচ্চ কাস্টমাইজেবিলিটি, মডুলার প্লাগইন, কাস্টম কোলিশন ব্যাকএন্ডের সমর্থন, এবং f32/f64 প্রিসিশন (ডিফল্টভাবে f32)। ব্যবহার Cargo.toml-এ avian2d বা avian3d যোগ করুন, Bevy-এর DefaultPlugins-এর পাশে PhysicsPlugins রেজিস্টার করুন, তারপর RigidBody, Collider, AngularVelocity ও Transform-এর মতো কম্পোনেন্টসহ এনটিটি স্পন করুন। README-তে একটি সম্পূর্ণ 3D উদাহরণ রয়েছে, যেখানে একটি ঘূর্ণায়মান কিউব একটি স্ট্যাটিক সিলিন্ড্রিক্যাল প্ল্যাটফর্মের উপর পড়ে। উদাহরণ ও সংস্করণ অসংখ্য 2D ও 3D উদাহরণ crates/avian2d/examples এবং crates/avian3d/examples-এর অধীনে রয়েছে। এগুলো f32 ও f64 উভয় প্রিসিশন সমর্থন করে; f64-এর জন্য ডিফল্ট ফিচার নিষ্ক্রিয় করে ডাইমেনশন ও প্রিসিশন ম্যানুয়ালি নির্বাচন করতে হয়। একটি সংস্করণ টেবিল Bevy রিলিজের সাথে Avian রিলিজের ম্যাপিং দেয় (যেমন Bevy 0.19-এর সাথে Avian 0.7), এবং মাইগ্রেশন গাইড দেওয়া আছে। Avian হলো Bevy XPBD-এর উত্তরসূরি। কমিউনিটি ও লাইসেন্স ইস্যু ও পুল রিকোয়েস্টের মাধ্যমে অবদান স্বাগত, সাথে প্রথমে পর্যালোচনার জন্য একটি AI নীতি রয়েছে। ডেভেলপমেন্ট আলোচনা হয় Avian Dev Discord ও Bevy Discord-এ। প্রকল্পটি ব্যবহারকারীর ইচ্ছানুযায়ী MIT বা Apache-2.0-এর অধীনে ডুয়াল-লাইসেন্সড।