unity3d中的物理系统

原创 2015年07月07日 21:48:00

单独:
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去实现人物角色。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Unity中简单的优化物理系统

目标 这个篇文章的主要目标是给予你一个关于在Unity中简单的优化物理系统 我的游戏物理系统有什么错误吗? 怎么去处理游戏物理系统? Unity 物理系统有什么缺陷吗? ...

unity3D游戏开发十一之物理引擎

Unity内置了NVIDIA的Physx物理引擎,Physx是mu'qian

unity3d物理赛车系统

最近一直在研究unity3d,很强大的一款3d引擎。本篇介绍基于此引擎的一个物理赛车驱动算法。 建模丑了点... 首先,我们需要先弄懂汽车的工作原理。每个汽车的动力来自引擎。引擎动...
  • ybhjx
  • ybhjx
  • 2015-12-24 00:48
  • 703

Unity3D笔记第十二天——鼠标事件、物理类、射线

鼠标事件 OnMouseDown:鼠标在GUIElement或Collider之上,按下鼠标,该事件即被触发 OnMouseDrag:鼠标在GUIElement或Collider之上,按下鼠标并保...

Unity3d 2D物理特效插件

  • 2016-05-28 11:10
  • 34.03MB
  • 下载

Unity3d 基于物理渲染Physically-Based Rendering之最终篇

基于物理渲染Physically-Based Rendering的最终版本,或许也有待提升,运用了fragement shader,看了就知道 基于物理的、保能量的渲染模型可以很容易地建立出在不同光照...
  • wolf96
  • wolf96
  • 2015-03-11 20:57
  • 3356

Unity3d 基于物理渲染Physically-Based Rendering之实现

基于物理的、保能量的渲染模型可以很容易地建立出在不同光照环境下都接近真实的材质来。 而unity5也提出了基于物理的渲染,让我们看看unity4中怎样实现它 根据前篇文章的算法与理论基础,本篇真正实现...
  • wolf96
  • wolf96
  • 2015-03-11 07:53
  • 2828

Unity3D 2dtoolkit 物理游戏开发

Unity3D这个游戏引擎写得很不错,Asset Store里面卖的插件有些也是相当不错,游戏开发起来越来越便捷了。 2dtoolkit 是里面专门做2d游戏的插件,说做游戏,可能有点绝对,它的的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)