Legacy Documentation: Version 5.0
Language: English
  • 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;
public var eulerAngles;
public var scale = new Vector3(1, 1, 1);
private var mf;
private var origVerts;
private var newVerts;
function Start() {
	mf = GetComponent.<MeshFilter>();
	origVerts = mf.mesh.vertices;
	newVerts = new Vector3[origVerts.Length];
}
function Update() {
	var rotation = Quaternion.Euler(eulerAngles.x, eulerAngles.y, eulerAngles.z);
	var m = Matrix4x4.identity;
	m.SetTRS(translation, rotation, scale);
	var i = 0;
	while ( i < origVerts.Length ) {
		newVerts[i] = m.MultiplyPoint3x4(origVerts[i]);
		i++;
	}
	mf.mesh.vertices = newVerts;
}