CollisionFlags

enumeration

マニュアルに切り替える

説明

CollisionFlags は CharacterController.Move で返されるビットマスクです。

キャラクターとオブジェクトの衝突がどの面で起こったかを知ることができます。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Update() { CharacterController controller = GetComponent<CharacterController>();

if (controller.collisionFlags == CollisionFlags.None) { print("Free floating!"); }

if ((controller.collisionFlags &amp; CollisionFlags.Sides) != 0) { print("Touching sides!"); }

if (controller.collisionFlags == CollisionFlags.Sides) { print("Only touching sides, nothing else!"); }

if ((controller.collisionFlags &amp; CollisionFlags.Above) != 0) { print("Touching Ceiling!"); }

if (controller.collisionFlags == CollisionFlags.Above) { print("Only touching Ceiling, nothing else!"); }

if ((controller.collisionFlags &amp; CollisionFlags.Below) != 0) { print("Touching ground!"); }

if (controller.collisionFlags == CollisionFlags.Below) { print("Only touching ground, nothing else!"); } } }

変数

NoneCollisionFlags は CharacterController.Move で返されるビットマスクです。
SidesCollisionFlags は CharacterController.Move で返されるビットマスクです。
AboveCollisionFlags は CharacterController.Move で返されるビットマスクです。
BelowCollisionFlags は CharacterController.Move で返されるビットマスクです。