Unity C# | 座標與剛體的移動優缺點

更新於 發佈於 閱讀時間約 2 分鐘

一、前言

  這篇文章將會講述座標(Transform)與剛體(Rigidbody)在移動上的優點與缺點,並且迪出我的經驗與看法。

二、座標系統(Transform)

  初學者在學習如何移動物件的時候,第一個可能會學習到的移動方式,應該就是座標系統的移動了。

1. 優點

  寫了怎麼樣的程式,就會有怎麼樣的反應。座標系統的控制非常直觀,程式的表現與撰寫的內容完全一樣;座標系統的運作非常簡單,隨之而來的就是資源上的輕便,它比較省資源。

2. 缺點

  控制座標移動的方式,其實就是直接指定座標,哪怕是旋轉也一樣,因此座標系統的缺點也很明顯,就是不容易使用碰撞體,基本上碰撞會被座標指定給忽視,進而導致無效。

  因為是每一個影格去移動,因此也不會有其他力的配合,反作用力或摩擦力等偏向物理系統的東西都不會出現,除非自己有特別去撰寫。

3. 我的經驗

  座標系統的入門很容易,上手卻不容易,因為單純的使用以後,就要開始學習座標的計算與變化;在了解座標的變換以後,要學會使用 Unity 內建的數學函式運用,這一塊就更困難了。

  在這段過程中,我是直接學習剛體系統,用物理系統的方式去處理大多數的問題,因此有一個過渡,只需要慢慢掌握旋轉的方式即可。

三、剛體系統(Rigidbody)

  若在撰寫物理系統運動時,有很高的機率會被剛體系統的 velocity 吸引,因此接觸了剛體系統,這是一個模擬物理運動的移動方式。

1. 優點

  剛體系統在一開始就給予了一些運動,譬如重力。面對其他物件的碰撞也會做相應的改變,因此是一種相對省事的系統,也比較容易上手,通常剛體一定會跟碰撞體座配合,也是更好處理碰撞的方式。

  相對來說,這樣的設計也會吃上比較高的效能,雖然我不確定有多少,但相對於座標系統來說是肯定繁瑣許多。

2. 缺點

  它比較複雜,這個複雜是指使用鋼體可能會出現不可預期的發展,譬如施力出問題,導致物體被不合理的力給打上天,原因可能是前幾天為了省事把重力改為 1000 而已。

  物理系統有很多不同的內容,摩擦力、施力角度、重力、延遲,很多東西都會影響物體的運動,是一個更吃觀念的系統。

3. 我的經驗

  雖然說他比較難以控制,但每一個變化都有理可據,因此熟悉以後其實會很方便做事,在程式撰寫的過程中也會比較容易有收穫,我自己是比較喜歡使用鋼體來做運算。

  不過有要配合動畫的時候,還是請乖乖用座標系統,這樣才能比較明確的去撰寫一些配合,不容易動畫跟動作沒有搭配上,或是玩家的腳步沒有對上地板。

四、後記

  這篇文章是我在搜尋我自己撰寫的文章後,發現我沒有一篇文章專門講述座標系統與剛體系統,因此就決定要來好好分析一下兩者的差別了。

