diff --git a/docs/api/ar/lights/shadows/DirectionalLightShadow.html b/docs/api/ar/lights/shadows/DirectionalLightShadow.html new file mode 100644 index 00000000000000..4df6f3a12b0745 --- /dev/null +++ b/docs/api/ar/lights/shadows/DirectionalLightShadow.html @@ -0,0 +1,101 @@ + + + + + + + + + + [page:LightShadow] → + +

[name]

+ +

+ يتم استخدام هذا داخليًا من قبل [page:DirectionalLight DirectionalLights] لـ + حساب الظلال.

+ + على عكس فئات الظلال الأخرى ، يستخدم هذا [page:OrthographicCamera] لـ + حساب الظلال ، بدلاً من [page:PerspectiveCamera]. هذا هو + لأن أشعة الضوء من [page:DirectionalLight] متوازية. +

+ +

مثال الكود

+ + + //Create a WebGLRenderer and turn on shadows in the renderer + const renderer = new THREE.WebGLRenderer(); + renderer.shadowMap.enabled = true; + renderer.shadowMap.type = THREE.PCFSoftShadowMap; // default THREE.PCFShadowMap + + //Create a DirectionalLight and turn on shadows for the light + const light = new THREE.DirectionalLight( 0xffffff, 1 ); + light.position.set( 0, 1, 0 ); //default; light shining from top + light.castShadow = true; // default false + scene.add( light ); + + //Set up shadow properties for the light + light.shadow.mapSize.width = 512; // default + light.shadow.mapSize.height = 512; // default + light.shadow.camera.near = 0.5; // default + light.shadow.camera.far = 500; // default + + //Create a sphere that cast shadows (but does not receive them) + const sphereGeometry = new THREE.SphereGeometry( 5, 32, 32 ); + const sphereMaterial = new THREE.MeshStandardMaterial( { color: 0xff0000 } ); + const sphere = new THREE.Mesh( sphereGeometry, sphereMaterial ); + sphere.castShadow = true; //default is false + sphere.receiveShadow = false; //default + scene.add( sphere ); + + //Create a plane that receives shadows (but does not cast them) + const planeGeometry = new THREE.PlaneGeometry( 20, 20, 32, 32 ); + const planeMaterial = new THREE.MeshStandardMaterial( { color: 0x00ff00 } ) + const plane = new THREE.Mesh( planeGeometry, planeMaterial ); + plane.receiveShadow = true; + scene.add( plane ); + + //Create a helper for the shadow camera (optional) + const helper = new THREE.CameraHelper( light.shadow.camera ); + scene.add( helper ); + + +

المنشئ (Constructor)

+

[name]( )

+

+ ينشئ [name] جديدًا. لا يُقصد من هذا الاتصال مباشرة - هو + يتم استدعاؤه داخليًا من قبل [page:DirectionalLight]. +

+ +

الخصائص (Properties)

+

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

+ +

[property:Camera camera]

+

+ رؤية الضوء للعالم. يتم استخدام هذا لإنشاء خريطة عمق لـ + المشهد ؛ الأشياء خلف الأشياء الأخرى من منظور الضوء ستكون + في الظل.

+ + الافتراضي هو [page:OrthographicCamera] مع + [page:OrthographicCamera.left left] و [page:OrthographicCamera.bottom bottom] + مضبوط على -5 ، [page:OrthographicCamera.right right] و + [page:OrthographicCamera.top top] مضبوط على 5 ، + [page:OrthographicCamera.near near] كليبينغ بلان عند 0.5 و + [page:OrthographicCamera.far far] كليبينغ بلان عند 500. +

+ +

[property:Boolean isDirectionalLightShadow]

+

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

+ +

الطرق (Methods)

+

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

+ +

المصدر (Source)

+ +

