我正在尝试使用three.js将模型加载到Web中,并且模型位于fbx文件中。
我尝试使用此代码,并且成功加载了模型,但无法像衣服一样在图像中碰到凹凸。
var loader = new THREE.FBXLoader();
loader.load( 'models/kitty/HelloKityy_HP.FBX', function ( object ) {
object.traverse( function ( child ) {
if ( child.isMesh ) {
child.castShadow = true;
child.receiveShadow = false;
child.flatshading = true;
}
} );
scene.add( object );
} );
这是没有凸起的布料图像:
这是网络中模型的整体图片:
而且我不知道我是否做错了,我在js中为加载的对象添加了普通纹理:
var loader = new THREE.FBXLoader();
loader.load( 'models/kitty/HelloKityy_HP.FBX', function ( object ) {
object.traverse( function ( child ) {
if ( child.isMesh ) {
child.material.normalMap = THREE.ImageUtils.loadTexture('/models/kitty/normal.jpg');
child.castShadow = true;
child.receiveShadow = false;
child.flatshading = true;
}
} );
scene.add( object );
} );
和我在衣服上遇到了麻烦:
但这里出现的实际问题是图像上出现不需要的黑白图像:
请你帮我一下。
提前谢谢。
答案 0 :(得分:0)
我是初学者, 我假设,您需要小猫的衣服光滑,并且当使用归一化进行操作时,整个fbx 3d对象都会生效。 为了使“独自打扮”有效。
loader.load('kitty.obj',obj=>{scene.add(obj)});
loader.load('kittyDress.fbx',obj=>{ //can make normalisation or effect to cloth here. scene.add(obj); });