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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UNITY 复制对象后局部坐标和世界坐标的变化问题

發布時間:2025/3/18 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UNITY 复制对象后局部坐标和世界坐标的变化问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UNITY 復制對象后局部坐標和世界坐標的變化問題



????void?Start?()?{

????????var?pgo?=?transform.Find?("Button").gameObject;

     obtn?=?Instantiate?(pgo);

????????//obtn?=?Instantiate?(pgo, pgo.transform.Parent);
    
????????var?pos?=?obtn.transform.position;

????????//obtn.transform.localPosition?=?Vector3.zero;

????????Debug.LogFormat?("1:{0},{1},{2}",?pos.x,?pos.y,?pos.z);

????????pos?=?obtn.transform.localPosition;

????????//obtn.transform.localPosition?=?Vector3.zero;

????????Debug.LogFormat?("2:{0},{1},{2}",?pos.x,?pos.y,?pos.z);

????????obtn.transform.SetParent?(pgo.transform.parent);

????????obtn.name?=?"cpobj";

????}


1,復制對象是將原來對象原封不會的拷貝一份。

2,復制后得到的對象沒有父結點,因此其世界坐標和局部坐標一樣,局部坐標又和原對象局部坐標一樣。

因此,復制得到的對象的局部坐標成為了世界坐標。

3,setparent不會改變物體的世界坐標,這符合直觀感受。

那么,為了保證不改變物體的世界坐標,在設置了父結點后,物體的局部坐標就會發生改變。

簡單來說:結點P下有一個子結點A,復制A得到B,設置B的父結點也為P,這時A與B并不會在相同的位置。

B的世界坐標為A的局部坐標的數值。這就是以上三條規則導致的。

或者:使用obtn?=?Instantiate?(pgo, pgo.transform.Parent);在復制時直接指定父結點,這樣復制得到的對象就和原對象在同一位置了。

posted on 2017-04-09 22:33 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏

總結

以上是生活随笔為你收集整理的UNITY 复制对象后局部坐标和世界坐标的变化问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。