從this問題,我試圖生成UV映射編程與three.js所對於某些型號產品簡單的UV貼圖,我需要這個,因爲正在生成我的模型編程也和我需要申請一個簡單的紋理給他們。我已閱讀here併成功爲某些簡單的3D文本生成了UV貼圖,但將相同的貼圖應用於更復雜的模型時,它不起作用。編程方式生成模型
我嘗試應用的質地是這樣的:
黑色背景它的PNG圖像在短短透明。我需要將它應用於我的模型,這只是一個閃光的效果,所以我不在乎模型中的確切位置,是否有任何方法以編程方式爲這些情況創建簡單的UV貼圖?
我使用的是從鏈接的問題,這對於平面模型的偉大工程,但對於非平面模型不起作用此代碼:
assignUVs = function(geometry){
geometry.computeBoundingBox();
var max = geometry.boundingBox.max;
var min = geometry.boundingBox.min;
var offset = new THREE.Vector2(0 - min.x, 0 - min.y);
var range = new THREE.Vector2(max.x - min.x, max.y - min.y);
geometry.faceVertexUvs[0] = [];
var faces = geometry.faces;
for (i = 0; i < geometry.faces.length ; i++) {
var v1 = geometry.vertices[faces[i].a];
var v2 = geometry.vertices[faces[i].b];
var v3 = geometry.vertices[faces[i].c];
geometry.faceVertexUvs[0].push([
new THREE.Vector2((v1.x + offset.x)/range.x , (v1.y + offset.y)/range.y),
new THREE.Vector2((v2.x + offset.x)/range.x , (v2.y + offset.y)/range.y),
new THREE.Vector2((v3.x + offset.x)/range.x , (v3.y + offset.y)/range.y)
]);
}
geometry.uvsNeedUpdate = true;
}
如果它只是一個閃光的效果,創建一個着色器會更好嗎?像[THIS](http://blog.2pha.com/demos/threejs/shaders/voronoi_point_lights.html) – 2pha