Version: 2017.3 (switch to 2017.4)
LanguageEnglish
  • C#
  • JS

Script language

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

Quaternion.Set

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

public method Set(newX: float, newY: float, newZ: float, newW: float): void;
public void Set(float newX, float newY, float newZ, float newW);

Description

Set x, y, z and w components of an existing Quaternion.

no example available in JavaScript
//Create three Sliders ( Create>UI>Slider) and three Text GameObjects (Create>UI>Text). These are for manipulating the x, y, and z values of the Quaternion. The text will act as a label for each Slider, so position them appropriately.
//Attach this script to a GameObject.
//Click on the GameObject and attach each of the Sliders and Texts to the fields in the Inspector.

//This script shows how the numbers placed into the x, y, and z components of a Quaternion effect the GameObject when the w component is left at 1. //Use the Sliders to see the effects.

using UnityEngine; using UnityEngine.UI;

public class QuaternionSetExample : MonoBehaviour { //These are the floats for the x, y, and z components of the quaternion float m_MyX, m_MyY, m_MyZ; //These are the Sliders that set the rotation. Remember to assign these in the Inspector public Slider m_SliderX, m_SliderY, m_SliderZ; //These are the Texts that output the current value of the rotations. Remember to assign these in the Inspector public Text m_TextX, m_TextY, m_TextZ;

// Use this for initialization void Start() { //Initialise the x, y, and z components of the future Quaternion m_MyX = 0; m_MyY = 0; m_MyZ = 0;

//Set all the sliders max values to 1 so the Quaternion values don't go over 1 m_SliderX.maxValue = 1; m_SliderY.maxValue = 1; m_SliderZ.maxValue = 1;

//Set all the sliders min values to -1 so the Quaternion values don't go under 1 m_SliderX.minValue = -1; m_SliderY.minValue = -1; m_SliderZ.minValue = -1; }

//Change the Quaternion values depending on the values of the Sliders private static Quaternion Change(float x, float y, float z) { Quaternion newQuaternion = new Quaternion(); newQuaternion.Set(x, y, z, 1); //Return the new Quaternion return newQuaternion; }

void Update() { //Update the x, y and z values to that of the sliders m_MyX = m_SliderX.value; m_MyY = m_SliderY.value; m_MyZ = m_SliderZ.value; //Output the current values of x, y, and z m_TextX.text = " X : " + m_MyX; m_TextY.text = " Y : " + m_MyY; m_TextZ.text = " Z : " + m_MyZ;

//Rotate the GameObject by the new Quaternion transform.rotation = Change(m_MyX, m_MyY, m_MyZ); } }
对文档有任何疑问,请移步至开发者社区提问,我们将尽快为您解答