Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js 如何在中平铺纹理https://threejs.org/editor/?_Three.js_Editor - Fatal编程技术网

Three.js 如何在中平铺纹理https://threejs.org/editor/?

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

平铺纹理的正确方法是什么? 我已经创建了一个名为m1的材质平面,并尝试编辑材质脚本以:

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(),因为如果您喜欢,材料将在每三次更新中更改,因此如果该值不更改,将导致内存损失