快速导航:   教程资源  | 经典范例  | 友情链接  | 联系我们  | 官方微博
登陆 | 注册

 flash 3d 研究所
flash3d 研究所 pv3d 教程 研究所小贴士: Collada是有很多种,格式不一定相同。pv3d中使用的一般是openCollada格式。这也是为什么新版3dmax直接导出的dae有时无法正确解析的原因,因为它是autodeskCollada。要dae完全解析正确是不可能的。










最近更新:
● wan925446570阁下在讨论区里 发表新主题“怎么配置away3d运行环境啊???...”(20:38:35)
● yanfaqiang阁下在讨论区里 回复“《超简易papervision3D基础 ...”(18:08:41)
● cripel阁下在讨论区里 回复“...”(14:38:04)
浏览主题:pv3d如何设置障碍物

pv3d如何设置障碍物
我为系统狂 (2011-02-19 01:58:52)


A物体可控制 B物体是墙或则障碍物 那么如何设置A不能通过B呢?B阻挡着A的前进





flash 3d 研究所 海啸Flash3DBitMapData
(2011-02-19 16:27:49)
若A每次移动X,碰撞发生后A沿反方向行X就行。


flash 3d 研究所 fur3
(2011-02-21 14:24:57)
这个叫碰撞检测 专业的碰撞检测是非常复杂的 但是如果只是在平地行走的话,用二维的碰撞即可
山地的话需要用到物理引擎


flash 3d 研究所 centre1999886
(2011-03-05 16:59:32)
我看到一个VC++ OpenGL的例子,没用物理,用一段
float baiscobj::GetHeight(float x, float z)
{      float CameraX = x/MAP_SCALE;
     float CameraZ =-z/MAP_SCALE;
     int Col0 = int(CameraX);
     int Row0 = int(CameraZ);
     int Col1 = Col0 + 1;
     int Row1 = Row0 + 1;
     if (Col1 > MAP_W)      Col1 = 0;
     if (Row1 > MAP_W)      Row1 = 0;
     float h00=g_terrain[Col0 + Row0*MAP_W][1];
     float h01=g_terrain[Col1 + Row0*MAP_W][1];
     float h11=g_terrain[Col1 + Row1*MAP_W][1];
     float h10=g_terrain[Col0 + Row1*MAP_W][1];
     float tx =CameraX - int(CameraX);
     float ty =CameraZ - int(CameraZ);
     float txty = tx * ty;
     return h00*(1.0f-ty-tx+txty)
                 + h01*(tx-txty)
                 + h11*txty
                 + h10*(ty-txty);
}
也可以,是不是可以把它翻译成AS代码


评论人:
邮   箱: (填入邮箱,博客地址均可)

内   容: (广告和垃圾内容可能会被删除,望理解)
链接地址

验证码:(为防止机器人骚扰,请麻烦输入验证码^_^)
  

(目前需登陆方可发表)


不想添加了