Úvod HTML CSS PHP MySQL JavaScript
Quaternion

Quaternion

Quaternion je třída pro rotaci objektu.

Statické vlastnosti:

  • identity - Nastaví hodnoty na 0.0, 0.0, 0.0, a 1.0.

Vlastnosti:

Veřejné metody

  • Set - Nastaví komponenty x, y, z a w.
  • SetFromToRotation - Nastaví rotaci od prvního objektu k cílovému objektu.
  • SetLookRotation - Vytvoří rotaci s určenými směry vpřed a vzhůru.
  • ToAngleAxis - Vrátí úhel a osy rotace.

Statické metody

  • Angle - Vrátí úhel ve stupních mezi dvěma rotacemi.
  • AngleAxis - Vytvoří rotaci s daným úhlem a osami.
  • Euler - Otočí objektem ve stupních.
  • FromToRotation - Vytvoří rotaci, která se rotuje od směru na směr.
  • Inverse - Invertuje rotaci.
  • Lerp - Rotuje objektem z výchozí rotace do cílové za určitý čas v rozsahu 0-1.
  • LerpUnclamped - Stejně jako Lerp. Čas není držen v rozsahu.
  • RotateTowards - Vždy přičte k aktuální hodnotě přírůstek až do cílové hodnoty.
  • Slerp - Stejně jako Lerp. Nevidím rozdíl.
  • SlerpUnclamped - Stejně jako LerpUnclamped. Nevidím rozdíl.
eulerAngles
        Vector3 uhel = rotation.eulerAngles;
        uhel.z += 5 * rotationSpeed;
        rotation.eulerAngles = uhel;
        transform.rotation = rotation;
   
SetFromToRotation
     public Transform m_NextPoint;
    Quaternion m_MyQuaternion;
    float m_Speed = 1.0f;
    Vector3 m_MousePosition;

    // Use this for initialization   
    void Start()
    {
        m_MyQuaternion = new Quaternion();
    }

    // Update is called once per frame   
    void Update()
    {
        //Nastaví rotaci Quaternion z pozice GameObject na další pozici 
        m_MyQuaternion.SetFromToRotation(transform.position, m_NextPoint.position);
        //Přesune GameObject do cíle     
        transform.position = Vector3.Lerp(transform.position, m_NextPoint.position, m_Speed * Time.deltaTime);
        //Rotuje GameObjectem     
        transform.rotation = m_MyQuaternion * transform.rotation;


        // NEBO        


        //Získa pozici myši     
        m_MousePosition = Input.mousePosition;
        //Nastaví pozici myši z  
        m_MousePosition.z = 50.0f;
        //Transformuje pozici myši na světový prostor   
        m_MousePosition = Camera.main.ScreenToWorldPoint(m_MousePosition);

        //Nastaví rotaci Quaternion z pozice GameObject na  pozici  myši  
        m_MyQuaternion.SetFromToRotation(transform.position, m_MousePosition);
        //Přesune GameObject na pozici myši  
        transform.position = Vector3.Lerp(transform.position, m_MousePosition, m_Speed * Time.deltaTime);
        //Rotuje GameObjectemna pozici myši 
        transform.rotation = m_MyQuaternion * transform.rotation;
    }
        
SetLookRotation
        m_MousePosition=  Input .mousePosition;
        m_MousePosition.z = 50.0f;
        m_MousePosition =  Camera .main.ScreenToWorldPoint(m_MousePosition);
        m_MyQuaternion.SetFromToRotation( new  Vector3(1,1,1), m_MousePosition);
        transform.localRotation = m_MyQuaternion;
          
ToAngleAxis
    public float  angle = 0F;
    public  Vector3  axis = Vector3 .zero;  
    
    void Update ()
    {
        transform.rotation.ToAngleAxis(out  angle, out  axis);
    }
           
Angle
    public Transform target;
     
    void Update()
    {
        float angle = Quaternion.Angle(transform.rotation, target.rotation);
     
    }
   
AngleAxis
      public int angle;
      public Vector3 axis;
    
      void Update()
    {
        transform.rotation = Quaternion.AngleAxis(angle, axis);

    }
      
Euler
      x += Time.deltaTime * 10;
      transform.rotation = Quaternion.Euler(x, 0, 0); 
      
FromToRotation
    transform.rotation = Quaternion.FromToRotation(Vector3.up, transform.forward);
        
Lerp
    public Transformfrom;
    public Quaternion to;
    public float speed = 0.1F;
    
     transform.rotation = Quaternion.Lerp(from.rotation, to, Time.time * speed);
      
RotateTowards
    public Transform target;
    public float speed;
       
    float step = speed * Time.deltaTime;
    transform.rotation = Quaternion.RotateTowards(transform.rotation, target.rotation, step);

       
pravy Ascii tabulka
Barvy
Klávesové zkratky


©2013-2021 Trojklik.8u.cz Autor: Vašek D.