遊戲是學習 www.GameIsLearning.url.tw ar vr教育遊戲式學習 王啟榮 unity教學網站 行動遊戲學習平台

討論區 > Unity 教學與學習

unity CharacterController 角色碰撞偵測

王啟榮 發表於 2017/12/03_21:06

使用 CharacterController.Move 方法移動角色時,可搭配以下判斷得知膠囊體接觸其他 collider 的情形。

 CharacterController controller = GetComponent<CharacterController>();

 if (controller.collisionFlags == CollisionFlags.None){ } // 完全沒碰到
 if ((controller.collisionFlags & CollisionFlags.Sides) != 0){ } // 側邊有碰到
 if (controller.collisionFlags == CollisionFlags.Sides){ } // 只有側邊碰到
 if ((controller.collisionFlags & CollisionFlags.Above) != 0){ } // 上方有碰到(天花板)
 if (controller.collisionFlags == CollisionFlags.Above){ } // 只有上方碰到(天花板)
 if ((controller.collisionFlags & CollisionFlags.Below) != 0){ } // 下方有碰到(地板)
 if (controller.collisionFlags == CollisionFlags.Below){ } // 只有下方碰到(地板)



建議延伸閱讀:
>> CharacterController.Move 角色操控範例
>> unity Collision Trigger 碰撞偵測與觸發對應表
>> unity C# 語法教學入門
>> Unity Script 常用語法教學(unity課程入門學習筆記)



留言回應
※ 您必需先登入,才能填寫送出。