Materials, Textures، Mesh, Geometry
Three.js برای ایجاد اشیاء سهبعدی از چهار بخش اصلی استفاده میکند:
-
Geometry – شکل هندسی اشیاء
-
Material – ظاهر و سبک سطح
-
Mesh – ترکیب Geometry و Material
-
Texture – تصویر یا نقشهای که روی Material اعمال میشود
۱️⃣ Geometry
🔹 تعریف
-
Geometry ساختار هندسی یک شیء را تعریف میکند
-
شامل Vertex, Face, Normal, UV
🔹 Geometryهای آماده
| Geometry | توضیح |
|---|---|
| BoxGeometry | مکعب |
| SphereGeometry | کره |
| PlaneGeometry | صفحه دوبعدی |
| CylinderGeometry | استوانه |
| TorusGeometry | حلقه/دونات |
| ConeGeometry | مخروط |
🔹 مثال
۲️⃣ Material
🔹 تعریف
-
Material ظاهر سطح را تعیین میکند: رنگ، نور، بازتاب، شفافیت
🔹 انواع Material رایج
| Material | توضیح |
|---|---|
| MeshBasicMaterial | بدون تاثیر نور (Flat) |
| MeshLambertMaterial | نورپردازی ساده Diffuse |
| MeshPhongMaterial | نورپردازی با Specular و Glossy |
| MeshStandardMaterial | PBR، واقعگرایانه |
| MeshPhysicalMaterial | استاندارد PBR + جلوههای فیزیکی مثل فلز و شفافیت |
🔹 مثال
۳️⃣ Mesh
🔹 تعریف
-
ترکیب Geometry و Material → قابل اضافه شدن به صحنه
🔹 مثال
📌 Mesh پایه هر شیء سهبعدی در Three.js است
۴️⃣ Texture
🔹 تعریف
-
تصویر یا نقشهای که روی Material اعمال میشود
-
میتواند رنگ، نور، شفافیت، نقشه Normal، Roughness و Metallic باشد
🔹 مثال بارگذاری Texture
🔹 انواع Texture Maps
| Map | توضیح |
|---|---|
| map | رنگ اصلی |
| normalMap | جزئیات سطح (برآمدگی/فرورفتگی) |
| roughnessMap | میزان زبری سطح |
| metalnessMap | میزان فلزی بودن سطح |
| aoMap | Ambient Occlusion برای سایهزنی |
۵️⃣ مثال کامل Mesh با Geometry و Texture
📌 این مثال کرهای با Texture و نور ایجاد میکند که کاملاً واقعی نمایش داده میشود
۶️⃣ نکات مهم
-
Geometry شکل را میسازد، Material ظاهر آن را مشخص میکند
-
Mesh ترکیب Geometry و Material است
-
Texture میتواند جزئیات و واقعگرایی بیشتری به Material اضافه کند
-
برای Performance، Textureها و Materialها را بهینه انتخاب کنید
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React