You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
313 lines
14 KiB
HTML
313 lines
14 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ar">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<base href="../../../" />
|
|
<script src="page.js"></script>
|
|
<link type="text/css" rel="stylesheet" href="page.css" />
|
|
</head>
|
|
<body class="rtl">
|
|
[page:Material] →
|
|
|
|
<h1>[name]</h1>
|
|
|
|
<p class="desc">
|
|
مادة قائمة على الفيزياء القياسية، باستخدام سير عمل Metallic-Roughness.<br /><br />
|
|
|
|
أصبح التقديم القائم على الفيزياء (PBR) مؤخرًا المعيار في العديد من
|
|
تطبيقات 3D، مثل
|
|
[link:https://blogs.unity3d.com/2014/10/29/physically-based-shading-in-unity-5-a-primer/ Unity]،
|
|
[link:https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/PhysicallyBased/ Unreal] و
|
|
[link:http://area.autodesk.com/blogs/the-3ds-max-blog/what039s-new-for-rendering-in-3ds-max-2017 3D Studio Max].<br /><br />
|
|
|
|
هذا النهج يختلف عن النهج الأقدم في أنه بدلاً من استخدام
|
|
تقريبات لطريقة تفاعل الضوء مع سطح، يتم استخدام نموذج صحيح فيزيائيًا. الفكرة هي أنه، بدلاً من تعديل
|
|
المواد لتبدو جيدة تحت إضاءة محددة، يمكن إنشاء مادة
|
|
سوف تتفاعل 'بشكل صحيح' تحت جميع سيناريوهات الإضاءة.<br /><br />
|
|
|
|
عمليًا يعطي هذا نتيجة أكثر دقة وواقعية من
|
|
[page:MeshLambertMaterial] أو [page:MeshPhongMaterial]، بتكلفة
|
|
أن يكون أكثر تكلفة حسابية قليلًا. يستخدم [name] التظليل لكل جزء.<br /><br />
|
|
|
|
لاحظ أنه للحصول على أفضل النتائج يجب دائمًا تحديد [page:.envMap خريطة بيئة]
|
|
عند استخدام هذه المادة.<br /><br />
|
|
|
|
لمقدمة غير فنية لمفهوم PBR وكيفية إعداد مادة PBR، تحقق من هذه المقالات من قِبَل الأشخاص في
|
|
[link:https://www.marmoset.co marmoset]:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
[link:https://www.marmoset.co/posts/basic-theory-of-physically-based-rendering/ Basic Theory of Physically Based Rendering]
|
|
</li>
|
|
<li>
|
|
[link:https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/ Physically Based Rendering and You Can Too]
|
|
</li>
|
|
</ul>
|
|
<p>
|
|
التفاصيل الفنية للنهج المستخدم في three.js (ومعظم نظم PBR الأخرى)
|
|
يمكن العثور على هذا
|
|
[link:https://media.disneyanimation.com/uploads/production/publication_asset/48/asset/s2012_pbs_disney_brdf_notes_v3.pdf ورقة من Disney]
|
|
(pdf)، بواسطة Brent Burley.
|
|
</p>
|
|
|
|
<iframe
|
|
id="scene"
|
|
src="scenes/material-browser.html#MeshStandardMaterial"
|
|
></iframe>
|
|
|
|
<script>
|
|
|
|
// iOS iframe auto-resize workaround
|
|
|
|
if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
|
|
|
|
const scene = document.getElementById( 'scene' );
|
|
|
|
scene.style.width = getComputedStyle( scene ).width;
|
|
scene.style.height = getComputedStyle( scene ).height;
|
|
scene.setAttribute( 'scrolling', 'no' );
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
<h2>المنشئ (Constructor)</h2>
|
|
|
|
<h3>[name]( [param:Object parameters] )</h3>
|
|
<p>
|
|
[page:Object parameters] - (اختياري) كائن بواحد أو أكثر
|
|
خصائص تحدد مظهر المادة. يمكن تمرير أي خاصية من
|
|
المادة (بما في ذلك أي خاصية موروثة من [page:Material]) هنا.<br /><br />
|
|
|
|
الاستثناء هو الخاصية [page:Hexadecimal color]، التي يمكن
|
|
تمريرها كسلسلة ست عشرية وهي `0xffffff` (أبيض) بشكل افتراضي.
|
|
يتم استدعاء [page:Color.set]( color ) داخليًا.
|
|
</p>
|
|
|
|
<h2>الخصائص (Properties)</h2>
|
|
<p>انظر إلى فئة [page:Material] الأساسية للخصائص المشتركة.</p>
|
|
|
|
<h3>[property:Texture alphaMap]</h3>
|
|
<p>
|
|
خريطة الألفا هي قوام رمادي يتحكم في الشفافية عبر
|
|
السطح (أسود: شفاف تمامًا؛ أبيض: غير شفاف تمامًا). الافتراضى هى null.<br /><br />
|
|
|
|
يُستخدَم فقط لون القوام، متجاهلاً قناة الألفا إذا كانت واحدة
|
|
موجود. بالنسبة لقوام RGB و RGBA، سوف يستخدم [page:WebGLRenderer WebGL] renderer
|
|
قناة اللون الأخضر عند أخذ عينات من هذه القوام بسبب البت الإضافي
|
|
الدقة المقدمة للأخضر في تنسيقات DXT المضغوطة و RGB 565 غير المضغوطة.
|
|
ستعمل قوام الإضاءة فقط وقوام الإضاءة / الألفا أيضًا كما هو متوقع.
|
|
</p>
|
|
|
|
<h3>[property:Texture aoMap]</h3>
|
|
<p>
|
|
يُستخدَم قناة اللون الأحمر من هذه القوام كخريطة احتجاب محيط.
|
|
الافتراضى هى null. يتطلب aoMap مجموعة ثانية من UVs.
|
|
</p>
|
|
|
|
<h3>[property:Float aoMapIntensity]</h3>
|
|
<p>
|
|
شدة تأثير الاحتجاب المحيط. الافتراضى هو 1. الصفر هو لا
|
|
تأثير احتجاب.
|
|
</p>
|
|
|
|
<h3>[property:Texture bumpMap]</h3>
|
|
<p>
|
|
القوام لإنشاء خريطة بروز. تُعين قِيَمُ الأبيض والأسود إلى
|
|
العمق المدرك فيما يتعلق بالأضواء. لا يؤثر البروز فعليًا
|
|
على هندسة الكائن، فقط الإضاءة. إذا تم تعريف خريطة عادية
|
|
سيتم تجاهل هذا.
|
|
</p>
|
|
|
|
<h3>[property:Float bumpScale]</h3>
|
|
<p>
|
|
مدى تأثير خريطة البروز على المادة. المدى النموذجى هو 0-1.
|
|
الافتراضى هو 1.
|
|
</p>
|
|
|
|
<h3>[property:Color color]</h3>
|
|
<p>[page:Color] المادة، بشكل افتراضى مضبوط على أبيض (0xffffff).</p>
|
|
|
|
<h3>[property:Object defines]</h3>
|
|
<p>
|
|
كائن من نوع:
|
|
<code> { 'STANDARD': '' }; </code>
|
|
|
|
يستخدم هذا بواسطة [page:WebGLRenderer] لتحديد المُظَهِّرات.
|
|
</p>
|
|
|
|
<h3>[property:Texture displacementMap]</h3>
|
|
<p>
|
|
تؤثر خريطة التشويه على موضع رؤوس شبكة المادة. على عكس
|
|
خرائط أخرى التي تؤثر فقط على الضوء والظل للمادة
|
|
الرؤوس المشوهة يمكن أن تلقي ظلالًا، وتحجب كائنات أخرى، وغير ذلك
|
|
العمل كهندسة حقيقية. خريطة التشويه هي صورة حيث قِيَمَةُ كل بكسل (الأبيض هو الأعلى) مُعَيَّنَةٌ ضد، و
|
|
إعادة تحديد مواقع، رؤوس الشبكة.
|
|
</p>
|
|
|
|
<h3>[property:Float displacementScale]</h3>
|
|
<p>
|
|
مدى تأثير خريطة التشويه على الشبكة (حيث اللون الأسود هو لا
|
|
التشويه، والأبيض هو التشويه الأقصى). بدون تعيين خريطة تشويه،
|
|
لا يتم تطبيق هذه القيمة. الافتراضى هو 1.
|
|
</p>
|
|
|
|
<h3>[property:Float displacementBias]</h3>
|
|
<p>
|
|
إزاحة قِيَمِ خريطة التشويه على رؤوس شبكة المادة.
|
|
بدون تعيين خريطة تشويه، لا يتم تطبيق هذه القيمة. الافتراضى هو 0.
|
|
</p>
|
|
|
|
<h3>[property:Color emissive]</h3>
|
|
<p>
|
|
لون المادة المُضِيءِ (الضوء)، عبارة عن لون صلب
|
|
غير متأثر بإضاءة أخرى. الافتراضى هو أسود.
|
|
</p>
|
|
|
|
<h3>[property:Texture emissiveMap]</h3>
|
|
<p>
|
|
تعيين خريطة مُضِيئَة (مُضِيئَة). الافتراضى هى null. يتم تعديل لون خريطة المُضِيئَة
|
|
بواسطة اللون المُضِيئَ وشدة المُضِيئَ. إذا كان لديك
|
|
خريطة مُضِيئَ، تأكد من تعيين اللون المُضِيئَ إلى شيء آخر
|
|
غير أسود.
|
|
</p>
|
|
|
|
<h3>[property:Float emissiveIntensity]</h3>
|
|
<p>
|
|
شدة الضوء المُضِيئَ. يعدل اللون المُضِيئَ. الافتراضى هو
|
|
1.
|
|
</p>
|
|
|
|
<h3>[property:Texture envMap]</h3>
|
|
<p>
|
|
خريطة البيئة. لضمان التقديم الصحيح فيزيائًا، يجب عليك
|
|
فقط إضافة خرائط بيئية تم معالجتها مسبقًا بـ
|
|
[page:PMREMGenerator]. الافتراضى هى null.
|
|
</p>
|
|
|
|
<h3>[property:Float envMapIntensity]</h3>
|
|
<p>تقوم بتحجيم تأثير خريطة البيئة عن طريق ضرب لونها.</p>
|
|
|
|
<h3>[property:Boolean flatShading]</h3>
|
|
<p>
|
|
تحديد ما إذا كان يتم تصدير المادة بظلال مسطحة. الافتراضى هو
|
|
false.
|
|
</p>
|
|
|
|
<h3>[property:Boolean fog]</h3>
|
|
<p>ما إذا كانت المادة متأثرة بالضباب. الافتراضى هو `true`.</p>
|
|
|
|
<h3>[property:Boolean isMeshStandardMaterial]</h3>
|
|
<p>علامة للقراءة فقط للتحقق مما إذا كان كائن معين من نوع [name].</p>
|
|
|
|
<h3>[property:Texture lightMap]</h3>
|
|
<p>
|
|
خريطة الضوء. الافتراضى هى null. يتطلب lightMap مجموعة ثانية من UVs.
|
|
</p>
|
|
|
|
<h3>[property:Float lightMapIntensity]</h3>
|
|
<p>شدة الضوء المخبوز. الافتراضى هو 1.</p>
|
|
|
|
<h3>[property:Texture map]</h3>
|
|
<p>
|
|
خريطة اللون. قد تشمل اختياريًا قناة ألفا، عادةً مجتمعة
|
|
مع [page:Material.transparent .transparent] أو [page:Material.alphaTest .alphaTest].
|
|
الافتراضى هى null. يتم تعديل لون خريطة القوام بواسطة اللون المُشْتَتِّ [page:.color].
|
|
</p>
|
|
|
|
<h3>[property:Float metalness]</h3>
|
|
<p>
|
|
مدى شبه المادة بالمعدن. المواد غير المعدنية مثل الخشب
|
|
أو الحجر استخدم 0.0، المعدن استخدم 1.0، مع عدم وجود شيء (عادة) في الوسط.
|
|
الافتراضى هو 0.0. يمكن استخدام قيمة بين 0.0 و 1.0 للحصول على مظهر معدن صدئ.
|
|
إذا تم توفير metalnessMap أيضًا، تتم ضرب كلا القيمتين.
|
|
</p>
|
|
|
|
<h3>[property:Texture metalnessMap]</h3>
|
|
<p>
|
|
يُستخدَم قناة اللون الأزرق من هذه القوام لتغيير شبه المادة
|
|
بالمعدن.
|
|
</p>
|
|
|
|
<h3>[property:Texture normalMap]</h3>
|
|
<p>
|
|
القوام لإنشاء خريطة عادية. تؤثر قِيَمُ RGB على سطح
|
|
الطبيعية لكل جزء بكسل وتغير طريقة إضاءة اللون. خرائط عادية
|
|
لا تغير شكل السطح الفعلي، فقط الإضاءة. في حال كانت المادة لديها خريطة عادية باستخدام التقليد
|
|
الذي يستخدم يدًا يسرى، يجب إنكار مكوِّن y من normalScale للتعويض
|
|
على التفاوت في التسلسل.
|
|
</p>
|
|
|
|
<h3>[property:Integer normalMapType]</h3>
|
|
<p>
|
|
نوع خريطة عادية.<br /><br />
|
|
|
|
الخيارات هى [page:constant THREE.TangentSpaceNormalMap] (الافتراضى)، و
|
|
[page:constant THREE.ObjectSpaceNormalMap].
|
|
</p>
|
|
|
|
<h3>[property:Vector2 normalScale]</h3>
|
|
<p>
|
|
مدى تأثير خريطة عادية على المادة. المدى النموذجى هو 0-1.
|
|
الافتراضى هو [page:Vector2] مضبوط على (1,1).
|
|
</p>
|
|
|
|
<h3>[property:Float roughness]</h3>
|
|
<p>
|
|
مدى خشونة المادة. 0.0 يعني انعكاس مرآة ناعم، 1.0
|
|
يعني تشتت كامل. الافتراضي هو 1.0. إذا تم توفير roughnessMap أيضًا،
|
|
تتم ضرب كلا القيمتين.
|
|
</p>
|
|
|
|
<h3>[property:Texture roughnessMap]</h3>
|
|
<p>
|
|
يُستخدَم قناة اللون الأخضر من هذه القوام لتغيير خشونة
|
|
المادة.
|
|
</p>
|
|
|
|
<h3>[property:Boolean wireframe]</h3>
|
|
<p>
|
|
تصدير الهندسة كإطار سلكي. الافتراضى هو `false` (أي تصدير كأشكال مسطحة).
|
|
</p>
|
|
|
|
<h3>[property:String wireframeLinecap]</h3>
|
|
<p>
|
|
تحديد مظهر نهايات الخطوط. القيم الممكنة هى "butt"، "round" و
|
|
"square". الافتراضى هو 'round'.<br /><br />
|
|
|
|
هذا يتوافق مع
|
|
[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap 2D Canvas lineCap]
|
|
خاصية ويتم تجاهله بواسطة [page:WebGLRenderer WebGL] renderer.
|
|
</p>
|
|
|
|
<h3>[property:String wireframeLinejoin]</h3>
|
|
<p>
|
|
تحديد مظهر مفاصل الخطوط. القيم الممكنة هى "round"، "bevel" و
|
|
"miter". الافتراضى هو 'round'.<br /><br />
|
|
|
|
هذا يتوافق مع
|
|
[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin]
|
|
خاصية ويتم تجاهله بواسطة [page:WebGLRenderer WebGL] renderer.
|
|
</p>
|
|
|
|
<h3>[property:Float wireframeLinewidth]</h3>
|
|
<p>
|
|
يتحكم في سُمْكِ الإطارِ السلكِيِّ. الافتراضى هو 1.<br /><br />
|
|
|
|
بسبب قيود
|
|
[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]
|
|
مع [page:WebGLRenderer WebGL] renderer على معظم
|
|
المنصات سيظل linewidth دائمًا 1 بغض النظر عن القيمة المحددة.
|
|
</p>
|
|
|
|
<h2>الطرق (Methods)</h2>
|
|
<p>انظر إلى فئة [page:Material] الأساسية للطرق المشتركة.</p>
|
|
|
|
<h2>المصدر (Source)</h2>
|
|
|
|
<p>
|
|
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
|
|
</p>
|
|
</body>
|
|
</html>
|