← DerslerCatchlight ve göz ışığıSeviye 118 dk
1 / 11

Anlatım

Bu motorda kornea yok

Ders 64 duvarın kendi gradyanını ölçtü. Bu ders arkadan öne, göze dönüyor: gözdeki yansımanın (catchlight) konumu, o ışığı yaratan kaynağın konumunu okutur.

Ama şunu baştan söylemek gerekiyor: bu motor gözün ıslak yüzeyinde bir speküler render YAPMIYOR. Render motoru ile ölçüm motoru ayrı (CLAUDE.md §2) — kornea bir render sorunu, bu motor yalnızca analitik ölçüm yapıyor. Ölçtüğü şey ışığın kameraya göre azimut ve yüksekliği — ders 63'te flare riski için kullandığımız `lightAzimuthRelativeToCamera`/`lightElevationDeg` fonksiyonları, burada FARKLI bir soruya cevap veriyor.

Temel ayna optiği basit: geliş açısı = yansıma açısı. Göz ileri bakan bir yüzey olduğu için, yalnız ÖN YARIKÜREDEKİ (kameraya göre |azimut| < 90°) bir kaynak geri yansıyabilir — bu bir motor hesabı değil, geometrik bir zorunluluk. Bu eşik ders boyunca açıkça bir SEZGİSEL TANIM olarak kullanılacak, motorun kendi bayrağı değil.

Standart anahtar (45° azimut, 32° yükseklik) zaten ön yarıkürede — yani hiçbir ek ışık eklemeden bile bir catchlight vaat ediyor.

Sözlük

Göz ışığı yansıması (Catchlight)
Kaynağın gözün ıslak yüzeyindeki yansıması. Boyutu ve biçimi doğrudan kaynağın boyutunu ve biçimini gösterir.Sık yapılan hata: Catchlight'ın boyutu kaynağın gücüne değil, görünen boyutuna bağlıdır.
Ten tonu (Skin tone)
Öznenin cildinin ışığı geri yansıtma oranı ve speküler karakteri. Aynı rig farklı tende farklı çalışır.Sık yapılan hata: Klasik pozlama tabloları açık tenler varsayılarak yazılmıştır; diğer tonlarda doğrudan uygulanırsa yanlış sonuç verir.

Sette

Sette catchlight bir ölçüm değil bir gözlemdir — monitörde ya görünür ya görünmez, ve bu motorun sana söyleyemeyeceği tek şey de budur. Konum konusunda güvenebileceğin sezgi şu: kameraya yakın açılar (küçük azimut) neredeyse garanti bir yansıma verir, kameradan uzak açılar (büyük azimut, özellikle 90°'nin üzeri) vermez. Çoklu kaynak kullanıyorsan her birinin ayrı bir yansıma bırakacağını varsay; istemiyorsan ya kaynak sayısını azalt ya da fazlasını flag'le kapat. Sıradaki ders bu bölümün son durağı: ten tonuna göre ayrım stratejisi — buraya kadar tek tek gördüğün üç katmanın (rim/kicker, arka plan, catchlight) koyu tende neden farklı çalıştığını topluyor.

Kaynakça

  • docs/CURRICULUM.md §7b — Bölüm 3, Ders 65
  • engine/scene/geometry.ts — lightAzimuthRelativeToCamera, lightElevationDeg (ders 63 ile aynı fonksiyon, farklı soru)
  • content/lessons/lessons-anahtar.ts — ders 60: subject.glasses/glassesAngleDeg ölçüm hattında okunmuyor (aynı sınırın önceki örneği)
  • types/scene.ts — SubjectState: göz rengi/iris için hiçbir alan yok
  • engine/explain/explain.ts — ADD_LIGHT açıklamasında "catchlight" yalnız düz metin, hesaplanan bir değer değil
3D görünüm yükleniyor…