منصوبے کے بارے میں

Prowl ایک اوپن سورس 3D گیم انجن ہے جو خالص C# میں جدید ترین .NET پر لکھا گیا ہے اور MIT لائسنس کے تحت جاری کیا گیا ہے۔ یہ واضح طور پر Unity سے متاثر ہے: یہ ایک جیسا ایڈیٹر اور اسکرپٹنگ API رکھتا ہے، GameObject اور MonoBehaviour کمپوننٹ آرکیٹیکچر استعمال کرتا ہے، اور Unity پروجیکٹس کو منتقل کرنے کو کم سے کم رگڑ کے ساتھ ممکن بنانے کا ہدف رکھتا ہے جبکہ چھوٹا اور حسب ضرورت (KISS) رہتا ہے۔ پروجیکٹ فی الحال 1.0-preview مرحلے میں ہے، ایڈیٹر، رینڈرر، فزکس، آڈیو اور UI کی مکمل از سر نو تحریر کے بعد؛ پرانے ورژن کے پروجیکٹس مطابقت نہیں رکھتے اور کوئی منتقلی کا راستہ نہیں ہے، اور 1.0 سے پہلے مزید تبدیلیاں ممکن ہیں۔ ایڈیٹر اور ورک فلو: ایک مکمل ایڈیٹر Scene View، Hierarchy، Inspector، Project Browser، Console اور Game View فراہم کرتا ہے، جس میں حسب ضرورت کمپوننٹ/پراپرٹی/سین ویو ایڈیٹرز، ٹرانسفارم گیزموس (موو، روٹیٹ، اسکیل)، انڈو/ریڈو، ڈاک ایبل اور ریسائز ایبل پینلز جن میں لے آؤٹ محفوظ رہتا ہے، ڈریگ اینڈ ڈراپ، ملٹی سلیکٹ، تلاش/فلٹرنگ، اثاثہ تھمب نیلز اور 3D پیش نظارے، اینیمیشن کریو اور گریڈینٹ ایڈیٹرز، دوبارہ بائنڈ ایبل شارٹ کٹس، تھیمنگ، ایڈیٹر میں پلے ٹیسٹنگ اور اسکرپٹ ہاٹ ریلوڈنگ شامل ہیں۔ ایڈیٹر انگریزی، جرمن، ہسپانوی، فرانسیسی، اطالوی، جاپانی، کورین، پولش، پرتگالی، روسی، ترکی اور چینی زبانوں میں مقامی ہے۔ مینیجڈ اور نیٹیو پلگ انز اسمبلی ڈیفینیشنز کے ساتھ سپورٹ ہیں۔ رن ٹائم ایڈیٹر سے مکمل طور پر الگ ہے، لہذا گیم اسے براہ راست حوالہ دے سکتی ہے اور بغیر کسی ایڈیٹر ڈیپینڈنسی کے شپ ہو سکتی ہے۔ رینڈرنگ: Silk.NET کے ذریعے OpenGL بیک اینڈ جس میں ایک مخصوص رینڈر تھریڈ اور ایک قابل توسیع پائپ لائن (حسب ضرورت پائپ لائنز سپورٹ) ہے۔ ڈیفالٹ فارورڈ لِٹ پائپ لائن ایک پتلی G-buffer پری پاس (ڈیپتھ، نارملز، موشن، رفنس، میٹالک) استعمال کرتی ہے۔ یہ HDR اور PBR میٹالک ورک فلو پیش کرتا ہے جس میں البیڈو، نارمل، سطح اور ایمیشن میپس؛ میش اور سکنڈ میش رینڈررز جن میں بون اینیمیشن اور بلینڈ شیپس؛ لائن رینڈرر؛ اسپرائٹس جن میں گرڈ، آئیسومیٹرک اور خودکار الفا پر مبنی شیٹ سلائسنگ کے ساتھ اسپرائٹ ایڈیٹر؛ رینڈر ٹیکسچرز اور Texture3D؛ GPU انسٹینسنگ اور فرسٹم کلنگ شامل ہیں۔ لائٹنگ پوائنٹ، اسپاٹ اور ڈائریکشنل لائٹس کو شیڈو میپنگ کے ساتھ کور کرتی ہے، ڈائریکشنل لائٹس کے لیے کیسکیڈ شیڈو میپس (چار تک کیسکیڈز)، پوائنٹ لائٹس کے لیے کیوب میپ شیڈوز اور ڈائنامک پیکنگ کے ساتھ شیڈو اٹلس۔ پوسٹ پروسیسنگ میں HDR ٹون میپنگ (ACES، Reinhard، Uncharted، Filmic، Melon، AgX)، بلوم، FXAA، TAA، SMAA، GTAO، اسٹوکاسٹک SSR، بوکی ڈیپتھ آف فیلڈ، والیومیٹرک فوگ اور سنیمیٹک اثرات شامل ہیں۔ اس کے علاوہ: شفافیت، ریفریکشن/ہیٹ ہیز/فراسٹڈ گلاس کے لیے ڈیپتھ سے آگاہ گراب پاس، پروسیجرل/کیوب میپ/گریڈینٹ اسکائی باکسز، کواڈ ٹری LOD کے ساتھ ٹیرین سسٹم، ہائٹ میپ اور سپلیٹ میپ پینٹنگ، GPU انسٹینسڈ گھاس، LOD فاصلے کے ساتھ درخت رینڈرنگ، سوراخ اور ایک مخصوص ٹیرین ایڈیٹر، نیز GPU انسٹینسڈ پارٹیکل سسٹم جس میں ایمیشن، اوور لائف ٹائم ماڈیولز، کولیشن اور UV اینیمیشن لوکل یا ورلڈ اسپیس میں شامل ہے۔ ایک حسب ضرورت شیڈر زبان #include، ملٹی پاس اور شیڈر کی ورڈز/ویرینٹس کو سپورٹ کرتی ہے؛ UV انریپنگ اور بیکڈ لائٹ پروبس کے ساتھ ایک پروگریسو لائٹ میپر شامل ہے۔ فزکس Jitter Physics 2 استعمال کرتی ہے: باکس، اسفیئر، کیپسول، سلنڈر، کون، کنویکس ہل، میش، ماڈل اور ٹیرین کولائیڈرز؛ سسپنشن اور سلپ پر مبنی گرفت کے ساتھ رے کاسٹ پر مبنی وہیل کولائیڈر؛ بہت سے جوائنٹس اور کنسٹرینٹس (بال ساکٹ، ہنج، ہنج اینگل، فکسڈ اینگل، کون لمٹ، ڈسٹنس لمٹ، ٹوئسٹ اینگل، پرزمیٹک، یونیورسل، پوائنٹ آن لائن، پوائنٹ آن پلین، اینگولر اور لینئر موٹرز)؛ ایک کریکٹر کنٹرولر؛ ٹریگر والیومز؛ کولیشن لیئرز اور LayerMask فلٹرنگ؛ اور رے کاسٹنگ کے علاوہ شیپ کوئری APIs۔ آڈیو MiniAudio استعمال کرتی ہے جس میں مقامی 3D آڈیو بشمول اٹینیویشن اور ڈوپلر، WAV/MP3/OGG/FLAC سپورٹ، ایک ایفیکٹ چین (ڈیلے، ڈسٹورشن، بیکواڈ فلٹر، ریورب، فیزر) اور حسب ضرورت IAudioEffect نفاذ شامل ہیں۔ دیگر سسٹمز: Prowl.Echo کے ذریعے سیریلائزیشن؛ ٹیگز اور لیئرز؛ فوگ اور ایمبیئنٹ لائٹنگ کے ساتھ سینز؛ نیسٹنگ، اپلائی/ریورٹ/بریک انسٹینس اور اوور رائیڈ ٹریکنگ کے ساتھ پریفابس؛ پروجیکٹ سیٹنگز؛ dotnet build کے ذریعے اسکرپٹ کمپائلیشن؛ کمپوزٹس اور پروسیسرز کے ساتھ ان پٹ ایکشن سسٹم، .inputactions اثاثے اور ایک مخصوص ایڈیٹر، ایکشن فیزز اور کی بورڈ/ماؤس/گیم پیڈ بائنڈنگز؛ GameObject پر مبنی UI بشمول ورلڈ اسپیس UI جس میں RectTransform سے چلنے والا لے آؤٹ، بٹن، سلائیڈرز، لے آؤٹ گروپس اور ڈریگ اینڈ ڈراپ ہینڈلرز؛ انسپکٹر کنفیگریبل مستقل کال بیکس کے لیے Prowl Actions؛ اور ایک ریاضی لائبریری جس میں میٹرکس (Float4x4)، کواٹرنینز، Transform2D اور شکلیں جیسے AABB، باؤنڈز، فرسٹم، کون، رے، پلین، لائن سیگمنٹ اور ریکٹ شامل ہیں۔ اثاثہ پائپ لائن GUID پر مبنی حوالہ جات میٹا فائلوں کے ساتھ، امپورٹ کیشنگ اور خودکار ری امپورٹ کے لیے فائل واچنگ، ایٹریبیوٹس کے ذریعے حسب ضرورت امپورٹرز، ڈیٹرمینسٹک GUIDs کے ساتھ سب اثاثے، آگے اور پیچھے ڈیپینڈنسی ٹریکنگ اور تھریڈڈ لوڈنگ استعمال کرتی ہے۔ سپورٹ شدہ فارمیٹس میں ماڈلز GLTF، GLB، OBJ اور FBX؛ ٹیکسچرز PNG، JPG، BMP، TGA، PSD، HDR، DDS اور EXR؛ اور آڈیو WAV، MP3، OGG اور FLAC شامل ہیں۔ بلڈ سسٹم پیکڈ .prowlpak اثاثہ فائلوں کے ساتھ اسٹینڈ ایلون ایپلیکیشنز ایکسپورٹ کرتا ہے، صرف استعمال شدہ اثاثے ایکسپورٹ کرتا ہے، پلیٹ فارم کے لحاظ سے بلڈ پروفائلز اور Windows، Mac اور Linux کے لیے سپورٹ۔ کوڈ بیس رن ٹائم اور ایڈیٹر میں 450+ ٹیسٹوں کے ساتھ یونٹ ٹیسٹ شدہ ہے۔ شروع کرنے کے لیے .NET 10 درکار ہے۔ پری بلٹ 1.0-preview ریلیز دستیاب ہیں، یا ریپوزٹری کلون کی جا سکتی ہے اور Visual Studio 17.8+، VS Code یا Rider میں حل کھولا جا سکتا ہے۔ پروجیکٹ ایڈیٹر اور ایکسپورٹ شدہ بلڈز دونوں کے لیے کراس پلیٹ فارم ہے، اور کمیونٹی سپورٹ Discord سرور کے ذریعے دستیاب ہے۔