顏色漸變

var mesh = creatGradPlane(0,0,0, 100,100, [[0, '#fcc'], [1, '#fc3']])

scene.add(mesh);

}

function creatGradPlane(x,y,z, w,h, colors ,startX, startY, endX, endY){

? ? if (startX === undefined){

? ? ? ? startX= 0;? startY = 0;

? ? ? ? endX = 0; endY = h;

? ? }

? ? var canvas = document.createElement('canvas');

? ? canvas.width = w;

? ? canvas.height = h;

? ? var ctx = canvas.getContext('2d');


? ? var gradient = ctx.createLinearGradient(startX, startY, endX, endY);

? ? if(Array.isArray(colors))

? ? colors.forEach(element => {

? ? ? ? gradient.addColorStop(element[0], element[1]);

? ? });

? ? ctx.clearRect(0, 0, w, h);

? ? ctx.fillStyle = gradient;

? ? ctx.fillRect(0, 0, w, h);

? ? var texture = new THREE.Texture(canvas);

? ? texture.needsUpdate = true;

? ? var material = new THREE.MeshBasicMaterial( {map: texture} );

? ? var plane = new THREE.PlaneGeometry( w, h, 4, 4 );

? ? var mesh = new THREE.Mesh( plane, material );

? ? mesh.position.set(x,y,z)

? ? return mesh;

}

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容