public static void TransformMatrix(GL_MATTRIX_TRANSFORM _t) { Matrix4x4 model = GL.modelview; Matrix4x4 m = Matrix4x4.TRS(new Vector3(_t.x, _t.y, _t.z), Quaternion.Euler(_t.rotX * 360f, _t.rotY * 360f, _t.rotZ * 360f), new Vector3(_t.sclX, _t.sclY, _t.sclZ)); GL.MultMatrix(m * model); }
public static void TransformLerp(GL_MATTRIX_TRANSFORM _A, GL_MATTRIX_TRANSFORM _B, float _value) { float _X = Mathf.Lerp(_A.x, _B.x, _value); float _Y = Mathf.Lerp(_A.y, _B.y, _value); float _Z = Mathf.Lerp(_A.z, _B.z, _value); float _ROT_X = Mathf.Lerp(_A.rotX, _B.rotX, _value); float _ROT_Y = Mathf.Lerp(_A.rotY, _B.rotY, _value); float _ROT_Z = Mathf.Lerp(_A.rotZ, _B.rotZ, _value); float _SCL_X = Mathf.Lerp(_A.sclX, _B.sclX, _value); float _SCL_Y = Mathf.Lerp(_A.sclY, _B.sclY, _value); float _SCL_Z = Mathf.Lerp(_A.sclZ, _B.sclZ, _value); TransformMatrix(new GL_MATTRIX_TRANSFORM(_X, _Y, _Z, _ROT_X, _ROT_Y, _ROT_Z, _SCL_X, _SCL_Y, _SCL_Z)); }
public static void Scale(float _value) { GL_MATTRIX_TRANSFORM _TRANSFORM = new GL_MATTRIX_TRANSFORM(_sclX: _value, _sclY: _value, _sclZ: _value); TransformMatrix(_TRANSFORM); }
public static void Scale(float _x, float _y, float _z = 1) { GL_MATTRIX_TRANSFORM _TRANSFORM = new GL_MATTRIX_TRANSFORM(_sclX: _x, _sclY: _y, _sclZ: _z); TransformMatrix(_TRANSFORM); }
public static void Translate(float _x, float _y, float _z = 0) { GL_MATTRIX_TRANSFORM _TRANSFORM = new GL_MATTRIX_TRANSFORM(_x: _x, _y: _y, _z: _z); TransformMatrix(_TRANSFORM); }
public static void TranslateZ(float _value) { GL_MATTRIX_TRANSFORM _TRANSFORM = new GL_MATTRIX_TRANSFORM(_z: _value); TransformMatrix(_TRANSFORM); }
public static void RotateY(float _angle) { GL_MATTRIX_TRANSFORM _TRANSFORM = new GL_MATTRIX_TRANSFORM(_rotY: _angle); TransformMatrix(_TRANSFORM); }