نورها (Lights)
Three.js انواع مختلف نور داره که هر کدوم کاربرد و تاثیر خودشون رو دارن.
۱️⃣ AmbientLight (نور محیطی)
🔹 تعریف
-
نور یکنواخت که همه اشیاء صحنه رو روشن میکنه
-
بدون جهت خاص، سایه تولید نمیکنه
🔹 مثال
📌 کاربرد: روشن کردن صحنه به صورت عمومی، جلوگیری از تاریکی کامل مناطق سایهدار
۲️⃣ DirectionalLight (نور جهتدار)
🔹 تعریف
-
نور شبیه خورشید
-
جهت مشخص داره، سایهها را ایجاد میکنه
🔹 مثال
📌 نکته: سایهها با castShadow = true
فعال میشن
۳️⃣ PointLight (نور نقطهای)
🔹 تعریف
-
نور از یک نقطه به تمام جهات پخش میشود
-
شبیه لامپ رومیزی یا چراغ
🔹 مثال
📌 مناسب صحنههای کوچک و نقاط نورانی مشخص
۴️⃣ SpotLight (نور مخروطی)
🔹 تعریف
-
نور از یک نقطه با محدوده مخروطی
-
شبیه چراغ صحنه یا پروژکتور
-
قابلیت تولید سایه
🔹 مثال
۵️⃣ HemisphereLight (نور نیمکره)
🔹 تعریف
-
نور از بالا و پایین با رنگهای متفاوت
-
شبیه آسمان و زمین
-
سایه تولید نمیکنه
🔹 مثال
۶️⃣ مقایسه سریع نورها
نوع نور | جهتدار | سایه | کاربرد |
---|---|---|---|
AmbientLight | ❌ | ❌ | روشنایی عمومی |
DirectionalLight | ✅ | ✅ | شبیه خورشید |
PointLight | ❌ | ✅ | چراغ نقطهای |
SpotLight | ✅ | ✅ | نور مخروطی، پروژکتور |
HemisphereLight | ❌ | ❌ | شبیه آسمان/زمین |
۷️⃣ نکات مهم
-
برای سایه:
-
ترکیب چند نور: معمولاً AmbientLight + DirectionalLight برای صحنه مناسب است.
-
شدت نور با مقدار دوم در constructor مشخص میشود (
1
= 100%).
🔹 مثال کامل
📌 این مثال ترکیبی از AmbientLight و DirectionalLight با سایه هست.