- 最后登录
- 2024-8-14
- 注册时间
- 2013-6-27
- 阅读权限
- 50
- 积分
- 1096
- 纳金币
- 105
- 精华
- 0
|
下面这个脚本是uv旋转脚本,不过旋转的效果不是在中心,而是以左上角为中心旋转。求高人指点,下面的代码如何修改可以达到沿中心旋转的目的。
var rotateSpeed = 30;
var texture : Texture;
function Start() {
// Create a new material with a shader
// that rotates the texture. Texture rotation
// is performed with a _Rotation matrix.
var m : Material = new Material (
"Shader \"Rotating Texture\" {" +
"Properties { _MainTex (\"Base\", 2D) = \"white\" {} }" +
"SubShader {" +
" Pass {" +
" Material { Diffuse (1,1,1,0) Ambient (1,1,1,0) }" +
" Lighting On" +
" SetTexture [_MainTex] {" +
" matrix [_Rotation]" +
" combine texture * primary double, texture" +
" }" +
" }" +
"}" +
"}"
);
m.mainTexture = texture;
renderer.material = m;
}
function Update() {
// Construct a rotation matrix and set it for the shader
var rot = Quaternion.Euler (0, 0, Time.time * rotateSpeed);
var m = Matrix4x4.TRS (Vector3(0.5,0.5,0), rot, Vector3(1,1,1) );
renderer.material.SetMatrix ("_Rotation", m);
}
|
|