使用transform.forward函数时,是否可以使Y轴保持静态或将其保持为相同值? 这样可以使对象在X和Z轴上移动,而在Y轴上不受影响。
Ray ray;
RaycastHit info;
ray = new Ray(ObjectPosition.transform.position, ObjectPosition.transform.forward);
bool hit = Physics.Raycast(ray, out info);
答案 0 :(得分:1)
要么:
Ray ray;
RaycastHit info;
Vector3 dir = ObjectPosition.transform.forward;
dir.y = 0; // as @Jichael suggested
ray = new Ray(ObjectPosition.transform.position, dir);
bool hit = Physics.Raycast(ray, out info);
或者:
如果您需要玩家保持在同一y水平,则可以在刚体设置上选中“约束/冻结轴:y”。