- 精华
- 0
- 帖子
- 658
- 威望
- 0 点
- 积分
- 514 点
- 种子
- 0 点
- 注册时间
- 2009-9-5
- 最后登录
- 2010-12-5
|
发表于 2010-6-18 14:58 · 四川
|
显示全部楼层
好的,这个贴子我总结一下就可以收尾了。
第一,原理上,move和wii的手柄可以测加速度,但只用这个加速度作为力量在游戏中来计算打击力是没有实际意义的。原因如下:
一、加速度计测量结果不准确。众所周知,move和wii是对着空气挥舞的,而并非打击到实际物体。比如用拳头把门打破,由于拳头受到门的阻挡,从很高的速度变为零,这时候产生的加速度会很大(即力量)故能把门打穿。但由于事实上move对着空气挥舞,没有受到实际物体的阻挡,加速度测量出的值不是真实的值。比如你同样做出挥拳头打门的动作,虽然你拳头的速度够了,但由于没有受到物体阻挡,这时候加速度计测量的加速度即力量要比你真正打到门上用的力量小得多.把这样的不准确的测量值代入游戏中计算,得到的结果必然是不精确的。只有你手中拿着move同时去打真实的门并且打碎,这时候move测得的加速度才是真正正确的力度.
而且,在实际打击门的过程中,门对手的阻挡作用,加速度的方向始终是和出拳的方向相反的.但如果对空挥舞,这时的加速度就不一定了,要看游戏中什么时候采样即在游戏中什么时候打到物体,这时测到的加速度有可能并不一定是与出拳方向相反,甚至大部分时候会和出拳方向一致.连方向都可以错误更不要说精确了.
第二、如果用加速度(力度)来计算物体最后被打击的效果,不外乎是以下的公式:v= fs/m***。这个式中,如果知道f、s、m三个数据就可以求出被打击物体被打击后的速度v。其中m是游戏中被打击物体的质量是确定的,f也可以通过加速度计测出,但s呢?如何确定施力距离?用move运动的距离衡量?不现实,因为实际上如果你真的打到一个物体,它早就飞出去了,不可能停下来让你施力而不动。这是一个很麻烦的事情,如果真要计算,还要涉及不同物体受挤压后的变形,以及弹性变形和非弹性变形的比例,还有其他方面的因素,所以精确测量s是不可能的,某人的说法是s是恒定的,根据v=fs/m***,只要打击的力度一样,v的结果是一样的。这真是好笑,相当于说,我只能用10牛顿的力推箱子1厘米而不能是两厘米,连中途我妈叫我吃饭停下来都不可以;或者说不论我是用10000米/秒的速度挥杆还是以0.1米每秒的速度挥杆,只要球拍击中球的时候move测得有10的加速度,打击效果就是一样的,殊不知道我用10000米/秒的速度打球那个球早就爆掉了。所以用v= fs/m***的方法计算打击效果必须测得精确的s,或者作用时间,否则能够精确测得加速度也是无用。
第三、通常的打击效果是通过计算动量来确定的,根本不考虑如何施力如何受力,忽略到一切中间环节,还能得到比较精确的结果。m1*v1=v2*v2,简单的乘法除法就行了,非常简单,对于大多数情况用这个没有任何问题。kinect测量即时速度没有任何问题。完全不存在没有打击感一类的说法。 |
|