主要是要实现进入这块碰撞体积时的相机的切换
以下是函数
首先要获得4个三位坐标系的位置:1:碰撞体的中点三维坐标位置
2:相机一的位置
3:相机二的位置
4:人物的位置
中点-相机1得向量y1
中点-相机2得向量y2
中点-人物得向量y3
此处提一下点乘
单位向量的点乘
在游戏中,表示方向的向量往往是单位向量。
为了简化起见,假设a和b都是单位向量,也就是长度为1,那么:
a·b = cos(θ)
那么这个公式就简单了。
用点乘判断向量朝向关系
考虑到,cos(0)=1,cos(π)=-1,cos(π/2)=0,那么我们就可以用点乘来判断两个向量的朝向关系了。
友情提示,有些同学可能不太记得了,π就是180度的实数表示。
如果两个向量方向完全相同,那么夹角为0,则cos(θ)为1;
如果两个向量方向垂直,那么夹角为90度即π/2,则cos(θ)为0;
如果两个向量方向完全相反,那么夹角为180度即π,则cos(θ)为-1;
其他情况,点乘的值介于-1~1之间。
原文地址:http://cocos.dedewp.com/archives/18142.html
既:如果dot出来的数值>0,那么向量方向相同,<0则相反
此时进行判断
IF:向量y3与向量y1相点乘的数值>0,则切换new view target为c1
ELSE:设置其为C2
再到外面调用一下函数即可
值得一提的是出碰撞体时切换相机的函数也差不多,这里不多做赘述
值得一提的是,其实在运算时,计算出来的人物向量的朝向始终指向人物