# [name]

هذه هي الفئة الأساسية لمعظم الكائنات في three.js وتوفر مجموعة من الخصائص والطُرق للتلاعب بالكائنات في المساحة ثلاثية الأبعاد.
لاحظ أن هذا يمكن استخدامه لتجميع الكائنات عبر طريقة [page:.add]( object ) التي تضيف الكائن كطفل، ومع ذلك فمن الأفضل استخدام [page:Group] لهذا.

## المنشئ (Constructor)

### [name]()

المُنشئ لا يأخذ أي وسائط.

## الخصائص (Properties)

### [property:AnimationClip animations]

مصفوفة بمقاطع الرسوم المتحركة للكائن.

### [property:Boolean castShadow]

ما إذا كان يتم عرض الكائن في خريطة الظل. الافتراضي هو `false`.

### [property:Array children]

مصفوفة بأطفال الكائن. انظر [page:Group] للحصول على معلومات حول تجميع الكائنات يدويًا.

### [property:Material customDepthMaterial]

مادة عمق مخصصة للاستخدام عند التقديم إلى خريطة العمق. يمكن استخدامه فقط في سياق المشابك. عند رمي الظل مع [page:DirectionalLight] أو [page:SpotLight]، إذا كنت تعدل مواضع رأس في شادر رأس يجب تحديد customDepthMaterial مخصص لظلال صحيحة. الافتراضي هو `undefined`.

### [property:Material customDistanceMaterial]

نفس [page:.customDepthMaterial customDepthMaterial]، ولكن يستخدم مع [page:PointLight]. الافتراضي هو `undefined`.

### [property:Boolean frustumCulled]

عند تعيين هذا، يتحقق في كل إطار ما إذا كان الكائن في مخروط الكاميرا قبل تقديم الكائن. إذا تم تعيينه على `false` يتم تقديم الكائن في كل إطار حتى لو لم يكن في مخروط الكاميرا. الافتراضي هو `true`.

### [property:Integer id]

readonly – رقم فريد لهذه الحالة من الكائن.

### [property:Boolean isObject3D]

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

### [property:Layers layers]

عضوية طبقة الكائن. الكائن مرئي فقط إذا كان لديه على الأقل طبقة واحدة مشتركة مع [page:Camera] قيد الاستخدام. يمكن استخدام هذه الخاصية أيضًا لتصفية كائنات غير مرغوب فيها في اختبارات التقاطع بالأشعة عند استخدام [page:Raycaster].

### [property:Matrix4 matrix]

مصفوفة التحول المحلية.

### [property:Boolean matrixAutoUpdate]

عند تعيين هذا، يحسب مصفوفة الموضع، (الدوران أو quaternion) والحجم في كل إطار وأيضًا يعيد حساب خصائص matrixWorld . الافتراضي هو [page:Object3D.DEFAULT_MATRIX_AUTO_UPDATE] (true).

### [property:Matrix4 matrixWorld]

التحول العالمي للكائن. إذا لم يكن لدى Object3D أي والد، فإنه مطابق للتحول المحلي [page:.matrix].

### [property:Boolean matrixWorldAutoUpdate]

إذا تم تعيينه، فإن المقدم يتحقق في كل إطار ما إذا كان الكائن و أطفاله يحتاجون إلى تحديثات المصفوفة. عندما لا يكون كذلك، فعليك الحفاظ على جميع المصفوفات في الكائن وأطفاله بنفسك. الافتراضي هو [page:Object3D.DEFAULT_MATRIX_WORLD_AUTO_UPDATE] (true).

### [property:Boolean matrixWorldNeedsUpdate]

عند تعيين هذا، يحسب matrixWorld في ذلك الإطار ويعيد هذه الخاصية إلى false. الافتراضي هو `false`.

### [property:Matrix4 modelViewMatrix]

يتم تمرير هذا إلى الشادر ويستخدم لحساب موضع الكائن.

