Scenegraph — سلسلهمراتبی بودن المانها
🔹 تعریف
Scenegraph یک ساختار درختی (hierarchical) برای اشیاء صحنه است.
-
هر Object3D میتواند Child (فرزند) و Parent (والد) داشته باشد.
-
تغییر در والد روی فرزندان هم اثر میگذارد (Position, Rotation, Scale).
📌 به عبارتی: Scenegraph = «درخت صحنه»
۱️⃣ اشیاء والد و فرزند
-
والد (Parent) میتواند یک Scene یا هر Object3D دیگر باشد
-
فرزند (Child) میتواند Mesh، Group یا هر Object3D دیگری باشد
🔹 مثال
📌 حالا اگر parent
را جابجا کنیم، child
هم همراه آن جابجا میشود:
۲️⃣ گروهبندی اشیاء با Group
-
برای مدیریت چند Object3D با هم از THREE.Group() استفاده میکنیم
-
همه اعضای گروه تحت تأثیر حرکت، چرخش و مقیاس گروه قرار میگیرند
🔹 مثال
📌 با چرخش یا جابجایی گروه، هر دو مکعب همزمان تغییر میکنند
۳️⃣ سلسلهمراتب چند سطحی
-
یک فرزند میتواند خودش والد دیگر باشد
-
این امکان ایجاد سلسلهمراتب پیچیده مثل ربات، ماشین یا شخصیتهای انیمیشنی را میدهد
🔹 مثال
۴️⃣ نکات مهم
-
Scene خودش یک Object3D است و والد تمام اشیاء است
-
استفاده از Group برای سازماندهی صحنه بسیار توصیه میشود
-
Position, Rotation, Scale والد روی همه فرزندان اثر میگذارد
-
Scenegraph باعث مدیریت بهتر و انیمیشن سلسلهمراتبی میشود
۵️⃣ جمعبندی بصری
-
والد = کنترل کل گروه
-
فرزند = دنبالکننده والد
-
سلسلهمراتب میتواند چند سطحی باشد
-
مناسب انیمیشنهای پیچیده، رباتیک، خودرو یا ساختمانهای چندقطعهای