[page:Object3D] → [page:Light] →

[name]

ضوء ينبعث في اتجاه محدد. سيتصرف هذا الضوء كما لو كان بعيدًا لانهائيًا وأن الأشعة المنبعثة منه كلها متوازية. الاستخدام الشائع لهذا هو محاكاة ضوء النهار ؛ الشمس بعيد بما يكفي بحيث يمكن اعتبار موقعه لانهائيًا ، و جميع أشعة الضوء القادمة منه متوازية.

يمكن لهذا الضوء إلقاء الظلال - انظر صفحة [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 );

أمثلة (Examples)

[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 ]

المنشئ (Constructor)

[name]( [param:Color color], [param:Float intensity] )

[page:Color color] - (اختياري) مثيل من Color ، سلسلة تمثل لون أو رقم يمثل لونًا.
[page:Float intensity] - (اختياري) قيمة عددية لـ شدة مسبار الضوء. الافتراضي هو 1.

ينشئ [name] جديدًا.

الخصائص (Properties)

انظر قائمة [page:Light Light] الأساسية للخصائص المشتركة.

[property:Boolean castShadow]

إذا تم تعيينه على `true` فإن الضوء سيلقي ظلالًا ديناميكية. تحذير: هذا هو باهظ الثمن ويتطلب التلاعب لجعل الظلال تبدو صحيحة. انظر [page:DirectionalLightShadow] للتفاصيل. الافتراضي هو `false`.

[property:Boolean isDirectionalLight]

علامة للقراءة فقط للتحقق مما إذا كان الكائن المعطى هو من نوع [name].

[property:Vector3 position]

يتم تعيين هذا يساوي [page:Object3D.DEFAULT_UP] (0، 1، 0) ، بحيث الضوء يشرق من الأعلى إلى الأسفل.

[property:DirectionalLightShadow shadow]

[page:DirectionalLightShadow] يستخدم لحساب الظلال لهذا الضوء.

[property:Object3D target]

يشير 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 الكائن الهدف الآن.

الطرق (Methods)

انظر الفئة الأساسية [page:Light Light] للطرق المشتركة.

[method:undefined dispose]()

تحرير الموارد ذات الصلة بوحدة معالجة الرسومات التى تم تخصيصها من قبل هذه الحالة. استدعاء هذه الطریقة كلما لم يعد يستخدم هذه الحال فى تطبیقك.

[method:this copy]( [param:DirectionalLight source] )

ينسخ قيمة جمیع خصائص من [page:DirectionalLight source] إلى هذا DirectionalLight.

المصدر (Source)

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]