Legacy Documentation: Version 5.1
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Matrix4x4.SetTRS

Switch to Manual
public function SetTRS(pos: Vector3, q: Quaternion, s: Vector3): void;

Parameters

Description

Sets this matrix to a translation, rotation and scaling matrix.

The current matrix is modified so that places things at position pos, oriented in rotation q and scaled by s.

#pragma strict
// Translate, rotate and scale a mesh. Try varying
// the parameters in the inspector while running
// to see the effect they have.
public var translation: Vector3;
public var eulerAngles: Vector3;
public var scale: Vector3 = new Vector3(1, 1, 1);
private var mf: MeshFilter;
private var origVerts: Vector3[];
private var newVerts: Vector3[];
function Start() {
	mf = GetComponent.<MeshFilter>();
	origVerts = mf.mesh.vertices;
	newVerts = new Vector3[origVerts.Length];
}
function Update() {
	var rotation: Quaternion = Quaternion.Euler(eulerAngles.x, eulerAngles.y, eulerAngles.z);
	var m: Matrix4x4 = Matrix4x4.identity;
	m.SetTRS(translation, rotation, scale);
	var i: int = 0;
	while ( i < origVerts.Length ) {
		newVerts[i] = m.MultiplyPoint3x4(origVerts[i]);
		i++;
	}
	mf.mesh.vertices = newVerts;
}