unity3d中的物理系统
2015-07-07 21:48
459 查看
单独:
Constant force恒力:
世界空间的力和物体空间的力。
向上漂用Y轴的世界空间力,向Z轴方向飞用物体空间的力??为什么。。
Rigidbody 刚体
通常概念中的刚体只有不形变,在unity中就是non-kinematic rigidbody
不会发生形变(rigidbody) 而且还受力(non-kinematic )
经常和collider组合使用。
Kinematic 和 non-kinematic 单个物体运动的属性
运动学(直接施加变换)还是受力学(直接施加力)。
Collider碰撞器(不是刚体)单个物体交互的属性
做碰撞检测。
组合:
Kinematic Rigidbodies 运动学刚体:
不受力,重力,碰撞的影响,只能够通过动画或者程序驱动。
可以和non-kinematic rigidbody刚体(unity中即rigidbody)交互。
交互例子:
1Kinematic Rigidbodies可以唤醒其他带collider的rigidbody
2 Kinematic Rigidbodies可以影响通过joint连接到他的rigidbody
2 可以对放在Kinematic Rigidbodies之上的rigidbody施加摩擦力。
除了摩擦力,还能施加其他的力么???碰撞的时候只是去唤醒碰撞检测,不会施加力过去么?character controller可以对碰撞的物体施加力。
运动学刚体例子:
1角色正常情况下是运动学刚体(不受力,只受程序或者动画控制),挂的时候变成非运动学刚体(受力的作用)。正常角色变成ragdoll。
2 一个移动的物体可以推动别的物体,但是自己不会被推动。放东西的,且拥有动画的平台
3 通常用于移动的平台,或者动画一个带有hingejoint的刚体(non-kinematic rigidbody)。
GameObject:通过力或者扭矩(rigidbody)操作,通过Transform(kinematic rigidbody)。只能之一,互斥。
Character controller角色控制器
属性:
仅仅是一个有着capsule包装的collider。
是kinematic rigidbody,自己不受力的影响,但是可以施加力给其他的non-kinematic rigidbody。
总是垂直Y轴,可以延墙走,走上台阶,走上斜坡。
使用:
如果增加rigidbody,表现会很奇怪。
Character controller需要推动其他的刚体,需要其他刚体call OnControllerColliderHit。
据官方文档说给FPS/TPS做游戏主角用。
Player:
1如果不需要物理影响,可以用Character controller
2如果需要物理印象,用rigidbody + collider
NPC一般都不太用。NPC一般都用kinematic rigidbody + collider去实现人物角色。
Constant force恒力:
世界空间的力和物体空间的力。
向上漂用Y轴的世界空间力,向Z轴方向飞用物体空间的力??为什么。。
Rigidbody 刚体
通常概念中的刚体只有不形变,在unity中就是non-kinematic rigidbody
不会发生形变(rigidbody) 而且还受力(non-kinematic )
经常和collider组合使用。
Kinematic 和 non-kinematic 单个物体运动的属性
运动学(直接施加变换)还是受力学(直接施加力)。
Collider碰撞器(不是刚体)单个物体交互的属性
做碰撞检测。
组合:
Kinematic Rigidbodies 运动学刚体:
不受力,重力,碰撞的影响,只能够通过动画或者程序驱动。
可以和non-kinematic rigidbody刚体(unity中即rigidbody)交互。
交互例子:
1Kinematic Rigidbodies可以唤醒其他带collider的rigidbody
2 Kinematic Rigidbodies可以影响通过joint连接到他的rigidbody
2 可以对放在Kinematic Rigidbodies之上的rigidbody施加摩擦力。
除了摩擦力,还能施加其他的力么???碰撞的时候只是去唤醒碰撞检测,不会施加力过去么?character controller可以对碰撞的物体施加力。
运动学刚体例子:
1角色正常情况下是运动学刚体(不受力,只受程序或者动画控制),挂的时候变成非运动学刚体(受力的作用)。正常角色变成ragdoll。
2 一个移动的物体可以推动别的物体,但是自己不会被推动。放东西的,且拥有动画的平台
3 通常用于移动的平台,或者动画一个带有hingejoint的刚体(non-kinematic rigidbody)。
GameObject:通过力或者扭矩(rigidbody)操作,通过Transform(kinematic rigidbody)。只能之一,互斥。
Character controller角色控制器
属性:
仅仅是一个有着capsule包装的collider。
是kinematic rigidbody,自己不受力的影响,但是可以施加力给其他的non-kinematic rigidbody。
总是垂直Y轴,可以延墙走,走上台阶,走上斜坡。
使用:
如果增加rigidbody,表现会很奇怪。
Character controller需要推动其他的刚体,需要其他刚体call OnControllerColliderHit。
据官方文档说给FPS/TPS做游戏主角用。
Player:
1如果不需要物理影响,可以用Character controller
2如果需要物理印象,用rigidbody + collider
NPC一般都不太用。NPC一般都用kinematic rigidbody + collider去实现人物角色。
相关文章推荐
- unity3d中的动画
- Unity3D中动画和GameObject的变化关系
- unity, 判断可见性
- Unity在Scene窗口有显示,在Game窗口不显示
- 各种输入
- Unity实例化对象的公共方法
- C#开发Unity游戏教程之游戏对象的属性变量
- 有关Unity3D的OnRenderImage()和Blit()的一些问题
- Unity3d shader编程 VertexLit渲染路径
- C#开发Unity游戏教程之游戏对象的属性变量
- Unity-Tween 插件比较
- unity 3D炫酷开场动画
- Unity3d Mathf数学运算说明
- unity 3D游戏场景转换
- Unity3D Editor在右键弹出菜单中添加 item
- Unity中的mvc框架_StrangeIoC(之十)
- unity 3D游戏开场画面隐退实现
- unity3d的坐标总结
- Unity中的mvc框架_StrangeIoC(之九)
- Unity中的mvc框架_StrangeIoC(之八)