初心者培訓班 - Unity基本觀念

Unity基本功(1) – Rigidbody 剛體

※中肯辭典

(註:有別於官方文件上的嚴謹說明,在此以工程師的角度來簡短說明此元素的特質與使用時機。)

使物件被賦予物理特性,可控制摩擦力、彈跳力、以及碰撞時產生的位移、縮放及旋轉等形變。常用的時機有實作自由落體、物體間的碰撞效果等。



在將物件拉入Hierarchy後,就能透過Add Component開始賦予物件Ridgidbody的特性,如這個例子裡的小雞。需特別注意的是:由於這是2D的專案,要記得選取Rigidbody 2D,別選錯了!

螢幕快照 2017-07-02 上午12.24.11.png

如果在加完這個要素後就直接按Play,你會發現:

小雞會自己永無止盡的下墜!!!!

這時我們就要來了解Rigidbody 2D裡比較常用的各項參數

螢幕快照 2017-07-02 上午12.29.49.png

●Gravity Scale

重力預設為1,是造成物體下墜的主因,可以先調到0。

(Unity有支援負數的重力值,所以如果在這個欄位輸入負數,物體就會往上飄!)

●Body Type

剛體的型態有分成Dynamic, Kinematic, Static三大類。

Dynamic:預設的型態,代表物體會受到重力、碰撞等物理條件的影響。

如:玩家要操作的角色。

Kinematic:完全不會受外力影響,但是可以對其他剛體發揮影響力。

如:遊戲場景裡的牆壁。

●Material

可以放入自訂的Physic 2D物理材質,針對摩擦力和彈跳力做特別的設定。這部分以後再帶來更多介紹。

●Mass

根據牛頓第二運動定律F=ma,在受到相同大小的力的狀況下,具有較大的質量的物體產生的加速度會比較小。

如:用手施一樣的力,去推1顆棒球vs推1顆大鐵球。

●Linear Drag

為物體設定位移時的摩擦力。

●Angular Drag

為物體設定旋轉時的摩擦力。

●Constraints

鎖住該物體在特定方向的位移及旋轉,以便於更符合遊戲設計的邏輯。

如:“打磚塊”中的板子只會左右移動,不會因為碰到牆壁就翹起來,這時就要把“Freeze Position”中的Y打勾。



Ridgidbody是讓遊戲動起來的關鍵元素之一,在學習的同時也可以自己拿幾款經典的小遊戲來分析:它們的遊戲裡有哪些剛體的運用?加強自己的理解程度!

 

 

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s