布娃娃(关节约束)
来源:互联网 发布:sql server sp help 编辑:程序博客网 时间:2024/04/27 20:32
西昌.何雨锋
ragdoll
布娃娃约束是用在布娃娃身上的一种部分约束,并非整个布娃娃。
首先来了解几个概念:
plane 平面,也就是关节在平行于地平面的面上旋转,如汽车左右开。
twist 扭转,也就是关节自己旋转,如水泥搅拌机。
cone 锥体,也就是一个圆锥体在关节位置,关节只能在这个圆锥体里旋转运动。
展开你的上臂,它作扇形运动,无论是平着的还是立着的,都是plane.上臂不作扇形运动,而只是沿长轴旋转,就是twist,实际上,这个角度不大。
约束数据位置在:
Physics/Dynamics/Constraint/Bilateral/Ragdoll/hkpRagdollConstraintData.h
另外要用到约束实例类
Physics/Dynamics/Constraint/hkpConstraintInstance.h
要使用这个约束,首先就必须设置plane,twist,cone的最大最小值
这里设置了plane的最小值和最大值为-36度和72度
twist的最小值和最大值为-72度和142度
圆锥体活动范围为36度
尤其注意还有一个函数:
setMaxFrictionTorque(0~1)
值在0-1之间,它可以控制关节的僵硬程度,调节它直到合适。
同样的,hkpRagdollConstraintData也有setInWorldSpace与setInBodySpace两个函数,
参数为hs->setInWorldSpace(可活动的物体位置状态,固定的物体位置状态,两个物体中间那个旋转点位置,twist轴点位置,palne轴点位置)
下图为twist的轴,只能沿红色轴自转。
下图,圆锥体的限制范围。
下图,手臂只能沿兰色plane轴上下扇形运动
下图,plane与cone,我们可以指定在后面一大锥所以它大大剪辑的手臂的运动。前方锥形非常小,因此它不会影响手臂的运动的
下图,当plane与cone结合之后,兰色部分为不可到达区,红色为可到达区,可以看出plane的设置MAX,min值的不同,使前面可活动的范围变大,后面可活动范围变小
下图,两者结合的最后结果
下图,顶视图,中间那个点就是两者之间的中间位置点pivot point.
reference body为固定物体,attached body为被连接的子活动物体
下图,前视图,可以看到,搅拌机的自转,同时,标出了twist axis与palen axis.
这两个参数为hkVector4(1,0,0)和hkVector4(0,1,0)表明了他们是以x轴和y轴作为旋转轴的。
下图,边视图,绿色部分为cone
- 布娃娃(关节约束)
- MAX Reactor之布娃娃约束(Ragdoll)
- 关节
- unity3d布娃娃2
- Ragdoll布娃娃组件
- 布娃娃系统
- Unity3d 布娃娃系统
- bzoj2161 布娃娃
- bzoj 2161: 布娃娃
- bzoj 2161: 布娃娃
- 娃娃
- 娃娃
- unity3d中布娃娃系统
- unity3d中布娃娃系统
- 【转载】Ragdoll布娃娃组件
- Unity Ragdoll(布娃娃系统)
- 利用Solidworks Motion将带有质量信息和关节约束的三维模型导入ADAMS
- 布娃娃, 我改的儿歌
- 帮你解读身份证号码的秘密
- 在C++中一个类对象究竟占用多少内存
- Json格式和数据类型 介绍
- HTML元素、HTML 语法
- PCAP网络编程
- 布娃娃(关节约束)
- 使用java的Proxy实现AOP(面向切面编程)
- HTML + CSS + DW 中的文字纵向竖排的方法
- C# WinForm 双击DataGridView修改数据
- 做一个幸福的人
- 关于在Application_Error如何使用session
- java中判断字符串是否数字的两种方法
- va_list,va_start,va_end
- LOCK关键字作用理解 实例