ضوء ينبعث في اتجاه محدد. سيتصرف هذا الضوء كما لو كان بعيدًا لانهائيًا وأن الأشعة المنبعثة منه كلها
متوازية. الاستخدام الشائع لهذا هو محاكاة ضوء النهار ؛ الشمس
بعيد بما يكفي بحيث يمكن اعتبار موقعه لانهائيًا ، و
جميع أشعة الضوء القادمة منه متوازية.
يمكن لهذا الضوء إلقاء الظلال - انظر صفحة [page:DirectionalLightShadow]
للتفاصيل.
نقطة شائعة من الالتباس بالنسبة للأضواء الاتجاهية هي أن تحديد
لا يؤثر التدوير. هذا لأن DirectionalLight في three.js هو
ما يعادل ما يسمى بـ "Target Direct Light" في غيره
التطبيقات.
هذا يعني أن اتجاهه يتم حسابه كمؤشر من ضوء
[page:Object3D.position position] إلى [page:.target target] الموقف
(على عكس "Free Direct Light" التي لديها فقط دوران
مكون).
السبب في ذلك هو السماح للضوء بإلقاء الظلال - ال
[page:.shadow shadow] تحتاج الكاميرا إلى موقف لحساب الظلال
من.
انظر خاصية [page:.target target] أدناه للحصول على تفاصيل حول تحديث
الهدف.
// ضوء اتجاهي أبيض بشدة نصفية يشرق من الأعلى.
const directionalLight = new THREE.DirectionalLight( 0xffffff, 0.5 );
scene.add( directionalLight );
[example:misc_controls_fly controls / fly ]
[example:webgl_effects_parallaxbarrier effects / parallaxbarrier ]
[example:webgl_effects_stereo effects / stereo ]
[example:webgl_geometry_extrude_splines geometry / extrude / splines ]
[example:webgl_materials_bumpmap materials / bumpmap ]
[page:Color color] - (اختياري) مثيل من Color ، سلسلة تمثل
لون أو رقم يمثل لونًا.
[page:Float intensity] - (اختياري) قيمة عددية لـ
شدة مسبار الضوء. الافتراضي هو 1.
ينشئ [name] جديدًا.
انظر قائمة [page:Light Light] الأساسية للخصائص المشتركة.
إذا تم تعيينه على `true` فإن الضوء سيلقي ظلالًا ديناميكية. تحذير: هذا هو باهظ الثمن ويتطلب التلاعب لجعل الظلال تبدو صحيحة. انظر [page:DirectionalLightShadow] للتفاصيل. الافتراضي هو `false`.
علامة للقراءة فقط للتحقق مما إذا كان الكائن المعطى هو من نوع [name].
يتم تعيين هذا يساوي [page:Object3D.DEFAULT_UP] (0، 1، 0) ، بحيث الضوء يشرق من الأعلى إلى الأسفل.
[page:DirectionalLightShadow] يستخدم لحساب الظلال لهذا الضوء.
يشير DirectionalLight من [page:.position position] إلى
target.position. الموضع الافتراضي للهدف هو `(0، 0، 0)`.
ملاحظة: لتغيير موضع الهدف إلى أي شيء آخر غير
الافتراضي ، يجب إضافته إلى [page:Scene scene] باستخدام
scene.add( light.target );
هذا حتى يتم تحديث [page:Object3D.matrixWorld matrixWorld] الخاص بالهدف
تلقائيًا كل إطار.
من الممكن أيضًا تعيين الهدف ليكون كائنًا آخر في المشهد
(أي شيء يحتوي على خاصية [page:Object3D.position position]) ، مثل:
const targetObject = new THREE.Object3D();
scene.add(targetObject);
light.target = targetObject;
سيتبع directionalLight الكائن الهدف الآن.
انظر الفئة الأساسية [page:Light Light] للطرق المشتركة.
تحرير الموارد ذات الصلة بوحدة معالجة الرسومات التى تم تخصيصها من قبل هذه الحالة. استدعاء هذه الطریقة كلما لم يعد يستخدم هذه الحال فى تطبیقك.
ينسخ قيمة جمیع خصائص من [page:DirectionalLight source] إلى هذا DirectionalLight.
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]