查看: 2100|回复: 15

physx添加模型的问题

[复制链接]

该用户从未签到

发表于 2012-11-26 20:07:58 | 显示全部楼层 |阅读模式
今天看到网上关于physx的例子, 里面添加的都是box, 要想添加一个不规格的模型, 比如,osg里面的牛,小飞机的模型,要怎么添加啊? 比如,box用NxBoxShape添加, 那牛,飞机用什么添加啊?

该用户从未签到

发表于 2012-11-26 21:01:54 | 显示全部楼层
三角网

该用户从未签到

发表于 2012-11-27 07:55:59 | 显示全部楼层
跟Bullet中肯定有相似功能的TriangleMesh等相关类,您看的还是不全

该用户从未签到

 楼主| 发表于 2012-11-27 10:05:55 | 显示全部楼层
Hehykissool 发表于 2012-11-26 21:01
三角网

那四边面的模型也可以用三角网的吧?

该用户从未签到

 楼主| 发表于 2012-11-27 10:06:57 | 显示全部楼层
liuzhiyu123 发表于 2012-11-27 07:55
跟Bullet中肯定有相似功能的TriangleMesh等相关类,您看的还是不全

哦, 有这个类, 还有几个关于XXXMesh的类。

该用户从未签到

发表于 2012-11-27 11:33:45 | 显示全部楼层
有TriangleMesh,需要先cook。而且这种不规则的物理运算是很耗费的,尽量不要用

该用户从未签到

 楼主| 发表于 2012-11-27 14:34:45 | 显示全部楼层
array 发表于 2012-11-27 11:33
有TriangleMesh,需要先cook。而且这种不规则的物理运算是很耗费的,尽量不要用

哦, 那要是想对osg里面的牛或者飞机加物理要怎么实现啊, 还有就是给一个人体的模型加物理要怎么实现啊, 我是参看你cookbook的代码学那。

该用户从未签到

发表于 2012-11-29 11:05:05 | 显示全部楼层
建议使用BULLET_PHYSICS来实现,因为开源,所以好学

该用户从未签到

发表于 2012-11-29 11:11:50 | 显示全部楼层
saber 发表于 2012-11-27 14:34
哦, 那要是想对osg里面的牛或者飞机加物理要怎么实现啊, 还有就是给一个人体的模型加物理要怎么实现啊, ...

没有你想象的麻烦,因为物理模型与渲染模型往往是不一样的







渲染模型:

渲染模型

渲染模型


物理模型:

物理模型

物理模型

该用户从未签到

 楼主| 发表于 2012-11-29 11:43:24 | 显示全部楼层
Hehykissool 发表于 2012-11-29 11:11
没有你想象的麻烦,因为物理模型与渲染模型往往是不一样的

谢谢!我本来也是想把模型拆开分别加上物理模型的, 可以是美工那边给的人体的模型是一个整体,就是一个大模型, 里面没有分组, 他说模型有呼吸的动画,拆开了动画弄不了。是不是只能用mesh了,我看physx里面有三角面的mesh, 我的模型是四边面的, 是不是应该用convex?

想的的是:听诊器在人体上移动碰撞,听诊器始终和碰撞的面平行,有什么好的思路吗?

该用户从未签到

 楼主| 发表于 2012-11-29 11:44:10 | 显示全部楼层
Hehykissool 发表于 2012-11-29 11:05
建议使用BULLET_PHYSICS来实现,因为开源,所以好学

好的, 感谢你的建议, 我看一下bullet。

该用户从未签到

发表于 2012-11-29 15:52:38 | 显示全部楼层
Bullet一个道理,这种不规则形体的物理运算非常耗费,实际工程中必须转成规则形体例如OBB或者K-Dop

该用户从未签到

发表于 2012-11-29 21:14:43 | 显示全部楼层
saber 发表于 2012-11-29 11:43
谢谢!我本来也是想把模型拆开分别加上物理模型的, 可以是美工那边给的人体的模型是一个整体,就是一个大 ...

注意看,物理模型与图形模型并非是完全重合的

捕获.JPG
对比上面的图2,你会发现,人的身体是由若干球体组合而成的,腿部是有一些胶囊(capsule)组成的
不需要过于复杂的碰撞。

而且物理模型分为了两种颜色
红色指自由刚体,通过color=Red]约束绑定到骨骼
绿色为主动刚体,可以控制其运动。

然后,我们的目的是
让主动刚体在我们的操作中主动运动,自由刚体在主动刚体的刺激下伴随运动

因此,我们在制作这一整套     骨骼—物理—表面模型时应该按照以下步骤进行

1.制作角色的表面模型

2.对角色主体的表面模型绑定骨骼,并制作骨骼动画(主体部分一般包括四肢,躯干和头部)

3.在合适的地方建立一些概略的主动刚体模型,并与骨骼进行绑定(红色部分)

4.对角色的附属部分进行单个装饰部件或进行绑定骨骼直接的制作(一般包括头发,衣裙和小饰品,例如你说的听诊器)

5.将附属物体进行合理的抽象,并与概略刚体模型绑定

6.将附属物体的刚体模型通过一定的约束与主体相联系

关系为主体骨骼带动主体刚体,主体刚体带动附属物刚体,附属物刚体带动附属物骨骼
捕获.JPG

该用户从未签到

发表于 2012-11-29 21:17:15 | 显示全部楼层
array 发表于 2012-11-29 15:52
Bullet一个道理,这种不规则形体的物理运算非常耗费,实际工程中必须转成规则形体例如OBB或者K-Dop

一般倒都是直接用基本的几何图形进行拼装的

该用户从未签到

 楼主| 发表于 2012-12-7 19:40:51 | 显示全部楼层
Hehykissool 发表于 2012-11-29 21:14
注意看,物理模型与图形模型并非是完全重合的

感谢你的回答, 你上面那个带物理模型的图片, 是用程序做的,还是maya之类的工具啊?

该用户从未签到

发表于 2012-12-7 19:59:32 | 显示全部楼层
这个叫做MikuMikuDance,小日本的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表