مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

پورٹلز چلائیں، بنائیں اور دریافت کریں: 471 تخلیق کردہ 3D دنیائیں

یہ ٹیوٹوریل بتاتا ہے کہ سورس سے پورٹلز کیسے چلائیں، قابلِ تعیناتی جامد بلڈ کیسے بنائیں، اس کی 471 تخلیق کردہ دنیاؤں میں کیسے جائیں، اور اس کے دنیا، پورٹل، آواز، گرافکس اور انتخابی نظام کو کیسے سمجھیں۔ آپ یہ بھی سیکھیں گے کہ بنیادی کوڈ کہاں موجود ہے اور پروجیکٹ کو وسعت دینے کا طریقہ کیا ہے۔

پورٹلز چلائیں، بنائیں اور دریافت کریں: 471 تخلیق کردہ 3D دنیائیں

پورٹلز کیا ہیں؟

پورٹلز 471 تیار کردہ 3D دنیاؤں کے درمیان ایک خودکار براؤزر پرواز ہے۔ کیمرہ پہلے سے طے شدہ راستے پر چلتا ہے، ایک پورٹل تک پہنچتا ہے اور بغیر کسی کٹ یا دھندلاہٹ کے براہِ راست اگلی جاری دنیا میں داخل ہو جاتا ہے۔ آپ پرواز کو خود نہیں چلاتے، لیکن اس کی رفتار، پیشکش، آواز، گرافکس اور دنیا کے انتخاب کو کنٹرول کر سکتے ہیں۔

مڈونٹر ایکسپریس شام کے وقت برف پوش قصبے سے گزر رہی ہے

یہ منصوبہ JavaScript اور three.js سے بنایا گیا ہے۔ ہر دنیا براؤزر میں اپنی جیومیٹری اور ٹیکسچرز تیار کرتی ہے، جبکہ اس کی آواز پلے بیک کے دوران تخلیق کی جاتی ہے۔ دنیائیں بیرونی 3D ماڈلز، ٹیکسچر تصاویر یا صوتی فائلیں لوڈ نہیں کرتیں۔ یہ منصوبہ ایک جامد سائٹ بھی ہے: اسے اکاؤنٹ، ایپلیکیشن سرور یا ٹریکنگ سروس کی ضرورت نہیں۔

ریپوزٹری 9 نومبر 2026 تک ریلیز s8f کی نمائندگی کرتی ہے۔ اس ریلیز میں تقریباً 1.4 ملین لائنیں JavaScript کی اور 471 دنیائیں شامل ہیں۔

اہم خصوصیات

  • 471 تیار کردہ دنیائیں: اس مجموعے میں جنگلاتی علاقے، شہر، سمندر، اندرونی مقامات، آسمان، اجنبی دنیا کے مناظر، قبل از تاریخ مناظر، فن سے متاثرہ مقامات، ادبی دنیائیں، فلم اور ٹیلی وژن سے متاثرہ مناظر، قدیم عجائبات اور AI کے اندرونی لطیفے شامل ہیں۔
  • بلارکاوٹ پورٹلز: موجودہ دنیا اور پورٹل کے دوسری طرف کی دنیا بیک وقت چلتی ہیں، جس سے کیمرہ کسی عبوری اسکرین کے بغیر گزر سکتا ہے۔
  • طریقہ کار سے تیار کردہ اثاثے: جیومیٹری، ٹیکسچرز اور آواز روایتی دنیا کے اثاثوں کے طور پر لوڈ ہونے کے بجائے براؤزر میں تیار ہوتے ہیں۔
  • خودکار پرواز: ہر دنیا کیمرے کا راستہ اور دورانیہ فراہم کرتی ہے۔ زیادہ تر پروازیں تقریباً 40 سے 50 سیکنڈ جاری رہتی ہیں۔
  • مطابقت پذیر گرافکس: خودکار موڈ گرافکس کارڈ کی بنیاد پر معیار کی سطح کا اندازہ لگاتا ہے اور ہموار حرکت برقرار رکھنے کے لیے ڈرائنگ ریزولوشن کو ایڈجسٹ کرتا ہے۔
  • مقامی ترجیحات: دیکھی گئی دنیائیں، پسندیدہ اور ترتیبات براؤزر اسٹوریج میں محفوظ رہتی ہیں۔
  • گیلری اور سفر: گیلری تمام دنیاؤں کو دکھاتی ہے، جبکہ 20 منتخب سفر مخصوص ترتیب میں منتخب دنیائیں چلاتے ہیں۔
  • جامد تعیناتی: پروڈکشن بلڈ dist میں عام فائلیں بناتا ہے جنہیں جامد ویب ہوسٹ فراہم کر سکتا ہے۔

