three.js JSONのマテリアルのプロパティを変更する

Three.jsにおいて,マテリアルを作成するときに,FaceColorsを指定したい場合,

material = new THREE.MeshPhongMaterial({vertexColors: THREE.FaceColors});

とすれば良いが,Blender等で作成したマテリアルに対して適用させる方法がわからなかった.

方法

Blender側でも設定できるかもしれないが,今回はエクスポート後のJSONファイルに追加して解決する.
JSONのmaterialsキーを見ると以下のようになっているが,ここに18行目のように追加すれば良い.

    "materials":[{
        "depthTest":true,
        "colorEmissive":[0,0,0],
        "DbgColor":60928,
        "specularCoef":50,
        "doubleSided":false,
        "opacity":1,
        "wireframe":false,
        "DbgName":"Material.002",
        "visible":true,
        "DbgIndex":2,
        "transparent":false,
        "blending":"NormalBlending",
        "shading":"phong",
        "colorDiffuse":[0.64,0.64,0.64],
        "depthWrite":true,
        "colorSpecular":[0,0,0],
        "vertexColors": "face"
    }

他のプロパティについて,どのように追加すれば良いかは
src/loaders/Loader.js
の中の条件分岐を見ればわかる.

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL