Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma
Ú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.