Şövalyenin prosedürel olarak oluşturulduğu, kamp ateşi, seçilebilir şövalye eylemleri, kamera ön ayarları, retro HUD ve sentezlenmiş ambiyans sesleri içeren etkileşimli, Three.js tabanlı voxel tarzı gece ormanı kamp sahnesi. Gönderiyi paylaşan kişi, bu istemi ve bir görseli GPT-6 Astra'ya sağladığını belirtiyor.
Kıdemli Yaratıcı WebGL ve Three.js Geliştiricisisiniz. Göreviniz, yalnızca Three.js + WebGL kullanarak tamamen tek başına çalışan bir HTML dosyası (index.html) içinde eksiksiz, üretime hazır ve etkileşimli bir 3B sahne oluşturmaktır
### 1. Görsel Tema ve Sanat Yönetimi
- Atmosfer: Derin bir gece ormanı, sıcak ışık saçan rahat bir kamp ateşi ve kamp alanında dinlenen, yorgun ve yalnız bir şövalye (Dark Souls şenlik ateşi / klasik retro RPG estetiği).
- Estetik: 3B Piksel Sanatı / Voxel / Low-Poly estetiği.
- Gölgelendirme ve Görüntü Sonrası İşleme: Gerçekçi bir 16 bit/32 bit retro görünüm elde etmek için Three.js görüntü sonrası işleme özelliklerini (RenderPixelatedPass veya eşdeğer düşük çözünürlüklü pikselleştirme/dithering efekti) entegre edin.
### 2. Sahne Geometrisi ve Varlıklar (%100 Prosedürel — Harici .gltf/.obj Dosyası Yok)
Tüm varlıklar, dosyanın CORS sorunları olmadan yerel olarak çalışabilmesi için Three.js geometrik ilkel öğeleri (BoxGeometry, CylinderGeometry vb.) ve temel materyaller kullanılarak prosedürel biçimde oluşturulmalıdır.
1. Orman Ortamı:
- Zemin: Prosedürel voxel taşları, mantarlar ve low-poly bitki örtüsü içeren, stilize edilmiş karanlık arazi.
- Ağaçlar: Açıklığı çevreleyerek derinlik ve kuşatılmışlık hissi oluşturacak prosedürel çam/ladin veya blok görünümlü taçlı ağaçlar.
- Gökyüzü ve Işıklandırma: Titreşen voxel yıldızlara sahip, gece yarısı tonlarında koyu bir gökyüzü ve yumuşak gölgeler oluşturan soğuk ay ışığı DirectionalLight.
- Derinlik: Ufuk çizgisini atmosferle harmanlamak için koyu atmosferik renge sahip THREE.FogExp2.
2. Kamp Ateşi:
- Kor halindeki kütükleri ve prosedürel köz parçacıklarını çevreleyen taş çember.
- Ateş Sistemi: Yukarı doğru yükselen animasyonlu pikselli parçacıklar (Points veya titreşen voxel ağları).
- Dinamik Işıklandırma: Sürekli ve doğal bir titreşim mantığına (Math.sin, noise veya sözde rastgele değişimler kullanarak) sahip, sıcak turuncu-kırmızı bir PointLight.
3. Şövalye:
- Baş, gövde, üst/alt kollar, bacaklar, pelerin ve kılıç için gruplardan oluşan hiyerarşik sahne grafiği; voxel biçimli ilkel öğeler kullanılarak oluşturulmalıdır.
- Görsel ayrıntılar: Yarık açıklıklı miğfer, göğüs zırhı, omuz zırhları, eldiven zırhları ve kın/kılıç.
- Temiz prosedürel dönüş animasyonları için pivot noktaları eklemlerde (omuzlar, dirsekler, kalçalar, dizler) doğru hizalanmalıdır.
### 3. Etkileşimli Şövalye Durum Makinesi
Aşağıdaki seçilebilir durumlar için oluşturma döngüsü içinde lineer enterpolasyon (lerp) veya trigonometrik eğriler kullanarak akıcı prosedürel animasyonlar uygulayın:
- Ateşin Yanında Otur (Varsayılan Boşta): Bağdaş kurarak veya çömelerek oturur, hafif nefes alma döngüleri gerçekleştirir ve ellerini alevlerin yanında ısıtır.
- Odun Ekle: Şövalye ayağa kalkar, bir kütük alır ve ateşin üzerine atar. Ateş görünür biçimde alevlenir, ışık yarıçapını geçici olarak genişletir ve bir kıvılcım patlaması yayar.
- Kılıç Talimi: Ayağa kalkar, kılıcını çeker, temiz bir 3 parçalı saldırı/savunma rutini gerçekleştirir ve savaş gardına geri döner.
- Uzağa Bak: Açıklığın kenarına yürür, kılıcını yere saplar ve pelerin sallanırken karanlığa doğru bakar.
- Uyu: Ateşin yanında bir yatağın üzerine uzanır; miğferinden yüzen, animasyonlu pikselli “Z z z” parçacıkları yükselir.
- Et Kızart: Yiyecek takılı bir çubuğu alevin üzerinde tutar; hafif prosedürel duman/buhar parçacıkları yayar.
### 4. Kamera Sistemi
Konum ve hedefi yumuşak geçiş enterpolasyonuyla (lerp) değiştiren ön ayarlı kamera geçişleri sunun:
- Sıcak Yakın Plan: Şövalyeye ve ateş ışığına odaklanan orta plan.
- İzometrik RPG: Açıklığın klasik, yüksekten 45 derecelik taktik görünümü.
- Sinematik Zemin: Yıldızlı gökyüzü ve çam ağaçlarının taçları önünde şövalyeye aşağıdan yukarı bakan, alçak açılı dramatik çekim.
- Serbest Yörünge: Etkileşimli inceleme için standart OrbitControls'a kesintisiz geçiş.
### 5. Kullanıcı Arayüzü ve Ses
- Arayüz Stili: Yarı saydam koyu paneller, pikselli kenarlıklar ve gömülü bir Google Font (ör. 'Press Start 2P') kullanan retro 8 bit/16 bit RPG HUD düzeni.
- Alt Panel: Her şövalye durumunu tetikleyen etkileşimli eylem düğmeleri.
- Sağ Üst Panel: Kamera açısı değiştirme düğmeleri.
- Odun Sayacı: Eklenen kütükleri ve mevcut ateş yoğunluğunu takip eder.
- Ses (Web Audio API): Prosedürel olarak sentezlenmiş ateş çıtırtısı ve gece esintisi/cırcır böceği ambiyansı; sesi açma/kapatma düğmesiyle birlikte.
### 6. Teknik Özellikler
- Tek ve kendi içinde çalışan index.html dosyası.
- CDN üzerinden yüklenen ES Modules kullanın (https://t.co/W8o3SZwkCj veya unpkg).
- Modüler, iyi yorumlanmış kod yapısı (initScene, buildEnvironment, buildKnight, buildCampfire, setupUI, setupAudio, animate).
- Kamera en-boy oranını ve pikselleştirme geçişinin çözünürlüğünü güncelleyen pencere yeniden boyutlandırma işleyicisiyle tamamen duyarlı yapı.
Bu istem nasıl kullanılır?
01
Doğru araçla başla
Tercih ettiğin kodlama asistanını veya 3D aracını aç. Örnekte belirtilen modeli başlangıç noktası olarak kullan ve bağlantılı projelerin kurulum talimatlarına bak.
02
Değiştireceğin bir şey seç
Konuyu, görsel tarzı veya ortamı değiştir. Kamerayı ve etkileşimi net tanımla. Önce küçük bir sürüm oluştur, sonra ayrıntıları tek tek iyileştir.
03
Sahneye özgün öğeler ekle
Özel bir karakter veya nesne için kısa bir nesne açıklamasından ya da referans görselden 3D model oluştur ve projene aktar.
Önizlemeler ilgili üreticilere aittir. Kodu veya varlıkları yeniden kullanmadan önce özgün kaynağı ve proje lisansını kontrol et.