ضروریات

آپ کو Node.js 18 یا اس کے بعد کا ورژن اور Git درکار ہے۔ براہِ راست سورس پری ویو کے لیے انسٹالیشن یا بلڈ مرحلے کی ضرورت نہیں۔ مخصوص گرافکس کارڈ بہتر ہے، اگرچہ یہ منصوبہ فونز اور پرانے لیپ ٹاپس پر کم معیار کے ساتھ چل سکتا ہے۔

اپنا Node.js ورژن چیک کریں:

node --version

اگر نتیجہ ورژن 18 سے پرانا ہو تو آگے بڑھنے سے پہلے Node.js اپ ڈیٹ کریں۔

پورٹلز کو براہِ راست سورس سے چلائیں

1. ریپوزٹری کلون کریں

git clone https://github.com/emollick/ai-portals.git
cd ai-portals

2. مقامی سورس سرور شروع کریں

npm start

براؤزر میں http://localhost:8000 کھولیں۔ یہ سورس ٹری کو اسی حالت میں فراہم کرتا ہے، اور اس سے پہلے پیکیج انسٹال یا کمپائل کرنے کی ضرورت نہیں۔

سورس پری ویو کی دو متوقع حدود ہیں۔ اس کی گیلری نئی شامل کی گئی دنیاؤں کی شناخت نہیں کر سکتی اور تیار کردہ تفصیلات کا صفحہ نہیں دکھا سکتی۔ پہلی بار آنے پر براؤزر کنسول میں گم شدہ atlas.json فائل کی اطلاع بھی آتی ہے، کیونکہ یہ فائل صرف بلڈ کے عمل کے دوران تیار ہوتی ہے۔

پروڈکشن بلڈ بنائیں اور اس کا پری ویو دیکھیں

بلڈ کی ضروریات انسٹال کریں، تعیناتی پیکیج تیار کریں اور اس کا پری ویو سرور شروع کریں:

npm install
npm run build
npm run preview

تیار کردہ جامد سائٹ dist میں لکھی جاتی ہے۔ اسے دیکھنے کے لیے http://localhost:8001 کھولیں۔

بلڈ منصوبے کی اسکرپٹس کو esbuild سے مختصر کرتا ہے اور صرف تعیناتی کے لیے درکار وسائل بناتا ہے، جن میں شامل ہیں:

  • ہر دنیا اور سفر کے لیے ایک مختصر شیئر پری ویو صفحہ۔
  • ہر دنیا اور اس کی تفصیل کی فہرست والا سادہ صفحہ۔
  • نئی دنیاؤں کا ریکارڈ رکھنے والا گیلری ڈیٹا۔
  • ہوسٹنگ کی کنفیگریشن فائل۔

ریلیز s8f دوبارہ تیار کریں

بلڈ ریلیز اسٹیمپ قبول کرتا ہے۔ ریپوزٹری کی دستاویزات کے مطابق، درج ذیل کمانڈ نے 9 نومبر 2026 کو فعال s8f ریلیز کی فائل بہ فائل اور بائٹ بہ بائٹ نقل تیار کی:

npm run build -- --stamp s8f

ترقی کے دوران عام بلڈ استعمال کریں۔ اسٹیمپ اس وقت استعمال کریں جب آپ کو خاص طور پر ریلیز میٹا ڈیٹا درکار ہو یا دستاویزی ریلیز دوبارہ تیار کرنی ہو۔

بنیادی کنٹرولز اور استعمال

پورٹلز خودکار طور پر پرواز شروع کرتے ہیں۔ آواز ابتدا میں بند ہوتی ہے، اس لیے اگر آپ تیار کردہ ساؤنڈ ٹریک سننا چاہتے ہیں تو S دبائیں۔ کی بورڈ کنٹرولز یہ ہیں:

  • Space: پرواز روکیں یا دوبارہ شروع کریں۔
  • Right Arrow: اگلے پورٹل کی طرف تیزی سے بڑھیں۔
  • S: آواز آن یا آف کریں۔
  • G: زیادہ مستحکم کیمرے اور ہموار افق کے لیے Gentle موڈ فعال کریں۔
  • H: موجودہ دنیا کو پسندیدہ کے طور پر محفوظ کریں۔
  • P: تصویر محفوظ کریں۔
  • I: گیلری، سفر اور تلاش کا انٹرفیس کھولیں۔
  • O: گرافکس، کیمرہ، فن کے انداز، سواری، ساتھی اور دن کے وقت کے اختیارات کھولیں۔
  • F: فل اسکرین موڈ میں داخل ہوں یا اس سے باہر نکلیں۔

