Three.js 如何在中平铺纹理https://threejs.org/editor/?
平铺纹理的正确方法是什么? 我已经创建了一个名为m1的材质平面,并尝试编辑材质脚本以:Three.js 如何在中平铺纹理https://threejs.org/editor/?,three.js,editor,Three.js,Editor,平铺纹理的正确方法是什么? 我已经创建了一个名为m1的材质平面,并尝试编辑材质脚本以: function update( event ) { m1.wrapS = texture.wrapT = THREE.RepeatWrapping; m1.repeat.set( 2, 2 ); } 但什么也没发生。 这并不难,但您没有访问此参数的ui。因此,您需要做的是创建一个附加到任何对象的脚本(最好保持场景的有序性,以便将其附加到材质),它应该如下所示: // To access scene
function update( event ) {
m1.wrapS = texture.wrapT = THREE.RepeatWrapping;
m1.repeat.set( 2, 2 );
}
但什么也没发生。
这并不难,但您没有访问此参数的ui。因此,您需要做的是创建一个附加到任何对象的脚本(最好保持场景的有序性,以便将其附加到材质),它应该如下所示:
// To access scene material we pick it's parent object
var myObject = scene.getObjectByName( "ObjectName" );
// We need to set the Wrappers like THREE.RepeatWrapping in order to make it happen.
myObject.material.map.wrapS = myObject.material.map.wrapT = THREE.RepeatWrapping;
// Now we only need to set a new map.repeat
myObject.material.map.repeat.set( 2, 2 );
function update( event ) {
}
正如您所看到的,代码没有设置为update(),因为如果您喜欢,材料将在每三次更新中更改,因此如果此值不更改,则会造成内存损失。这并不难做到,但您没有访问此参数的ui。因此,您需要做的是创建一个附加到任何对象的脚本(最好保持场景的有序性,以便将其附加到材质),它应该如下所示:
// To access scene material we pick it's parent object
var myObject = scene.getObjectByName( "ObjectName" );
// We need to set the Wrappers like THREE.RepeatWrapping in order to make it happen.
myObject.material.map.wrapS = myObject.material.map.wrapT = THREE.RepeatWrapping;
// Now we only need to set a new map.repeat
myObject.material.map.repeat.set( 2, 2 );
function update( event ) {
}
正如您所看到的,代码没有设置为update(),因为如果您喜欢,材料将在每三次更新中更改,因此如果该值不更改,将导致内存损失