美文网首页
Material 材质

Material 材质

作者: shirleyR | 来源:发表于2017-05-03 00:06 被阅读0次

    材质决定了物体是否透明颜色等

    three.js 中涉及的主要几种材质

    • MeshBasicMaterial

      • color
      • wireframe
      • wireframelinewidth
      • wireframelinecap
      • wireframeLineJoin
      • Shading
      • vertexColors
      • fog
    • MeshDepthMaterial

      • 这个材质不受光线和材质属性的影响,主要由与物体离相机的距离决定 很容易结合其他材质产生阴影效果??
    image.png
    - wireframe
    - wireframeLineWidth
    
    • MeshNormalMaterial
    • MeshLambertMaterial
    • MeshPhongMaterial
    • ShaderMaterial
    • LineBasicMaterial
    • LineDashMaterial

    材质的混合

    var cubeMaterial  = new THREE.MeshDepthMaterial();
    var colorMaterial = new THREE.MeshBasicMaterial({
     color: 0x00ff00, transparent: true, blending: THREE.MltiplyBlending});
    var cube = new THREE.SceneUtils.createMultiMaterialObject(cubeGeometry, [colorMaterial, cubeMaterial]);
    // set depth to low layer
    cube.children[1].scale.set(0.99, 0.99, 0.99); 
    
    

    材质的主要属性

    Basic property

    • id : 每产生一种材质分配一个ID,并且从0开始,不断加一
    • uuid:
    • name : 材质名称
    • opacity: 0~1
    • transparent: true /false
    • overdraw 使用THREE.CanvasRenderer多边形是否会更大些??
    • visible
    • Side: THREE.FrontSide / THREE.BackSide/ THREE.DoubleSide
    • needsUpdate: 当材质改变时需要告诉THREE.js

    Blending

    ''' Materials have a couple of generic blending-related properties. Blending determines how the colors we render interact with the colors that are behind them. '''

    • blending: THREE.NormalBlending
    • blendsrc
    • blenddst
    • blendequation

    Advance

    与OpenGL关系比较大

    • depthTest : GL_DEPTH_TEST This parameter controls whether the depth of a pixel is used to determine a new pixel's value
    • depthWrite
    • polygonOffset
    • alphatest

    ShaderMaterial

    相关文章

      网友评论

          本文标题:Material 材质

          本文链接:https://www.haomeiwen.com/subject/icbhtxtx.html