ماؤس حرکت دینے سے اسکرین کے نچلے حصے میں ایک کنٹرول بار ظاہر ہوتی ہے۔ اس میں کی بورڈ کنٹرولز سے متعلق بٹنوں کے علاوہ Pace سلائیڈر اور Earthly to Strange سلائیڈر شامل ہیں۔ تنگ ونڈوز میں سلائیڈرز کو اختیارات کے انٹرفیس میں منتقل کر دیا جاتا ہے۔

ایک مفید ابتدائی جائزہ

  1. سورس یا پروڈکشن پری ویو شروع کریں۔
  2. آڈیو فعال کرنے کے لیے S دبائیں۔
  3. ایک مکمل دنیا چلنے دیں تاکہ آپ معمول کے پورٹل عبور کرنے کا مشاہدہ کر سکیں۔
  4. اگر کیمرے کی حرکت ناگوار محسوس ہو تو G دبائیں۔
  5. I سے گیلری کھولیں اور مکمل مجموعے میں تلاش یا براؤز کریں۔
  6. غیر معمولی دنیاوں کے منتخب ہونے کی تعدد پر اثر انداز ہونے کے لیے Earthly to Strange کو ایڈجسٹ کریں۔
  7. جب آپ کو کوئی ایسی دنیا ملے جسے پسندیدہ کے طور پر محفوظ کرنا چاہتے ہوں تو H دبائیں۔

بے رکاوٹ پورٹل کیسے کام کرتے ہیں

ایک قلعے کا پورٹل جس میں خلا میں تیرتی ہوئی چھوٹی سبز دنیا دکھائی گئی ہے

عبور کرنے کے تقریباً ایک سیکنڈ بعد، انجن اگلی دنیا کا انتخاب کرتا ہے۔ یہ دنیا رینڈر کیے گئے فریمز کے درمیان ہر بار چند ملی سیکنڈ میں تیار کی جاتی ہے، پھر جب تک یہ نظروں سے اوجھل رہتی ہے، اس کے شیڈرز اور ٹیکسچرز کو پہلے سے تیار کیا جاتا ہے۔

منزل کوئی ساکن پری ویو نہیں ہوتی۔ ایک دوسرا کیمرہ ہر فریم میں پورٹل کے دہانے کے اندر اگلی چلتی ہوئی دنیا کو رینڈر کرتا ہے۔ کیمرہ دروازے تک پہنچنے سے کچھ دیر پہلے، انجن منزل کو موجودہ دنیا بنا دیتا ہے اور پرواز جاری رہتی ہے۔ اگر تیاری مکمل نہ ہوئی ہو تو موجودہ پرواز کی رفتار کم ہو جاتی ہے اور پورٹل کے سامنے انتظار کرتی ہے۔

دنیاوں کا انتخاب کیسے ہوتا ہے

منتخب کنندہ ان دنیاوں کو ترجیح دیتا ہے جنہیں ملاحظہ کرنے والے نے پہلے نہیں دیکھا۔ کسی وزٹ کی پہلی درجن بھر دنیاوں کے دوران، یہ ان دنیاوں کو ترجیح دیتا ہے جنہیں پروجیکٹ کے جانچنے والے ایجنٹس نے سب سے زیادہ درجہ دیا ہو۔ ہر دنیا کا معیار 1 سے 5 تک کے ایک درجے میں ہوتا ہے، اور یہ درجے طے کرنے میں مدد دیتے ہیں کہ کون سے تجربات ابتدا میں ظاہر ہوں گے۔

منتخب کنندہ تضاد بھی تلاش کرتا ہے۔ یہ عموماً ایسی منزل منتخب کرتا ہے جو موجودہ منظر سے نوعیت، روشنی یا درجۂ حرارت میں مختلف ہو۔ Earthly to Strange کی ترتیب یہ کنٹرول کرتی ہے کہ زیادہ غیر معمولی اندراجات کتنی بار ظاہر ہوں گے۔

پروجیکٹ کی ساخت سمجھیں

