shaderLibからシェーダを適用しようとしていますが、そのほとんどがノードを白くするか黒にするかのどちらかです。 normal
シェーダだけが動作するようです。ノードにThree.jsシェーダを適用する方法
これは私がそれを適用する方法である:
const shader = THREE.ShaderLib.depth;
const uniforms = shader.uniforms;
const material = new THREE.ShaderMaterial({
fragmentShader: shader.fragmentShader,
vertexShader: shader.vertexShader,
uniforms
})
this._viewer.impl.matman().addMaterial(
data.name, material, true)
としてフラグメントの材質を設定します。ただ、この例のように
function setMaterial(fragIds, material) {
const fragList = this._viewer.model.getFragmentList()
this.toArray(fragIds).forEach((fragId) => {
fragList.setMaterial(fragId, material)
})
this._viewer.impl.invalidate(true)
}
:https://forge.autodesk.com/blog/forge-viewer-custom-shaders-part-1
を私も追加しようとしましたその例のような制服に色を付けるが、それは助けにはならなかった。
なぜ機能しないのでしょうか?
これは完全に白ですが、以前の色を維持したい、これも可能ですか? – shinzou
申し訳ありませんが、私のリーグ外です。私は 'THREE.ShaderLib.depth'が何をしたのか分かりません。 Forge Viewerは私有の 'three.js'を使用しているので、' three.js'のすべてのものをサポートしていないかもしれません。 –
ビューアでシェーダを操作する方法や、ビューアのシェーダを実装する方法をオートデスクの誰が知っていますか? – shinzou