### [property:String name]

اسم اختياري للكائن (لا يحتاج إلى أن يكون فريدًا). الافتراضي هو سلسلة فارغة.

### [property:Matrix3 normalMatrix]

يتم تمرير هذا إلى الشادر ويستخدم لحساب الإضاءة لـ الكائن. هو نقل معكوس من المصفوفة 3x3 العلوية اليسرى من مصفوفة modelViewMatrix لهذا الكائن.
سبب هذه المصفوفة الخاصة هو أن استخدام ببساطة modelViewMatrix قد يؤدي إلى طول غير وحدة من normals (على التحجيم) أو في اتجاه غير عمودي (على التحجيم غير الموحد).
من ناحية أخرى، جزء الترجمة من modelViewMatrix غير ذات صلة بحساب normals. وبالتالي فإن Matrix3 كافية.

### [property:Function onAfterRender]

رد اتصال اختياري يتم تنفيذه مباشرة بعد تقديم كائن ثلاثي الأبعاد . يتم استدعاء هذه الوظيفة بالمعلمات التالية: renderer, scene, camera, geometry, material, group.

يرجى ملاحظة أن هذا الرد الاتصال يتم تنفيذه فقط لـ `renderable` 3D كائنات. معنى كائنات ثلاثية الأبعاد التي تحدد مظهرها المرئي مع الهندسة والمواد مثل نسخ [page:Mesh]، [page:Line]، [page:Points] أو [page:Sprite]. نسخ من [page:Object3D]، [page:Group] أو [page:Bone] ليست قابلة للتقديم وبالتالي لا يتم تنفيذ هذا الرد الاتصال لمثل هذه الكائنات.

### [property:Function onAfterShadow]

An optional callback that is executed immediately after a 3D object is rendered to a shadow map. This function is called with the following parameters: renderer, scene, camera, shadowCamera, geometry, depthMaterial, group.

يرجى ملاحظة أن هذا الرد الاتصال يتم تنفيذه فقط لـ `renderable` 3D كائنات. معنى كائنات ثلاثية الأبعاد التي تحدد مظهرها المرئي مع الهندسة والمواد مثل نسخ [page:Mesh]، [page:Line]، [page:Points] أو [page:Sprite]. نسخ من [page:Object3D]، [page:Group] أو [page:Bone] ليست قابلة للتقديم وبالتالي لا يتم تنفيذ هذا الرد الاتصال لمثل هذه الكائنات.

### [property:Function onBeforeRender]

رد اتصال اختياري يتم تنفيذه مباشرة قبل تقديم كائن ثلاثي الأبعاد . يتم استدعاء هذه الوظيفة بالمعلمات التالية: renderer, scene, camera, geometry, material, group.

يرجى ملاحظة أن هذا الرد الاتصال يتم تنفيذه فقط لـ `renderable` 3D كائنات. معنى كائنات ثلاثية الأبعاد التي تحدد مظهرها المرئي مع الهندسة والمواد مثل نسخ [page:Mesh]، [page:Line]، [page:Points] أو [page:Sprite]. نسخ من [page:Object3D]، [page:Group] أو [page:Bone] ليست قابلة للتقديم وبالتالي لا يتم تنفيذ هذا الرد الاتصال لمثل هذه الكائنات.

### [property:Function onBeforeShadow]

An optional callback that is executed immediately before a 3D object is rendered to a shadow map. This function is called with the following parameters: renderer, scene, camera, shadowCamera, geometry, depthMaterial, group.

يرجى ملاحظة أن هذا الرد الاتصال يتم تنفيذه فقط لـ `renderable` 3D كائنات. معنى كائنات ثلاثية الأبعاد التي تحدد مظهرها المرئي مع الهندسة والمواد مثل نسخ [page:Mesh]، [page:Line]، [page:Points] أو [page:Sprite]. نسخ من [page:Object3D]، [page:Group] أو [page:Bone] ليست قابلة للتقديم وبالتالي لا يتم تنفيذ هذا الرد الاتصال لمثل هذه الكائنات.

### [property:Object3D parent]

والد كائن في [link:https://en.wikipedia.org/wiki/Scene_graph scene graph]. يمكن أن يكون لكائن واحد على الأكثر واحد.

### [property:Vector3 position]

A [page:Vector3] يمثل الموضع المحلي للكائن. الافتراضي هو `(0, 0, 0)`.

### [property:Quaternion quaternion]

دوران المحلية للكائن كـ [page:Quaternion Quaternion].

### [property:Boolean receiveShadow]

ما إذا كان المادة تتلقى الظلال. الافتراضي هو `false`.

### [property:Number renderOrder]

يسمح هذا القيمة بتجاوز ترتيب التصيير الافتراضي لـ [link:https://en.wikipedia.org/wiki/Scene_graph scene graph] objects على الرغم من أن الأشياء المعتمة والشفافة لا تزال مرتبة بشكل مستقل. عند تعيين هذه الخاصية لمثيل [page:Group Group]، سيتم فرز جميع الكائنات النسل وتقديمها معًا. الترتيب من أدنى إلى أعلى renderOrder. القيمة الافتراضية هي `0`.

### [property:Euler rotation]

دوران المحلي للكائن (انظر [link:https://en.wikipedia.org/wiki/Euler_angles Euler angles])، في شعاع.

### [property:Vector3 scale]

مقياس المحلي للكائن. الافتراضي هو [page:Vector3]( 1, 1, 1 ).

### [property:Vector3 up]

يستخدم هذا بواسطة [page:.lookAt lookAt] method، على سبيل المثال، إلى تحديد توجه النتيجة.
الافتراضي هو [page:Object3D.DEFAULT_UP] - أي `( 0, 1, 0 )`.

### [property:Object userData]

كائن يمكن استخدامه لتخزين بيانات مخصصة حول Object3D. يجب ألا يحتوي على مراجع إلى وظائف كونها لن تكون مستنسخة.

### [property:String uuid]

[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] من هذه المثيلة كائن. يتم تعيين هذا تلقائيًا، لذلك يجب عدم تحريره.

### [property:Boolean visible]

الكائن يحصل على التصيير إذا كان `true`. الافتراضي هو `true`.

## الخصائص الثابتة (Static Properties)

يتم تعريف الخصائص والطرق الثابتة لكل فئة بدلاً من كل مثيل لتلك الفئة. هذا يعني أن تغيير [page:Object3D.DEFAULT_UP] أو [page:Object3D.DEFAULT_MATRIX_AUTO_UPDATE] سيغير قيم [page:.up up] و [page:.matrixAutoUpdate matrixAutoUpdate] لـ `كل` مثيل من Object3D (أو الفئات المشتقة) تم إنشاؤه بعد إجراء التغيير (لن يتأثر Object3Ds المنشأ بالفعل).

### [property:Vector3 DEFAULT_UP]

اتجاه [page:.up up] الافتراضي للكائنات، يستخدم أيضًا كموقع افتراضي لـ [page:DirectionalLight]، [page:HemisphereLight] و [page:Spotlight] (الذي يخلق أضواء تشرق من الأعلى إلى الأسفل).
مضبوط على ( 0, 1, 0 ) بشكل افتراضي.

### [property:Boolean DEFAULT_MATRIX_AUTO_UPDATE]

العدد الافتراضي لـ [page:.matrixAutoUpdate matrixAutoUpdate] لـ Object3Ds المنشأة حديثًا.

### [property:Boolean DEFAULT_MATRIX_WORLD_AUTO_UPDATE]

العدد الافتراضي لـ [page:.matrixWorldAutoUpdate matrixWorldAutoUpdate] لـ Object3Ds المنشأة حديثًا.

## الوظائف (Methods)

طرق [page:EventDispatcher EventDispatcher] متاحة على هذه فئة.

### [method:this add]( [param:Object3D object], ... )

يضيف `object` كطفل لهذا الكائن. يمكن إضافة عدد غير محدود من الكائنات. سيتم إزالة أي والد حالي على كائن ممرر هنا، نظرًا لأنه يمكن أن يكون للكائن والد واحد على الأكثر.
راجع [page:Group] للحصول على معلومات حول تجميع الكائنات يدويًا.

### [method:undefined applyMatrix4]( [param:Matrix4 matrix] )

يطبق تحويل المصفوفة على الكائن ويحدث موقع الكائن ودورانه ومقياسه.

### [method:this applyQuaternion]( [param:Quaternion quaternion] )

يطبق الدوران الممثل بالرباعي على الكائن.

### [method:this attach]( [param:Object3D object] )

يضيف `object` كطفل لهذا، مع الحفاظ على تحويل العالم للكائن.
ملاحظة: هذه الطريقة لا تدعم رسومات المشهد التي تحتوي على نقاط غير متساوية في الحجم (s).

### [method:Object3D clone]( [param:Boolean recursive] )

recursive -- إذا كان صحيحًا، فإن نسل الكائن يتم استنساخه أيضًا. الافتراضي صحيح.
يعود بنسخة من هذا الكائن واختياريًا جميع النسل.

### [method:this copy]( [param:Object3D object], [param:Boolean recursive] )

recursive -- إذا كان صحيحًا، فإن نسل الكائن يتم نسخه أيضًا. الافتراضي صحيح.
نسخ الكائن المعطى في هذا الكائن. ملاحظة: لا يتم نسخ مستمعو الأحداث و التعليمات البرمجية المعرفة من قبل المستخدم ([page:.onAfterRender] و [page:.onBeforeRender]).

### [method:Object3D getObjectById]( [param:Integer id] )

id -- رقم فريد لمثيل الكائن
يبحث في كائن وأطفاله، بدءًا من الكائن نفسه، ويرجع أول مطابقة مع id.
لاحظ أنه يتم تعيين المعرفات بالترتيب التاريخي: 1، 2، 3، ...، زيادة بواحد لكل كائن جديد.

### [method:Object3D getObjectByName]( [param:String name] )

name -- سلسلة للمطابقة مع خصائص Object3D.name للأطفال.
يبحث في كائن وأطفاله، بدءًا من الكائن نفسه، ويرجع أول مطابقة مع اسم.
لاحظ أنه بالنسبة لمعظم الكائنات، يكون الاسم سلسلة فارغة بشكل افتراضي. سوف ستضطر إلى تعيينه يدويًا للاستفادة من هذه الطريقة.

### [method:Object3D getObjectByProperty]( [param:String name], [param:Any value] )

name -- اسم الخاصية التي يتم البحث عنها.
value -- قيمة الخاصية المعطاة.
يبحث في كائن وأطفاله، بدءًا من الكائن نفسه، ويرجع أول مع خاصية تطابق القيمة معطى.

### [method:Object3D getObjectsByProperty]( [param:String name], [param:Any value], [param:Array optionalTarget] )

name -- اسم الخاصية التي يتم البحث عنها.
value -- قيمة الخاصية المعطاة.
optionalTarget -- (optional) target to set the result. Otherwise a new Array is instantiated. If set, you must clear this array prior to each call (i.e., array.length = 0;).
يبحث في كائن وأطفاله، بدءًا من الكائن نفسه، ويرجع جميع الكائنات مع خاصية تطابق القيمة معطى.

### [method:Vector3 getWorldPosition]( [param:Vector3 target] )

[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
يعود بمتجه يمثل موقع الكائن في الفضاء العالمي.

### [method:Quaternion getWorldQuaternion]( [param:Quaternion target] )

[page:Quaternion target] — سيتم نسخ النتيجة في هذا Quaternion.
يعود برباعي يمثل دوران الكائن في الفضاء العالمي.

### [method:Vector3 getWorldScale]( [param:Vector3 target] )

[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
يعود بمتجه من عوامل التحجيم المطبقة على الكائن لكل محور في الفضاء العالمي.

### [method:Vector3 getWorldDirection]( [param:Vector3 target] )

[page:Vector3 target] — سيتم نسخ النتيجة في هذا Vector3.
يعود بمتجه يمثل اتجاه محور z الموجب للكائن في الفضاء العالمي.

### [method:Vector3 localToWorld]( [param:Vector3 vector] )

vector - متجه يمثل موقعًا في هذا المساحة المحلية للكائن.
يحول المتجه من مساحة هذا الكائن المحلية إلى الفضاء العالمي.

### [method:undefined lookAt]( [param:Vector3 vector] )
[method:undefined lookAt]( [param:Float x], [param:Float y], [param:Float z] )

vector - متجه يمثل موقعًا في الفضاء العالمي.
اختياريًا، [page:.x x]، [page:.y y] و [page:.z z] مكونات من موقع الفضاء العالمي.
يدور الكائن لمواجهة نقطة في الفضاء العالمي.
هذه الطريقة لا تدعم كائنات تحتوي على والد (والدين) غير متساوي (ين) في الحجم.

### [method:undefined raycast]( [param:Raycaster raycaster], [param:Array intersects] )

طريقة فارغة (فارغة) للحصول على تقاطعات بين شعاع صب وهذا كائن. تطبق فئات فرعية مثل [page:Mesh]، [page:Line]، و [page:Points] هذه الطريقة من أجل استخدام التصوير بالأشعة.

### [method:this remove]( [param:Object3D object], ... )

يزيل `object` كطفل لهذا الكائن. يمكن إزالة عدد غير محدود من الكائنات قد تم إزالته.

### [method:this removeFromParent]()

يزيل هذا الكائن من والده الحالي.

### [method:this clear]()

يزيل جميع كائنات الأطفال.

### [method:this rotateOnAxis]( [param:Vector3 axis], [param:Float angle] )

axis -- متجه معتدل في المساحة المحلية.
angle -- الزاوية بالراديان.
قم بتدوير كائن على طول محور في المساحة المحلية. يفترض أن يكون المحور معتدل.

### [method:this rotateOnWorldAxis]( [param:Vector3 axis], [param:Float angle])

axis -- متجه معتدل في المساحة العالمية.
angle -- الزاوية بالراديان.
قم بتدوير كائن على طول محور في المساحة العالمية. يفترض أن يكون المحور معتدل. تفترض طريقة عدم وجود والد دوران.

### [method:this rotateX]( [param:Float rad] )

rad - الزاوية للتدوير بالراديان.
يدور الكائن حول محور x في المساحة المحلية.

### [method:this rotateY]( [param:Float rad] )

rad - الزاوية للتدوير بالراديان.
يدور الكائن حول محور y في المساحة المحلية.

### [method:this rotateZ]( [param:Float rad] )

rad - الزاوية للتدوير بالراديان.
يدور الكائن حول محور z في المساحة المحلية.

### [method:undefined setRotationFromAxisAngle]( [param:Vector3 axis], [param:Float angle] )

axis -- متجه معتدل في المساحة المحلية.
angle -- زاوية بالراديان
يستدعي [page:Quaternion.setFromAxisAngle setFromAxisAngle]( [page:Float axis], [page:Float angle] ) على [page:.quaternion].

### [method:undefined setRotationFromEuler]( [param:Euler euler] )

euler -- زاوية أويلر تحدد كمية الدوران.
يستدعي [page:Quaternion.setRotationFromEuler setRotationFromEuler]( [page:Euler euler]) على [page:.quaternion].

### [method:undefined setRotationFromMatrix]( [param:Matrix4 m] )

m -- قم بتدوير الرباعي بمكون الدوران من المصفوفة.
يستدعي [page:Quaternion.setFromRotationMatrix setFromRotationMatrix]( [page:Matrix4 m]) على [page:.quaternion].
لاحظ أن هذا يفترض أن الـ 3x3 العلوي من m هو مصفوفة دوران نقية (أي غير مقاس).

### [method:undefined setRotationFromQuaternion]( [param:Quaternion q] )

q -- رباعي معتدل.
نسخ الرباعي المعطى في [page:.quaternion].

### [method:Object toJSON]( [param:Object meta] )

meta -- كائن يحتوي على بيانات تعريفية مثل المواد أو القوام أو الصور للكائن.
قم بتحويل الكائن إلى three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].

### [method:this translateOnAxis]( [param:Vector3 axis], [param:Float distance] )

axis -- متجه معتدل في المساحة المحلية.
distance -- المسافة التي يتم ترجمتها.
قم بترجمة كائن بمسافة على طول محور في المساحة المحلية. يفترض أن يكون المحور معتدل.

### [method:this translateX]( [param:Float distance] )

يترجم الكائن على طول محور x في المساحة المحلية بوحدات `distance`.

### [method:this translateY]( [param:Float distance] )

يترجم الكائن على طول محور y في المساحة المحلية بوحدات `distance`.

### [method:this translateZ]( [param:Float distance] )

يترجم الكائن على طول محور z في المساحة المحلية بوحدات `distance`.

### [method:undefined traverse]( [param:Function callback] )

callback - وظيفة مع كأول وسيطة كائن object3D.
ينفذ رد الاتصال على هذا الكائن وجميع النسل.
ملاحظة: يُفضل عدم تعديل رسم المشهد داخل رد الاتصال.

### [method:undefined traverseVisible]( [param:Function callback] )

callback - وظيفة مع كأول وسيطة كائن object3D.
مثل traverse، ولكن سيتم تنفيذ رد الاتصال فقط للكائنات المرئية. لا يتم اجتياز نسل الكائنات غير المرئية.
ملاحظة: يُفضل عدم تعديل رسم المشهد داخل رد الاتصال.

### [method:undefined traverseAncestors]( [param:Function callback] )

callback - وظيفة مع كأول وسيطة كائن object3D.
ينفذ رد الاتصال على جميع الأجداد.
ملاحظة: يُفضل عدم تعديل رسم المشهد داخل رد الاتصال.

### [method:undefined updateMatrix]()

يحدث التحويل المحلي.

### [method:undefined updateMatrixWorld]( [param:Boolean force] )

force - منطقي يمكن استخدامه لتجاوز [page:.matrixWorldAutoUpdate]، لإعادة حساب مصفوفة العالم لـ الكائن والنسل في الإطار الحالي. مفيد إذا لم تتمكن من الانتظار المصور لتحديثه في الإطار التالي (باستخدام [page:.matrixWorldAutoUpdate] مضبوط على `true`).
يحدث التحويل العالمي للكائن ونسله إذا كان تحتاج مصفوفة العالم إلى تحديث ([page:.matrixWorldNeedsUpdate] مضبوط على true) أو إذا تم تعيين معلمة `force` على `true`.

### [method:undefined updateWorldMatrix]( [param:Boolean updateParents], [param:Boolean updateChildren] )

updateParents - يحدث تحويل العالم للأجداد بشكل متكرر.
updateChildren - يحدث تحويل العالم للنسل بشكل متكرر.
يحدث التحويل العالمي للكائن.

### [method:Vector3 worldToLocal]( [param:Vector3 vector] )

vector - متجه يمثل موقعًا في الفضاء العالمي.
يحول المتجه من المساحة العالمية إلى المساحة المحلية لهذا الكائن.

## المصدر (Source)

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