+ [link:https://github.com/mrdoob/three.js/blob/master/src/lights/[name].js src/lights/[name].js] +

+ + diff --git a/docs/api/ar/lights/shadows/LightShadow.html b/docs/api/ar/lights/shadows/LightShadow.html new file mode 100644 index 00000000000000..db051066db9d99 --- /dev/null +++ b/docs/api/ar/lights/shadows/LightShadow.html @@ -0,0 +1,165 @@ + + + + + + + + + +

[name]

+ +

يعمل كفئة أساسية لفئات الظلال الأخرى.

+ +

المنشئ (Constructor)

+ +

[name]( [param:Camera camera] )

+

+ [page:Camera camera] - رؤية الضوء للعالم.

+ + إنشاء [name] جديد. لا يُقصد من هذا الاتصال مباشرة - هو + يستخدم كفئة أساسية من قبل ظلال الضوء الأخرى. +

+ +

الخصائص (Properties)

+ +

[property:Boolean autoUpdate]

+

+ يتيح التحديثات التلقائية لظل الضوء. الافتراضي هو `true`. إذا كنت + لا تتطلب إضاءة / ظلال ديناميكية ، يمكنك تعيين هذا على `false`. +

+ +

[property:Camera camera]

+

+ رؤية الضوء للعالم. يتم استخدام هذا لإنشاء خريطة عمق لـ + المشهد ؛ الأشياء خلف الأشياء الأخرى من منظور الضوء ستكون + في الظل. +

+ +

[property:Float bias]

+

+ انحياز خريطة الظل ، كم يجب إضافة أو طرح من العمق المعاد تدويره + عند تحديد ما إذا كانت سطحًا في الظل.
+ الافتراضي هو 0. قد تساعد التعديلات الصغيرة جدًا هنا (بترتيب 0.0001) + تقليل التحف في الظلال +

+ +

[property:Integer blurSamples]

+

عدد العينات المستخدمة عند طمس خريطة ظل VSM.

+ +

[property:WebGLRenderTarget map]

+

+ خريطة العمق التي تم إنشاؤها باستخدام الكاميرا الداخلية ؛ موقع خارج + عمق بكسل في الظل. يتم حسابه داخليًا أثناء التقديم. +

+ +

[property:WebGLRenderTarget mapPass]

+

+ خريطة التوزيع التي تم إنشاؤها باستخدام الكاميرا الداخلية ؛ يتم حساب احتجاب + بناءً على توزيع الأعماق. يتم حسابه داخليًا أثناء + التقديم. +

+ +

[property:Vector2 mapSize]

+

+ [Page:Vector2] يحدد عرض وارتفاع خريطة الظل.

+ + تعطي قيم أعلى جودة أفضل للظلال بتكلفة وقت الحساب. + يجب أن تكون قيم قوى 2 ، حتى + [page:WebGLRenderer.capabilities].maxTextureSize لجهاز معين, + على الرغم من أنه لا يجب أن يكون نفسه (ولذلك ، على سبيل المثال ، + (512، 1024) صالح). الافتراضي هو * (512، 512) *. +

+ +

[property:Matrix4 matrix]

+

+ نموذج لمساحة الكاميرا الظلية ، لحساب الموقع والعمق في خريطة الظل. + تخزين في [page:Matrix4 Matrix4]. يتم حساب هذا داخليًا أثناء + التقديم. +

+ +

[property:Boolean needsUpdate]

+

+ عند تعيينه على `true` ، سيتم تحديث خرائط الظل في الاتصال التالي `render`. + الافتراضي هو `false`. إذا قمت بتعيين [page:.autoUpdate] على `false` ، فأنت + سوف تحتاج إلى تعيين هذه الخاصية على `true` ثم إجراء مكالمة تقديم لـ + تحديث ظل الضوء. +

+ +

[property:Float normalBias]

+

+ يحدد كمية الموضع المستخدم للاستعلام عن خريطة الظل معوضًا عن + الكائن الطبيعي. الافتراضي هو 0. يمكن استخدام زيادة هذه القيمة لـ + تقليل حب الشباب في الظلال خاصة في المشاهد الكبيرة التي يضيء فيها الضوء + الهندسة بزاوية ضحلة. التكلفة هي أن الظلال قد تبدو + مشوه. +

+ +

[property:Float radius]

+

+ إعداد هذه القيم إلى قيم أكبر من 1 ستطمس حواف + الظل.
+ + ستسبب قيم عالية تأثيرات تجزئة غير مرغوب فيها في الظلال - أكبر + [page:.mapSize mapSize] ستسمح بقيمة أعلى للاستخدام هنا + قبل أن تصبح هذه التأثيرات مرئية.
+ إذا تم تعيين [page:WebGLRenderer.shadowMap.type] على [page:Renderer PCFSoftShadowMap]، + لا يوجد لـ radius أثر و يُفضل زيادة + النعومة عن طريق تقليل [page:.mapSize mapSize] بدلاً من ذلك.

+ + لاحظ أن هذا لا يؤثر إذا كان [page:WebGLRenderer.shadowMap.type] هو + تعيين إلى [page:Renderer BasicShadowMap]. +

+ +

الطرق (Methods)

+ +

[method:Vector2 getFrameExtents]()

+

+ تستخدم داخليًا من قبل المصور لتوسيع خريطة الظل لتحتوى على جميع + viewports +

+ +

[method:undefined updateMatrices]( [param:Light light] )

+

+ تحديث المصفوفات للكاميرا والظل ، يستخدم داخليًا من قبل المصور.

+ + light -- الضوء الذي يتم تقديم الظل له. +

+ +

[method:Frustum getFrustum]()

+

+ تحصل على فروستوم كاميرات الظل. يستخدم داخليًا من قبل المصور لإزالة + الأشياء. +

+ +

[method:number getViewportCount]()

+

+ تستخدم داخليًا من قبل المصور للحصول على عدد viewports التى تحتاج + إلى التقديم لهذا الظل. +

+ +

[method:undefined dispose]()

+

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

+ +

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

+

+ ينسخ قيمة جميع الخصائص من [page:LightShadow source] إلى + هذا الضوء. +

+ +

[method:LightShadow clone]()

+

ينشئ LightShadow جديد بنفس خصائص هذا.

+ +

[method:Object toJSON]()

+

سيريالايز هذا LightShadow.

+ +

المصدر (Source)

+ +

+ [link:https://github.com/mrdoob/three.js/blob/master/src/lights/[name].js src/lights/[name].js] +

+ + diff --git a/docs/api/ar/lights/shadows/PointLightShadow.html b/docs/api/ar/lights/shadows/PointLightShadow.html new file mode 100644 index 00000000000000..aadee02bebcf8f --- /dev/null +++ b/docs/api/ar/lights/shadows/PointLightShadow.html @@ -0,0 +1,94 @@ + + + + + + + + + + [page:LightShadow] → + +

[name]

+ +

+ يتم استخدام هذا داخليًا من قبل [page:PointLight PointLights] لحساب + الظلال. +

+ +

مثال الكود

+ + + //Create a WebGLRenderer and turn on shadows in the renderer + const renderer = new THREE.WebGLRenderer(); + renderer.shadowMap.enabled = true; + renderer.shadowMap.type = THREE.PCFSoftShadowMap; // default THREE.PCFShadowMap + + //Create a PointLight and turn on shadows for the light + const light = new THREE.PointLight( 0xffffff, 1, 100 ); + light.position.set( 0, 10, 4 ); + light.castShadow = true; // default false + scene.add( light ); + + //Set up shadow properties for the light + light.shadow.mapSize.width = 512; // default + light.shadow.mapSize.height = 512; // default + light.shadow.camera.near = 0.5; // default + light.shadow.camera.far = 500; // default + + //Create a sphere that cast shadows (but does not receive them) + const sphereGeometry = new THREE.SphereGeometry( 5, 32, 32 ); + const sphereMaterial = new THREE.MeshStandardMaterial( { color: 0xff0000 } ); + const sphere = new THREE.Mesh( sphereGeometry, sphereMaterial ); + sphere.castShadow = true; //default is false + sphere.receiveShadow = false; //default + scene.add( sphere ); + + //Create a plane that receives shadows (but does not cast them) + const planeGeometry = new THREE.PlaneGeometry( 20, 20, 32, 32 ); + const planeMaterial = new THREE.MeshStandardMaterial( { color: 0x00ff00 } ) + const plane = new THREE.Mesh( planeGeometry, planeMaterial ); + plane.receiveShadow = true; + scene.add( plane ); + + //Create a helper for the shadow camera (optional) + const helper = new THREE.CameraHelper( light.shadow.camera ); + scene.add( helper ); + + +

المنشئ (Constructor)

+

[name]( )

+

+ ينشئ [name] جديدًا. لا يُقصد من هذا الاتصال مباشرة - هو + يتم استدعاؤه داخليًا من قبل [page:PointLight]. +

+ +

الخصائص (Properties)

+

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

+ +

[property:Boolean isPointLightShadow]

+

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

+ +

الطرق (Methods)

+ +

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

+ +

+ [method:undefined updateMatrices]( [param:Light light], [param:number viewportIndex]) +

+

+ تحديث المصفوفات للكاميرا والظل ، يستخدم داخليًا من قبل المصور.

+ + light -- الضوء الذي يتم تقديم الظل له.
+ viewportIndex -- يحسب المصفوفة لهذا viewport +

+ +

المصدر (Source)

+ +

+ [link:https://github.com/mrdoob/three.js/blob/master/src/lights/[name].js src/lights/[name].js] +

+ + diff --git a/docs/api/ar/lights/shadows/SpotLightShadow.html b/docs/api/ar/lights/shadows/SpotLightShadow.html new file mode 100644 index 00000000000000..8c41bf052079b0 --- /dev/null +++ b/docs/api/ar/lights/shadows/SpotLightShadow.html @@ -0,0 +1,106 @@ + + + + + + + + + + [page:LightShadow] → + +

[name]

+ +

+ يتم استخدام هذا داخليًا من قبل [page:SpotLight SpotLights] لحساب + الظلال. +

+ +

مثال الكود

+ + //Create a WebGLRenderer and turn on shadows in the renderer + const renderer = new THREE.WebGLRenderer(); + renderer.shadowMap.enabled = true; + renderer.shadowMap.type = THREE.PCFSoftShadowMap; // default THREE.PCFShadowMap + + //Create a SpotLight and turn on shadows for the light + const light = new THREE.SpotLight( 0xffffff ); + light.castShadow = true; // default false + scene.add( light ); + + //Set up shadow properties for the light + light.shadow.mapSize.width = 512; // default + light.shadow.mapSize.height = 512; // default + light.shadow.camera.near = 0.5; // default + light.shadow.camera.far = 500; // default + light.shadow.focus = 1; // default + + //Create a sphere that cast shadows (but does not receive them) + const sphereGeometry = new THREE.SphereGeometry( 5, 32, 32 ); + const sphereMaterial = new THREE.MeshStandardMaterial( { color: 0xff0000 } ); + const sphere = new THREE.Mesh( sphereGeometry, sphereMaterial ); + sphere.castShadow = true; //default is false + sphere.receiveShadow = false; //default + scene.add( sphere ); + + //Create a plane that receives shadows (but does not cast them) + const planeGeometry = new THREE.PlaneGeometry( 20, 20, 32, 32 ); + const planeMaterial = new THREE.MeshStandardMaterial( { color: 0x00ff00 } ) + const plane = new THREE.Mesh( planeGeometry, planeMaterial ); + plane.receiveShadow = true; + scene.add( plane ); + + //Create a helper for the shadow camera (optional) + const helper = new THREE.CameraHelper( light.shadow.camera ); + scene.add( helper ); + + +

المنشئ (Constructor)

+ +

+ ينشئ المنشئ [param:PerspectiveCamera PerspectiveCamera] لـ + إدارة رؤية الظل للعالم. +

+ +

الخصائص (Properties)

+

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

+ +

[property:Camera camera]

+

+ رؤية الضوء للعالم. يتم استخدام هذا لإنشاء خريطة عمق لـ + المشهد ؛ الأشياء خلف الأشياء الأخرى من منظور الضوء ستكون + في الظل.

+ + الافتراضي هو [page:PerspectiveCamera] مع + [page:PerspectiveCamera.near near] كليبينغ بلان عند `0.5`. ال + [page:PerspectiveCamera.fov fov] ستتبع [page:SpotLight.angle angle] + خاصية [page:SpotLight SpotLight] المملوكة عبر + [page:SpotLightShadow.update update] طريقة. بالمثل ، + [page:PerspectiveCamera.aspect aspect] خاصية ستتبع نسبة + [page:LightShadow.mapSize mapSize]. إذا تم تعيين [page:SpotLight.distance distance] + خاصية الضوء ، فستتبع [page:PerspectiveCamera.far far] + كليبينغ بلان ذلك ، وإلا فإنه يفترض `500`. +

+ +

[property:Number focus]

+

+ تستخدم لتركيز كاميرا الظل. يتم تعيين حقل رؤية الكاميرا كـ + نسبة مئوية من حقل رؤية المصباح. المدى هو `[0، 1]`. الافتراضي هو + `1.0`.
+

+ +

[property:Boolean isSpotLightShadow]

+

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

+ +

الطرق (Methods)

+

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

+ +

المصدر (Source)

+ +

+ [link:https://github.com/mrdoob/three.js/blob/master/src/lights/[name].js src/lights/[name].js] +

+ + diff --git a/docs/list.json b/docs/list.json index 3667a9c36bf8c2..27e9298439f2d3 100644 --- a/docs/list.json +++ b/docs/list.json @@ -612,6 +612,13 @@ "PointLight": "api/ar/lights/PointLight", "RectAreaLight": "api/ar/lights/RectAreaLight", "SpotLight": "api/ar/lights/SpotLight" + }, + + "Lights / Shadows": { + "LightShadow": "api/ar/lights/shadows/LightShadow", + "PointLightShadow": "api/ar/lights/shadows/PointLightShadow", + "DirectionalLightShadow": "api/ar/lights/shadows/DirectionalLightShadow", + "SpotLightShadow": "api/ar/lights/shadows/SpotLightShadow" } }