作者linjack (嗯)
看板GameDesign
标题Re: [问题]音速小子的行为模式
时间Sun Jun 4 15:40:28 2006
※ 引述《StubbornLin (Victor)》之铭言:
: 垂直於那个表面的方向,给与一个这颗球在这个法向量方向上面等同大小的反作用力
: 就可以抵消,简单的来讲,就是那个方向的速度归0
: 这样来做应该才比较正确,因为如果是x方向碰撞到,只有x方向的速度归0
: 而y还会继续往下掉
: ● 当撞到的一瞬间,速度在法线项量要抵消掉
: ↓
: ↑ 法线向量
: -----------------------------------
: 就算表面是斜的,一样也是法向量速度归0
唔, 法线方向上的反作用力不是把物体的法线方向速度归零就好啊 @@"
这样的叙述有点怪怪的...
力(加速度)与速度应该要分开来看的
e.g. 一个速度为 vx = 5, vy = 5 的球碰到了铅直的墙壁
如果这时把法线方向的速度, 也就是 vx 归零
那球就贴壁走了
可能您的叙述过於简略了 不知道我有没有误解的地方..
另外 在 Platformer 游戏中 (如 Sonic / Mario 之类)
或者是 Pinball 类的游戏中..
有各式各样的地型 要如何建立一个完善的碰撞系统其实还蛮麻烦的
光是去找某个瞬时的碰撞点 碰撞点的切线/法线要如何精确地找出
还要考量到各种效率问题 .... 颇复杂 @__@a
一点想法.
--
附:
http://www.harveycartel.org/metanet/tutorials/diagrams/tutA_demo.html
http://www.harveycartel.org/metanet/tutorials/diagrams/tutB_demo04.html
这是我目前看过在 flash 上相当好的一个实作范例
大家参考参考...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.72.57.78
※ 编辑: linjack 来自: 203.72.57.78 (06/04 15:48)
1F:推 etrexetrex:附...也是FLASH做的.这证明FLASH做的出来 XD 06/04 18:42