اہم ترین فائلیں اور ڈائریکٹریاں یہ ہیں:

  • index.html: ایپلیکیشن کا صفحہ۔
  • src/main.js: کی بورڈ کنٹرولز، اختیارات اور نچلی کنٹرول بار۔
  • src/core: پرواز، پورٹلز، دنیا کا انتخاب، آواز اور گرافکس کے معیار کے نظام۔
  • src/kit: دنیا سازی کے مشترکہ اجزا، جیسے آسمان، پانی، زمین، پودے، جانور، عمارتیں اور اندرونی حصے۔
  • src/worlds: ہر دنیا کے لیے ایک ماڈیول، دنیاوں کی رجسٹری اور ابتدائی ہال۔
  • src/parts: انفرادی دنیاوں میں استعمال ہونے والے مرکزی سیٹ پیسز۔
  • src/extras.js: سواریوں، ساتھیوں اور فنّی طرزوں کی فہرستیں۔
  • src/rides، src/companions اور src/styles: ان اضافی اجزا کے نفاذ۔
  • src/ui: گیلری اور شیئرنگ کا کوڈ، نیز ui.css، جو سائٹ کی واحد اسٹائل شیٹ ہے۔
  • vendor/three: بنڈل کی گئی three.js لائبریری۔
  • thumbs: گیلری کے تھمب نیل تصاویر۔
  • design: دنیا کا متن اور ریلیز آمد کی جدولیں جنہیں بلڈ کے دوران پڑھا جاتا ہے۔
  • tools: بلڈ اسکرپٹ اور مقامی سرور۔

دنیا کے ماڈیول کی ساخت

دنیا src/worlds کے اندر موجود ایک فائل ہوتی ہے۔ اس کا ڈیفالٹ ایکسپورٹ ایک ایسی آبجیکٹ ہوتی ہے جس میں build فنکشن شامل ہوتا ہے۔ دنیا کو src/worlds/index.js میں اس کے عنوان، قسم اور کیپشن کے ساتھ رجسٹر بھی کرنا ضروری ہے، کیونکہ منتخب کنندہ اور گیلری دونوں اسی فہرست کو پڑھتے ہیں۔

build فنکشن تین بنیادی عناصر واپس کرتا ہے:

  • three.js کا ایک منظر۔
  • کیمرے کا راستہ۔
  • پرواز کا دورانیہ۔

زیادہ تر دنیاوں میں مرکزی سیٹ پیس کو src/parts کے اندر موجود ایک الگ فائل میں رکھا جاتا ہے۔ src/kit میں موجود مشترکہ سہولیات دوبارہ استعمال کیے جا سکنے والے اجزا فراہم کرتی ہیں، اس لیے ہر دنیا کو عام مناظر الگ سے نافذ کرنے کی ضرورت نہیں رہتی۔

دنیاوں کا مطالعہ یا توسیع کرنے کا محفوظ طریقہ

  1. src/worlds کے اندر ایسی موجودہ دنیا منتخب کریں جو اس ماحول کی قسم سے مشابہ ہو جسے آپ سمجھنا چاہتے ہیں۔
  2. اس کے امپورٹس کو src/parts اور src/kit تک فالو کریں تاکہ دیکھ سکیں کہ اس کا منظر کیسے جوڑا گیا ہے۔
  3. اس کے ڈیفالٹ ایکسپورٹ اور build فنکشن کا جائزہ لیں تاکہ ریپوزٹری کی حقیقی آبجیکٹ ساخت اور کیمرے کے راستے کے طریقوں کو سمجھ سکیں۔
  4. مطلوبہ عنوان، قسم اور کیپشن کے میٹا ڈیٹا کے لیے src/worlds/index.js میں متعلقہ رجسٹریشن دیکھیں۔
  5. فوری سورس ٹیسٹنگ کے لیے npm start چلائیں۔
  6. تیار ہونے والی گیلری اور شیئرنگ کے وسائل کی تصدیق کے لیے پروڈکشن بلڈ بنائیں۔

یہ ریپوزٹری غیر معمولی طور پر بڑی ہے، اس لیے کسی قریبی موجودہ دنیا کو ڈھالنا غیر دستاویزی APIs کا اندازہ لگانے یا ماڈیول شروع سے بنانے سے زیادہ محفوظ ہے۔

آواز اور گرافکس کا رویہ

آواز کی ترکیب

ہر دنیا کو ایک دھیمی راگ اور کئی گھنٹیاں ملتی ہیں۔ زیادہ تر دنیاوں میں ہوا، پانی، کمرے کی آواز یا خلا کی مسلسل گونج جیسی ہلکی محیطی آواز بھی استعمال ہوتی ہے۔ ایک دنیا دستیاب انیس اثرات میں سے زیادہ سے زیادہ تین تہیں شامل کر سکتی ہے، جن میں بارش، سمندری لہریں، پرندے اور دور کی گھنٹیاں شامل ہیں۔ براؤزر کا آڈیو انجن آڈیو فائلیں لوڈ کرنے کے بجائے یہ آوازیں تیار کرتا ہے۔

خودکار گرافکس معیار

