holodepth

3D Modelleme Araçları · Blender → Web pipeline

Collection / Empty → Sahne Grafı: Outliner'dan Runtime'a

Blender Outliner'ı yazarlık haritasıdır; glTF node ağacı runtime haritasıdır. Bu sayfa Collection üyeliği ile parent zincirini ayırır, Empty'yi bilinçli düğüm yapar ve «teslim koleksiyonu»nu web sahne grafına kilitleyen sözleşmeyi kurar. Principled → glTF PBR materyal pasaportunu kapattı; burada kim kimi taşır sorusu vardır.

Holodepth bu yaprağı glTF nodes / children şema turu veya Three.js Object3D API'si olarak yazmaz. Bakış açısı: Outliner'da nasıl örgütlendiğiniz, export sonrası sahnede hangi hiyerarşinin yaşadığı. Collection bir «klasör» gibi görünür ama her klasör otomatik node olmaz; Empty bir «boş» gibi görünür ama çoğu zaman en önemli pivot düğümüdür.

Sayfayı bitirdiğinizde şu cümleyi kurabilmelisiniz: «Collection üyeliği parent değildir. Teslim koleksiyonu isim sözleşmesidir. Empty bilinçli kök / socket olabilir. Instance ve helper kirliliği grafı şişirir. Düz vs derin hiyerarşi web niyetine göre seçilir. Graf profili ticket'tadır. Node teorisi glTF Sahne Verileri'ndedir. Sonraki kapı web için mesh temizliktir.»

Bu sayfanın sınırı · komşu konularla ayrım

Bu sayfa Blender Collection / Empty → web sahne grafı yazarlık disiplinini anlatır:

  • Outliner vs runtime iki harita
  • Üyelik ≠ parent
  • Empty düğüm rolleri
  • Teslim koleksiyonu · instance · helper
  • Graf profilleri

Bilinçli olarak dışarıda bırakılan konular:

Kısa ayrım: Bu sayfa «Outliner'ı nasıl yazarım?» · Node Hiyerarşisi «pakette node nasıl durur?» · Exporter «hangi koleksiyon kutuya girer?» · Cetvel «kök Empty scale kaç?».

İki harita: yazarlık ve runtime

Outliner'da Collection'lar sahneyi insan için düzenler: Lighting, Helpers, Deliver_Hero, Archive. Runtime glTF grafı ise loader'ın gezebileceği parent/child ağacıdır. Holodepth uyarısı: bu iki harita otomatik özdeş değildir. Güzel Outliner, çöp runtime üretebilir; dağınık Outliner bazen şaşırtıcı derecede düzgün tek kök node basabilir.

Klasör düzeni sahne grafı değildir; parent zinciri sahne grafıdır.

Stüdyo sorusu: «Web'de bu asset'i hangi kökten tutacağız?» Cevap Outliner rengine değil, parent / Empty / Armature köküne yazılır.

Collection üyeliği ≠ parent

Bir mesh aynı anda bir Collection'da görünüp başka bir objeye parent olabilir. Export sonrası runtime'da yaşayan ilişki çoğunlukla parent / children zinciridir; Collection üyeliği «bu export kapsamına gir» filtresine daha yakındır.

Holodepth disiplini:

  • Kapsamı Collection ile daraltın (teslim seti)
  • Hiyerarşiyi parent / Empty ile kurun (runtime seti)
  • İkisini aynı şey sanmayın

«Hepsi Deliver koleksiyonunda, ama parent yok» → düz liste node'lar. «Parent var, ama Active Collection yanlış» → boş veya eksik paket. Exporter Include satırı panodadır; burada yazarlık ayrımı vardır.

Empty: boş değil, bilinçli düğüm

Empty mesh taşımaz; bu yüzden stüdyoda «önemsiz» sanılır. Web'de ise sıkça en değerli düğümdür: ürün kökü, socket (weapon_attach), LOD anahtarı, animasyon hedefi. Holodepth Empty'yi üç rolle okur:

  1. Kök Empty: asset'i runtime'da tek transform'dan tutmak
  2. Socket Empty: ekipman / FX bağlama noktası (isim sözleşmeli)
  3. Helper Empty: ölçü, ışık hedefi, geçici hizalama: teslimde çoğu zaman dışarıda kalmalı

Kök Empty'nin scale'i cetvel sayfasındaki gizli çarpandır; burada rol tanımı vardır. İsimsiz «Empty.001» socket'i runtime'da bulunamaz; isimlendirme stüdyo adlandırma sözleşmesi ile kesişir, bu yaprakta minimum kural: teslim Empty'si ticket adıyla aynı kökü taşır.

Teslim koleksiyonu sözleşmesi

