在射击游戏里面,比如CS,
当你射击的时候,不是实际上有个子弹飞出去了,
而是射线从枪口出来,到一个很远的距离,
凡是在这条射线路径上的玩家,都会受到伤害。
什么是Ray?
Ray,射线,从一点开始向单方向无限延伸的一根线。
出现这个想法,是为了的得到,这根线发射出去碰撞到了什么。
Physics.Raycast();
这个方法有15个重载,它最主要的参数有(射线的发射点,射线的方向,射线的最大距离,检测带不带碰撞器)
它将返回一个bool值,
如果射线射程内有碰撞体,就返回true,没有的话则返回false。
ThirdPersonCharacter.cs中:
if (Physics.Raycast(transform.position + (Vector3.up * 0.1f), Vector3.down, out hitInfo, m_GroundCheckDistance))
{
}
表示 if(接触到地面==true)
在这个案例中,Physics.Raycast的参数是:
Physics.Raycast(起始位置,方向向量,返回信息,射线最大值)
参考文档:
Today's comments have reached the limit. If you want to comment, please wait until tomorrow (UTC-Time).
There is 18h38m34s left until you can comment.