avatar-img
106會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
瓶裝雪的沙龍 的其他內容
這篇文章將會講述 While 迴圈與 Do-While 迴圈。
這篇文章將會講述 if 判斷式的簡寫與可讀性維護。
這篇文章將會講述一個 Physics.Raycast 命中判斷的簡易寫法。
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
這篇文章將會講述如何使用程式腳本讀取 Input System 的玩家輸入。
這篇文章將會講述角色控制器(CharacterController )的基本概述,並且分析其中可能的應用方式,最後簡單講述它的使用方式心得。
這篇文章將會講述 While 迴圈與 Do-While 迴圈。
這篇文章將會講述 if 判斷式的簡寫與可讀性維護。
這篇文章將會講述一個 Physics.Raycast 命中判斷的簡易寫法。
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
這篇文章將會講述如何使用程式腳本讀取 Input System 的玩家輸入。
這篇文章將會講述角色控制器(CharacterController )的基本概述,並且分析其中可能的應用方式,最後簡單講述它的使用方式心得。
你可能也想看
Google News 追蹤
提問的內容越是清晰,強者、聰明人越能在短時間內做判斷、給出精準的建議,他們會對你產生「好印象」,認定你是「積極」的人,有機會、好人脈會不自覺地想引薦給你
Thumbnail
模擬世界是我們寫程式造出來的,我們就是模擬世界的主宰,所以各種作用力要長什麼樣子、要怎麼個作用法,都由我們決定。不過,如果希望這些作用力看起來像真實世界的作用力一樣,那在寫程式的時候,套用這些作用力在真實世界中的物理公式,會是比較省時省力的做法。
Thumbnail
功能性訓練強調多方向和多平面運動,以及核心穩定性和動作模式模擬。此外,功能性訓練可以提高日常生活能力,減少受傷風險,增強運動表現。文章討論了功能性訓練的結構和訓練示例。
到目前為止,為了簡化問題,我們都假設物體的質量是1。接下來,我們將移除這個假設,然後將完全符合牛頓第二運動定律的apply_force()方法,整合到Mover這個類別中。
Thumbnail
剩下兩週上課囉,大家加油!! 在一開始我們在課程完成了椅子(角色的移動嘛),但遠遠的看著他移動好像缺少了一些遊戲體驗 嗎?>< 這週我們就來改變遊戲的視角吧~~ 來看一下兩個版本的比較~~ 原本WASD AD控制Y軸旋轉(轉頭),後來改成WASD控制平移座標,把旋轉特別移出來到滑鼠上,
Thumbnail
上次我們完成用Unity 建完一張椅子,還有學習基本變數的應用,那我們就繼續寫更多的腳本來讓物體有更多的ㄅㄧㄢ #一般不會用Unity來建模啦,主要還是要靠其他3D軟體導入 ●Gravity Scale 重力預設為1,是造成物體下墜的主因,可以先調到0。 (Unity有支援負
這個系列的文章主要專注於物件導向到函數式編程的差異與分析,並針對概念與機制上的不同進行比較。很多人說物件導向和函數式編程沒有哪個比較好的問題,只有哪個比較適合的問題,然而我並不這麼認為,我透過這一系列的文章從各個角度討論它們之間的優缺點就是為了闡述我的觀點。物件導向錯在沒有理論基礎,但它贏在熟悉性,
Thumbnail
凡運動中的經筋力線矯正,講究骨對位後對肌體的放鬆與肌體張力的平衡,這一說法我們稱其為「骨正則筋柔,筋柔則氣順」,氣順指的是當肌體放鬆後氣息可通順至身體遠端,讓身體形成串聯性,氣順也同時讓身體四肢與軀幹,體表與臟腑,骨骼與經筋形成振動連接,這種連接可以讓身體實現深度的自我調節自癒。
讓我在這篇文章總結一下前面對物件導向設計的討論,我們討論了物件導向的四個特性:繼承、抽象、多型、封裝,分析了它們的問題,並跟函數式編程的思維做比較。我們引入了與之相對應的特性:泛型、特性系統、模組化,有些特性雖然跟那四個特性很像,但在一些細微的地方有不同的詮釋,使得整體思考方式很不一樣。 「繼
提問的內容越是清晰,強者、聰明人越能在短時間內做判斷、給出精準的建議,他們會對你產生「好印象」,認定你是「積極」的人,有機會、好人脈會不自覺地想引薦給你
Thumbnail
模擬世界是我們寫程式造出來的,我們就是模擬世界的主宰,所以各種作用力要長什麼樣子、要怎麼個作用法,都由我們決定。不過,如果希望這些作用力看起來像真實世界的作用力一樣,那在寫程式的時候,套用這些作用力在真實世界中的物理公式,會是比較省時省力的做法。
Thumbnail
功能性訓練強調多方向和多平面運動,以及核心穩定性和動作模式模擬。此外,功能性訓練可以提高日常生活能力,減少受傷風險,增強運動表現。文章討論了功能性訓練的結構和訓練示例。
到目前為止,為了簡化問題,我們都假設物體的質量是1。接下來,我們將移除這個假設,然後將完全符合牛頓第二運動定律的apply_force()方法,整合到Mover這個類別中。
Thumbnail
剩下兩週上課囉,大家加油!! 在一開始我們在課程完成了椅子(角色的移動嘛),但遠遠的看著他移動好像缺少了一些遊戲體驗 嗎?>< 這週我們就來改變遊戲的視角吧~~ 來看一下兩個版本的比較~~ 原本WASD AD控制Y軸旋轉(轉頭),後來改成WASD控制平移座標,把旋轉特別移出來到滑鼠上,
Thumbnail
上次我們完成用Unity 建完一張椅子,還有學習基本變數的應用,那我們就繼續寫更多的腳本來讓物體有更多的ㄅㄧㄢ #一般不會用Unity來建模啦,主要還是要靠其他3D軟體導入 ●Gravity Scale 重力預設為1,是造成物體下墜的主因,可以先調到0。 (Unity有支援負
這個系列的文章主要專注於物件導向到函數式編程的差異與分析,並針對概念與機制上的不同進行比較。很多人說物件導向和函數式編程沒有哪個比較好的問題,只有哪個比較適合的問題,然而我並不這麼認為,我透過這一系列的文章從各個角度討論它們之間的優缺點就是為了闡述我的觀點。物件導向錯在沒有理論基礎,但它贏在熟悉性,
Thumbnail
凡運動中的經筋力線矯正,講究骨對位後對肌體的放鬆與肌體張力的平衡,這一說法我們稱其為「骨正則筋柔,筋柔則氣順」,氣順指的是當肌體放鬆後氣息可通順至身體遠端,讓身體形成串聯性,氣順也同時讓身體四肢與軀幹,體表與臟腑,骨骼與經筋形成振動連接,這種連接可以讓身體實現深度的自我調節自癒。
讓我在這篇文章總結一下前面對物件導向設計的討論,我們討論了物件導向的四個特性:繼承、抽象、多型、封裝,分析了它們的問題,並跟函數式編程的思維做比較。我們引入了與之相對應的特性:泛型、特性系統、模組化,有些特性雖然跟那四個特性很像,但在一些細微的地方有不同的詮釋,使得整體思考方式很不一樣。 「繼