Holodepth stüdyolarına sabit bir Outliner alışkanlığı önerir: sahne içinde Deliver_* (veya eşdeğeri) adlı koleksiyon, yalnızca web'e gidecekleri tutar. Lighting_Lab, Refs, Archive ayrı kalır. Exporter Active Collection / Visible bu sözleşmeye oturur.

  • Deliver adı asset kartı / ticket ile hizalı olsun
  • İçine helper ve lab ışığı sokmayın
  • Bir sahgede birden fazla Deliver varsa hangisinin export edildiği yazılı olsun

Teslim koleksiyonu çöp kutusu değildir; gümrük kapısındaki yolcu listesidir.

Instance ve linked: çoğalan sürpriz

Collection Instance / linked library Blender'da sahneyi hafif tutar; export'ta ise geometri çoğalabilir, dönüşüm çift binebilir veya beklenen tek kök kaybolabilir. Holodepth web tesliminde: instance'ı ya bilinçli «realize / make real» ile teslim kopyasında çözün, ya da exporter'ın instance davranışını preset notuna yazın. «Viewport'ta bir tane var» runtime'da on tane demektir bazen.

GPU instancing extension teorisi glTF Extensions izleğindedir; burada yazarlık tuzağı vardır.

Helper kirliliği: graf şişmanlığı

Ölçü Empty'leri, camera aim, light target, «temp_align» parent'ları Outliner'da masumdur. Include genişse hepsi node olur; runtime'da traverse maliyeti ve kafa karışıklığı artar. Exporter Cameras/Lights bagajı panodadır; burada Outliner hijyeni vardır: helper'ları Deliver dışındaki koleksiyonda tutun.

Holodepth teşhisi: bağımsız viewer'da beklenmedik Empty / Camera kalabalığı varsa önce Outliner teslim setine, sonra Include satırına bakın.

Düz mü, derin mi? Web niyeti

Derin parent zinciri (parça → alt parça → vida) DCC'de okunaklıdır; web ürün vitrininde çoğu zaman tek kök + birkaç socket yeter. Avatar / mekanik demo ise derin grafı bilinçli ister. Holodepth kuralı: derinlik «organizasyon zevki» için değil, runtime'ın tutacağı transform sayısı için seçilir.

  • Vitrin: sığ graf, tek kök Empty, az child
  • Avatar / rig: Armature kök sözleşmesi · mesh bağlı
  • Modüler kit: socket Empty'leri + isim sözleşmesi

Üç sahne grafı profili

Ticket diline yapışan üç Outliner/runtime profili:

  • 01 · Graf

    Tek kök vitrin

    Outliner
    Deliver_* dar · helper dışarı
    Runtime
    Tek Empty kök · sığ child
    Include
    Active Collection = Deliver
  • 02 · Graf

    Avatar iskelet

    Outliner
    Karakter Deliver · lab ayrı
    Runtime
    Armature kök sözleşmesi · mesh bağlı
    Include
    Skin açık · helper kapalı
  • 03 · Graf

    Socket kit

    Outliner
    Deliver + Sockets koleksiyonu
    Runtime
    İsimli Empty socket'ler · scale 1
    Include
    Instance realize politikası yazılı

Örnek ticket: «Vitrin ürün · Metre ürün · Vitrin pişmiş · Vitrin MR · Tek kök vitrin».

Holodepth perspektifleri

Kök adı = asset adı

Runtime'da «Scene» veya «Empty.003» ile tutulan ürün, kod ve içerik ekibini ayırır. Kök ismi ticket ile aynı olsun.

İki haritayı ayrı yazın

Outliner screenshot'ı tek başına export kanıtı değildir. «Parent zinciri şu, Deliver şu» iki satır yeter.

Node şemasını burada ezberlemeyin

nodes, children, scene indeksleri Node Hiyerarşisi sayfasındadır. Bu yaprak Blender yazarlık diplomatıdır.

Teşhis maddeleri

  1. Graf profili ticket'ta mı?
  2. Deliver koleksiyonu dar ve isimli mi?
  3. Üyelik ile parent karıştırılmadı mı?
  4. Kök / socket Empty rolleri yazılı mı?
  5. Helper'lar Deliver dışında mı?
  6. Instance realize politikası var mı?
  7. Kök scale 1,1,1 (cetvel ile uyumlu) mu?
  8. Bağımsız viewer'da beklenen hiyerarşi görünüyor mu?

Holodepth içgörüsü

Web'de «hiyerarşi bozuk» cümlesi çoğu zaman glTF hatası değil, Outliner klasörü ile parent zincirinin aynı sanılmasıdır. Holodepth: koleksiyon yolcu listesidir; Empty ve parent runtime iskeletidir.

Sonraki kapı: web için mesh temizlik

Graf kilitlenince sıradaki kırılma çoğu zaman geometri kalitesidir: N-gon, custom normal, gereksiz yoğunluk. Sonraki sayfa Web için mesh temizlik bu hijyeni kurar.