日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity基础知识—Transform

發(fā)布時間:2023/11/30 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity基础知识—Transform 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 組件介紹
  • 常用屬性和方法

組件介紹

屬性名作用
Position表示世界坐標/本地坐標
Rotation表示世界旋轉(zhuǎn)角度/本地旋轉(zhuǎn)角度
Scale表示縮放

在Transform面板上顯示的是相對于父物體的變化
子物體世界坐標=子物體本地坐標+父物體的世界坐標
子物體世界旋轉(zhuǎn)=子物體本地旋轉(zhuǎn)+父物體的世界旋轉(zhuǎn)
子物體世界縮放=子物體本地縮放*父物體的世界縮放

常用屬性和方法

功能說明使用說明
坐標transform.position(Vector3 pos)(世界坐標) / transfrom.localPosition(Vector3 pos)(本地坐標)
角度(歐拉角)transform.eulerAngles(Vector3 pos)(世界歐拉角) / transform.localEulerAngles(Vector3 pos)(本地歐拉?)
角度(四元數(shù))transform.rotation(世界四元數(shù)) / transform.localRotation(本地四元數(shù))
縮放transform.localScale
方向transform.forword(自身前方) / transform.up(自身上方) / transform.right(自身右方) 相反方向只需要加個 " - " 就可以了
移動transform.Translate(Vector3 translation) / transform.Translate(Vector3 translation, Space relativeTo)translation為移動向量,包括方向和大小,relativeTo參考坐標系空間,默認為Space.Self(本地)Space.World(世界)
自轉(zhuǎn)transform.Rotate(Vecotr3 axis, float angle, Space relativeTo)其中參數(shù)axis為旋轉(zhuǎn)軸方向,參數(shù)angle為旋轉(zhuǎn)角度,參數(shù)relativeTo為參數(shù)坐標系,默認為space.self(本地)Space.World(世界)
繞某個點和某個軸旋轉(zhuǎn)transform.RotateAround(Vector3 point, Vector3 axis, float angle)其中參數(shù)point為參考點坐標,參數(shù)axis為旋轉(zhuǎn)軸方向,參數(shù)angle為旋轉(zhuǎn)角度此方法的功能使使得GameObject對象繞著point點的axis方向旋轉(zhuǎn)angle度
看向某個對象transform.LookAt(Transform target) / transform.LookAt(Vector3 worldPosition) / transform.LookAt(Transform target, Vector3 worldup) / transform.LookAt(Vector3 worldPosition, Vector3 worldup)其中參數(shù)target為transform自身坐標系中z軸指向的目標,參數(shù)worldup為transform自身坐標系中y軸最大限度指向的方向此方法的功能是使得GameObject對象自身坐標系中的z軸指向target,y軸方向最大限度地指向worldup方向
獲得根對象transform.root返回的是根對象的位置
獲得父對象transform.parent返回的是父對象的位置
獲得子對象transform.GetChild(int index)index是子物體的下標,從0開始
獲得子物體的數(shù)量transform.childCount返回的數(shù)子物體數(shù)量 “int” 型
是否是某個對象的子物體transform.IsChildOf(Transform patent)用于判斷transform對應(yīng)的GameObject對象是否為參數(shù)parent的子物體,返回值為true的三種情況:A.isChildOf(B):①A和B指向同一對象,②A是B的一級子物體,③A是B的多級子物體
設(shè)置父物體transform.SetParent(Transform patent)patent是父對象的position
查找對象transform.Find(string name)參數(shù)name可以是對象名或者對象路徑,相較于Gameobject.Find來說此方法可以查找隱藏對象(若其有父對象,則父對象的Transform組件必須是激活狀態(tài))
位置是否發(fā)生了變化transform.hasChanged;返回的是 “bool” 值
分離層級關(guān)系transform.DetachChildren()使GameObject對象的所有子物體和自身分離層級關(guān)系
設(shè)置物體的層級順序transform.SetSiblingIndex(int index);參數(shù)index是物體要修改的序號 transform.SetAsFirstSibling();設(shè)置物體為第一個子對象,transform.SetAsLastSibling();設(shè)置物體為最后一個子物體

歐拉角:是物體繞坐標系三個坐標軸(x,y,z軸)的旋轉(zhuǎn)角度
靜態(tài)歐拉角:繞世界坐標系三個軸的旋轉(zhuǎn),由于物體旋轉(zhuǎn)過程中坐標軸保持靜止
動態(tài)歐拉角:繞物體坐標系三個軸的旋轉(zhuǎn),由于物體旋轉(zhuǎn)過程中坐標軸隨著物體做相同的轉(zhuǎn)動
萬向鎖:對于動態(tài)歐拉角,無論heading和bank為多少度,只要pitch為±90°,就會出現(xiàn)萬向鎖現(xiàn)象
四元素:在計算機圖形學(xué)中,四元數(shù)用于物體的旋轉(zhuǎn),是一種較為復(fù)雜,但是效率較高的旋轉(zhuǎn)方式。其中x,y,z 代表的是向量的三維坐標,w代表的是角度

歐拉角四元數(shù)
三個角度組成,直觀,容易理解,可以進行從一個方向到另一個方向旋轉(zhuǎn)大于180度的角度,但是容易產(chǎn)生死鎖四元旋轉(zhuǎn)不存在萬向節(jié)鎖問題,存儲空間小,計算效率高。但是單個四元數(shù)不能表示在任何方向上超過180度的旋轉(zhuǎn),四元數(shù)的數(shù)字表示不直觀。

縮放:當(dāng)縮放的是父物體,則其子物體也會進行縮放,而目標是子物體則只會影響子物體

總結(jié)

以上是生活随笔為你收集整理的Unity基础知识—Transform的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。