iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 4
0
自我挑戰組

Unity 開發從3D出發系列 第 4

[30天Unity大破解] 4:碰碰樂(collider篇)

教練,我想學卡位碰撞技巧

歡迎大家來到了第四天碰撞篇啦,讓我們打開之前的專案吧

collider 介紹

每一個物體都有屬於它的預設collider,方體預設是box collider,但是這個都是可以變換的。

  • 下列順序從左至右列出最高效能的碰撞器到最低效能的碰撞器。 請務必避免網格碰撞器(mesh collider),這比基本碰撞器的成本高出許多,但電腦好這都不是問題的((money money money~((誤人子弟。
 Sphere < Capsule < Box <<< Mesh (Convex) < Mesh (non-Convex)

collider用處?

接下來我們將上次的cube也加上rigidbody,放到capsule底下按開始,看看會發生甚麼事吧

  • cube有加collider,配合rigidbody,就產生牛頓的作用力跟反作用力啦
  • cube未加collider

    =>所以除非是9又1/2月台,或會穿牆技術,請大家不要忘了加上collider哦。

collider功能介紹

  • edit collider 設置碰撞區域大小
  • is trigger (預設無勾選)開啟後就不會產生碰撞,但還是能接收到碰撞訊息(下篇會介紹)。
  • Material 自訂碰撞效果EX:設定摩擦力(下面介紹)
  • Center 碰裝框中心
  • Size 碰撞框大小

Physic Material~

  • 先在asset的地方右鍵create一個名為Physic Material的folder(方便日後整理)。
  • 在這個folder中右鍵create一個Physic Material,給他一個ball的名稱好了

material 功能介紹

  • Dynamic friction 動摩擦力數值(0~1) 作用於運動中的物體
    • 0:就跟溜冰一樣,無摩擦力
    • 1:摩擦力極大
  • Static Friction 數值(0-1) 靜摩擦力作用於尚未移動的物體
    • 功能跟上述差不多
  • Bounciness 數值(0-1) 彈性
  • Friction Combine 兩個物體相撞時的摩擦力
    • Average 平均
    • Minimun 取較小的一方
    • Maximum 取較大的一方
    • Multiply 兩個相乘
  • Bounce Combine 兩個物體相撞時的彈跳力
    • 功能跟上述差不多只是是對bounce

添加使用

  • 將physics material直接拖曳到Hierarchy的物體上就可以產生效果啦。

應用時間!! 陽春遊戲(100分的保齡球)/images/emoticon/emoticon07.gif

物品應用

  • plane:製作跑道
  • sphere:保齡球(質量1kg)
  • cylinder:瓶子(質量0.3kg)

physics material 應用(可自行調配)

  • ice跑道 用於斜坡(摩擦力為0)
  • sphere
  • 一般跑道

設計界面(不用照抄,發揮想像力~)

設計解釋:

  • 可使用Create empty將物件放在底下就會形成群組啦。也方便管理

執行畫面

strike!!!/images/emoticon/emoticon01.gif

  • 大家可以再想想可以玩甚麼花樣 EX:撞球,樂透機,彈簧床。((大家想像力一定比我的古老腦袋厲害,歡迎在留言處分享你的作品想法哦。

補充/images/emoticon/emoticon33.gif

噸位的快樂--示範collision detection的問題

  • 注意,仔細看,是不是有些小球直接穿越了,這裡主要給大家再複習上篇rigidbody的collision detection,因小球速度過快,使用discrete分散會出問題,所以要用continuous問題就解決ㄌㄚ,當然計算量的負擔也會隨之增大。

下篇:小遊戲製作/images/emoticon/emoticon16.gif

下周學習目標(如果我明天沒爆肝的話)

  • UI介紹
  • 簡單執行code -(碰撞事件、force)
  • Unity内部Material
  • 發揮創意時間

需求-面對code的第一課(安裝工具)

下篇我們會跟大家介紹unity的相關的code,在此之前還請大家安裝visual studio。

若安裝有相關問題,都可以在留言區告訴我。
visual studio 下載連結
安裝後步驟說明
https://reurl.cc/R1Xkyr

結語/images/emoticon/emoticon12.gif

今天帶給大家collider和rigidbody配合的使用方式,實現簡單的動態感。但是記得千萬別只用看的,一定要動手實作一遍才能有進步哦!
預計下篇進度會有簡單code的進展,讓遊戲更豐富,別擔心,大家的實力是絕對沒問題的!!那我們就下次見啦~


參考
collider介紹
https://www.youtube.com/watch?v=lcdAytVpW1E&feature=youtu.be&fbclid=IwAR0YcIA0qog4RAnyAb8dyUu2tvmWvdgboMnKCaritoDW4TfkBNCINOYRl7g
trigger
https://www.youtube.com/watch?v=n5x1GKJsP2c
效能
https://docs.microsoft.com/zh-tw/windows/mixed-reality/performance-recommendations-for-unity
physics material
https://docs.unity3d.com/Manual/class-PhysicMaterial.html


上一篇
[30天Unity大破解] 3:打開unity的大門 (功能+rigidbody篇)
下一篇
[30天Unity大破解] 5: 小嗎沙出來打球啦(保齡球美觀+介面起頭)
系列文
Unity 開發從3D出發5

尚未有邦友留言

立即登入留言