MeshLambertMaterial.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="list.js"></script>
  7. <script src="page.js"></script>
  8. <link type="text/css" rel="stylesheet" href="page.css" />
  9. </head>
  10. <body>
  11. [page:Material] &rarr;
  12. <h1>Lambert网格材质([name])</h1>
  13. <p class="desc"> 一种非光泽表面的材质,没有镜面高光。<br /><br />
  14. 该材质使用基于非物理的[link:https://en.wikipedia.org/wiki/Lambertian_reflectance Lambertian]模型来计算反射率。
  15. 这可以很好地模拟一些表面(例如未经处理的木材或石材),但不能模拟具有镜面高光的光泽表面(例如涂漆木材)。<br /><br />
  16. 使用[link:https://en.wikipedia.org/wiki/Gouraud_shading Gouraud]着色模型计算着色。这将计算每个顶点的着色
  17. (即在[link:https://en.wikipedia.org/wiki/Shader#Vertex_shaders vertex shader]中)并在多边形的面上插入结果。<br /><br />
  18. 由于反射率和光照模型的简单性,[page:MeshPhongMaterial],[page:MeshStandardMaterial]或者[page:MeshPhysicalMaterial]
  19. 上使用这种材质时会以一些图形精度为代价,得到更高的性能。
  20. </p>
  21. <iframe id="scene" src="scenes/material-browser.html#MeshLambertMaterial"></iframe>
  22. <script>
  23. // iOS iframe auto-resize workaround
  24. if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
  25. var scene = document.getElementById( 'scene' );
  26. scene.style.width = getComputedStyle( scene ).width;
  27. scene.style.height = getComputedStyle( scene ).height;
  28. scene.setAttribute( 'scrolling', 'no' );
  29. }
  30. </script>
  31. <h2>构造函数(Constructor)</h2>
  32. <h3>[name]( [param:Object parameters] )</h3>
  33. <p>[page:Object parameters] - (可选)用于定义材质外观的对象,具有一个或多个属性。
  34. 材质的任何属性都可以从此处传入(包括从[page:Material]继承的任何属性)。<br /><br />
  35. 属性[page:Hexadecimal color]例外,其可以作为十六进制字符串传递,默认情况下为 *0xffffff*(白色),内部调用[page:Color.set](color)。
  36. </p>
  37. <h2>属性(Properties)</h2>
  38. <p>常用属性请参见基类[page:Material]。</p>
  39. <h3>[property:Texture alphaMap]</h3>
  40. <p>alpha贴图是一种灰度纹理,用于控制整个表面的不透明度(黑色:完全透明;白色:完全不透明)。默认值为null。<br /><br />
  41. 仅使用纹理的颜色,忽略alpha通道(如果存在)。对于RGB和RGBA纹理,[page:WebGLRenderer WebGL]渲染器在采样此纹理时将使用绿色通道,
  42. 因为在DXT压缩和未压缩RGB 565格式中为绿色提供了额外的精度。Luminance-only以及luminance/alpha纹理也仍然有效。
  43. </p>
  44. <h3>[property:Texture aoMap]</h3>
  45. <p> 该纹理的红色通道用作环境遮挡贴图。默认值为null。aoMap需要第二组UVs,因此将忽略[page:Texture repeat]和[page:Texture offset]纹理属性。</p>
  46. <h3>[property:Float aoMapIntensity]</h3>
  47. <p> 环境遮挡效果的强度。默认值为1。零是不遮挡效果。</p>
  48. <h3>[property:Color color]</h3>
  49. <p> 材质的颜色([page:Color]),默认值为白色 (0xffffff)。</p>
  50. <h3>[property:Integer combine]</h3>
  51. <p> 如何将表面颜色的结果与环境贴图(如果有)结合起来。<br /><br />
  52. 选项为[page:Materials THREE.Multiply](默认值),[page:Materials THREE.MixOperation],
  53. [page:Materials THREE.AddOperation]。如果选择多个,则使用[page:.reflectivity]在两种颜色之间进行混合。
  54. </p>
  55. <h3>[property:Color emissive]</h3>
  56. <p> 材质的放射(光)颜色,基本上是不受其他光照影响的固有颜色。默认为黑色。
  57. </p>
  58. <h3>[property:Texture emissiveMap]</h3>
  59. <p> 设置放射(发光)贴图。默认值为null。放射贴图颜色由放射颜色和强度所调节。
  60. 如果你有一个放射贴图,请务必将放射颜色设置为黑色以外的其他颜色。
  61. </p>
  62. <h3>[property:Float emissiveIntensity]</h3>
  63. <p> 放射光强度。调节发光颜色。默认为1。</p>
  64. <h3>[property:TextureCube envMap]</h3>
  65. <p> 环境贴图。默认值为null。</p>
  66. <h3>[property:Boolean isMeshLambertMaterial]</h3>
  67. <p> 用于检查此类或派生类是否为Lambert网格材质。默认值为 *true*。<br /><br />
  68. 因为其通常用在内部优化,所以不应该更改该属性值。
  69. </p>
  70. <h3>[property:Texture lightMap]</h3>
  71. <p>光照贴图。默认值为null。lightMap需要第二组UVs,因此将忽略[page:Texture repeat]和[page:Texture offset]纹理属性。</p>
  72. <h3>[property:Float lightMapIntensity]</h3>
  73. <p>烘焙光的强度。默认值为1。</p>
  74. <h3>[property:Texture map]</h3>
  75. <p>颜色贴图。默认为null。</p>
  76. <h3>[property:boolean morphNormals]</h3>
  77. <p> 定义是否使用morphNormals。设置为true可将morphNormal属性从[page:Geometry]传递到shader。默认值为*false*。
  78. </p>
  79. <h3>[property:Boolean morphTargets]</h3>
  80. <p>定义材质是否使用morphTargets。默认值为false。</p>
  81. <h3>[property:Float reflectivity]</h3>
  82. <p> 环境贴图对表面的影响程度; 见[page:.combine]。默认值为1,有效范围介于0(无反射)和1(完全反射)之间。</p>
  83. <h3>[property:Float refractionRatio]</h3>
  84. <p>空气的折射率(IOR)(约为1)除以材质的折射率。它与环境映射模式[page:Textures THREE.CubeRefractionMapping]
  85. 和[page:Textures THREE.EquirectangularRefractionMapping]一起使用。
  86. 折射率不应超过1。默认值为*0.98*。
  87. </p>
  88. <h3>[property:Boolean skinning]</h3>
  89. <p>材质是否使用蒙皮。默认值为false。</p>
  90. <h3>[property:Texture specularMap]</h3>
  91. <p>材质使用的高光贴图。默认值为null。</p>
  92. <h3>[property:Boolean wireframe]</h3>
  93. <p>将几何体渲染为线框。默认值为*false*(即渲染为平面多边形)。</p>
  94. <h3>[property:String wireframeLinecap]</h3>
  95. <p>定义线两端的外观。可选值为 'butt','round' 和 'square'。默认为'round'。<br /><br />
  96. 该属性对应[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin]属性,
  97. 并且会被[page:WebGLRenderer WebGL]渲染器忽略。
  98. </p>
  99. <h3>[property:String wireframeLinejoin]</h3>
  100. <p>
  101. 定义线连接节点的样式。可选值为 'round', 'bevel' 和 'miter'。默认值为 'round'。<br /><br />
  102. 该属性对应[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin]属性,
  103. 并且会被[page:WebGLRenderer WebGL]渲染器忽略。
  104. </p>
  105. <h3>[property:Float wireframeLinewidth]</h3>
  106. <p> 控制线框宽度。默认值为1。<br /><br />
  107. 由于[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]与
  108. 大多数平台上[page:WebGLRenderer WebGL]渲染器的限制,无论如何设置该值,线宽始终为1。
  109. </p>
  110. <h2>方法(Methods)</h2>
  111. <p>常用方法请参见基类[page:Material]。</p>
  112. <h2>源码(Source)</h2>
  113. [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
  114. </body>
  115. </html>