ThreeJS 转向纹理

我用画布创建了纹理,但我没有什么问题。我无法像图像中那样转动我的纹理。我怎样才能做到这一点?


   setTexture = (name, font = 20) => {    


      const canvas = window.document.createElement("canvas");

      canvas.width = 256;

      canvas.height = 128;

      const ctx = canvas.getContext("2d");


      ctx.fillStyle = "white";

      ctx.fillRect(0, 0, canvas.width, canvas.height);

      ctx.font = `${font}pt Arial`;

      ctx.fillStyle = "black";

      ctx.textAlign = "center";

      ctx.textBaseline = "middle";

      ctx.fillText(

          name || "unnamed",

          canvas.width / 2,

          canvas.height / 2

      );


      const texture = new THREE.Texture(canvas);

      texture.wrapS = THREE.RepeatWrapping;

      texture.repeat.x = -1;

      texture.needsUpdate = true;

      return texture;

  };

http://img3.mukewang.com/61dfd7c20001409909830717.jpg

慕容森
浏览 419回答 1
1回答

梦里花落0921

如果要旋转纹理,可以更新几何体中的 UV,也可以使用texture.rotation修改器。const texture = new THREE.Texture(canvas);texture.rotation = Math.PI; // 180 deg in radians如果旋转没有围绕您想要的点旋转,您可以设置texture.center为该[0.0, 1.0]范围内的另一个值。const texture = new THREE.Texture(canvas);texture.center = new THREE.Vector2(0.5, 0.7);texture.rotation = Math.PI;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript