我目前使用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座標是最佳的。 –