گرافکس کو Auto پر رکھنے سے Portals گرافکس کارڈ کی بنیاد پر مناسب معیار کا اندازہ لگاتا ہے۔ پھر یہ ہموار پرواز برقرار رکھنے میں مدد کے لیے ڈرائنگ ریزولوشن بڑھاتا یا گھٹاتا ہے۔ پرانے لیپ ٹاپ یا فون پر زیادہ demanding ترتیبات آزمانے سے پہلے Auto فعال رکھیں۔

اعلیٰ درجے کی تجاویز

رسائی کے لیے Gentle موڈ استعمال کریں

زیادہ مستحکم کیمرے اور ہموار افق کو برقرار رکھنے کے لیے G دبائیں۔ اگر معمول کی پرواز تکلیف کا باعث بنے تو یہ آزمانے والی پہلی ترتیب ہے۔

ماخذ اور تیار کردہ دونوں ورژنز آزمائیں

تیز رفتار تکراری کام کے لیے ماخذ سرور استعمال کریں، لیکن تعیناتی سے پہلے ہمیشہ dist بلڈ کا جائزہ لیں۔ گیلری کا کچھ ڈیٹا، تفصیلی صفحات، شیئر پری ویوز اور ہوسٹنگ کی ترتیبات صرف بلڈ مکمل ہونے کے بعد موجود ہوتی ہیں۔

صرف منظر کی ظاہری شکل نہیں، پورٹل کی تیاری بھی آزمائیں

کسی دنیا کو عبور کرنے سے پہلے تیار ہونا ضروری ہے۔ دنیا کے کوڈ میں تبدیلی کرتے وقت منزل کے منظر کے ساتھ ساتھ اس کے پورٹل تک پہنچنے کے مرحلے پر بھی نظر رکھیں۔ بھاری جنریشن یا شیڈر کی تیاری انتظار کے دوران پرواز کو سست کر سکتی ہے۔

بار بار دہرائے جانے والے سلسلوں کے لیے سفر استعمال کریں

Portals میں 20 سفر شامل ہیں جو دنیاؤں کو ایک مقررہ ترتیب میں چلاتے ہیں۔ مثالوں میں پانی کا ایک قطرہ شامل ہے، جو اولے کے ذرے سے گہرے سمندر تک لے جاتا ہے، اور زوم آؤٹ، جو ایک زندہ خلیے کے اندر سے شروع ہوتا ہے۔ جب آپ عام منتخب کنندہ کے مقابلے میں زیادہ ہدایت یافتہ تجربہ چاہتے ہوں تو مقررہ سلسلے مفید ہوتے ہیں۔

ذخیرے اور رازداری کی حدود کا احترام کریں

اس ایپلی کیشن کا کوئی بیک اینڈ نہیں اور یہ اکاؤنٹ، ٹریکنگ، پسندیدہ یا ترتیبات کا کوئی ڈیٹا سرور کو نہیں بھیجتی۔ پسندیدہ یا دیکھی گئی دنیا کے رویے کی ڈیبگنگ کرتے وقت یاد رکھیں کہ یہ اقدار براؤزر میں محفوظ ہوتی ہیں۔

تبدیلیاں شائع کرنے سے پہلے لائسنس کا جائزہ لیں

یہ ریپوزٹری CC BY-NC-SA 4.0 کے تحت تقسیم کی گئی ہے، جو انتساب اور اسی لائسنس کے ساتھ غیر تجارتی اشتراک اور ترمیم کی اجازت دیتا ہے۔ three.js اور کچھ مختصر فنکشنز الگ شرائط استعمال کرتے ہیں۔ ترمیم شدہ بلڈ دوبارہ تقسیم کرنے سے پہلے LICENSE اور THIRD-PARTY-NOTICES.txt پڑھیں، خاص طور پر اس لیے کہ README اضافی شیڈر اور یوٹیلیٹی فنکشنز کے ماخذ بھی درج کرتی ہے۔

نتیجہ

Portals طریقہ کار سے تیار کردہ three.js مناظر، ترکیب شدہ آڈیو، موافق گرافکس، پس منظر میں دنیا کی تیاری اور دوہری دنیا کی رینڈرنگ کو یکجا کرتا ہے تاکہ براؤزر میں ایک بلاتعطل سفر تخلیق ہو۔ آپ npm start کے ذریعے فوراً ماخذ کو دریافت کر سکتے ہیں، npm run build سے مکمل قابلِ تعیناتی سائٹ تیار کر سکتے ہیں، اور اس کے فن تعمیر کا مطالعہ یا توسیع کرتے وقت پروجیکٹ کی ساخت اور موجودہ دنیا کے ماڈیولز کو رہنما کے طور پر استعمال کر سکتے ہیں۔