作者痴迷于枪战还有个人英雄主义。。好吧能不说废话么,上正题。
对于手枪换子弹的动作,就是这里设计的是仅仅需要将手枪从大腿前侧稍稍往后侧这么一摆,ok,上弹完成。
哎,这里直接上代码吧。
首先说下,这是自己做的VR项目,所以肯定不能把整个脚本源码都溜出来,就把实现这一功能的函数拿出来了。
脚本是直接挂载在左右手柄上的。
说下思路,其实就是通过去检查手柄的旋转角,使用到了eulerAngles。去判定你是否从一个角度到达另一个角度,再加上计时器控制,就可以检测到我们帅气的甩枪动作啦。需要注意的是,因为容错的问题,你的第一判定角度最好限制三个轴的旋转角。 void huandan()
{
if ( transform.eulerAngles.x >= 68&& transform.eulerAngles.x<=73)//检查手柄的X旋转角
{
if (transform.eulerAngles.y > 230&&transform.eulerAngles.y < 260)//检查手柄的Y旋转角
{
if (transform.eulerAngles.z < 294&&transform.eulerAngles.z < 328)//检查手柄的Z旋转角
{
time_jishi = true;//开启一个开关
}
}
}
else if (transform.eulerAngles.y<180&& transform.eulerAngles.x <= 72)//检查是否达到指定角度
{
if (time_shi < 2)//计算时间
{
//符合条件装填弹匣
}//是否装填
time_jishi = false;
time_shi = 0;
//重置开关,清零计时器
}//达到角度
if (time_jishi)
{
time_shi += Time.deltaTime;
}//启动计时器
}
因为是VR游戏,也没办法上图呢。大家就领悟下,新人发帖,勿怪,不懂得可以私我询问。
|