我目前使用Three.js来尝试创建一些东西。我有一个球体,我试图将眼球图像here映射到它上面。将图像映射到Three.js中的球体上
我的问题是,结果如下: -
我怎样才能得到它头也不回的拉伸正确映射?我创建球体和绘制纹理的代码如下: -
var geometry = new THREE.SphereGeometry(0.5,100,100);
var material = new THREE.MeshPhongMaterial({ map: THREE.ImageUtils.loadTexture('eyeballmap.jpg',THREE.SphericalRefractionMapping) });
var eyeball = new THREE.Mesh(geometry, material);
eyeball.overdraw = true;
eyeball.castShadow = true;
scene.add(eyeball);
希望有人可以提供帮助吗?
我认为有可能是坏了我的质地一般形状 - 在那里我会放白色空间?白色空间也(我认为)不会影响图像的虹膜/瞳孔部分的扭曲,是不是? –
您的纹理是512x512,所以您可能需要在其周围(每边)添加尽可能多的空白区域,以便瞳孔占用更少的空间(作为纹理大小的百分比)。那么你将会减少失真。您可能会考虑的另一个选项是更改球体的UV坐标,以便您的图像(原样)落在正确的位置。 – gaitat
对不起,我是新来的,所以我不知道要添加多少空白空间,也不知道UV坐标是最佳的。 –