如何把gltf material 改成cartoon material?

How to change gltf material to cartoon material?

我不熟悉 three.js 和着色器。我从 C4d 导出带有纹理的 gltf 龙模型并将其加载到 three.js 中的 meshstandard material。我想把它们改成卡通material。使用模型笔画,我可以像这样遍历 gltf material

mesh.traverse((node: any) => {
    let newMat = new THREE.ShaderMaterial({
        uniforms: {
        },
        vertexShader: vertexShader,
        fragmentShader: fragmentShader,
    });

    node.material = newMat
});

找到卡通渲染教程https://blog.csdn.net/weixin_37683659/article/details/79953500

但是我还是不知道怎么结合这个

图书馆已经为您提供了 MeshToonMaterial,我不确定您为什么要使用 ShaderMaterial。 ShaderMaterial 非常高级,需要您编写自己的自定义着色器。你可能想要这样简单的东西:

mesh.traverse((node: any) => {
    let newMat = new THREE.MeshToonMaterial(parameters);
    node.material = newMat
});

要查看您可以使用哪些参数,visit the docs for ToonMaterial