003-unity3d 物理引擎简介以及示例
一、概述
物理引擎就是模拟真实世界中物体碰撞、跌落等反应的引擎,通过ballence、愤怒的小鸟等理解。Unity3D的物理引擎使用的是Nvidia的PhysX。
物理引擎是一个计算机程序模拟牛顿力学模型,使用质量、速度、摩擦力和空气阻力等变量。可以用来预测这种不同情况下的效果。它主要用在计算物理学和电子游戏以及电脑动画当中。
物理引擎有两种类型常见的型类:实时物理引擎和高精度物理引擎。高精度的物理引擎需要更多的处理能力来计算非常精确的物理,通常使用在科学研究(计算物理学)和电脑动画电影制作。实时物理引擎使用通常使用在电子游戏并且简化运算,降低精确度增以减少计算时间,得到在电子游戏当中可以接受的的处理速度。
二、示例
选一个游戏对象,主菜单→Component→Physics→Rigidbody,这样就添加了刚体组件,一旦给一个GameObject添加刚体组件,他就会受重力、碰撞等的反应,最典型的就是“脚下无地”就会坠落、和其他刚体碰撞会反弹,无法进入等。地面用Plane,加光照会更好。
开发步骤:
1、创建项目,打开软件,


默认如下,

也可以手工新增加一个新的 Sence,

2、创建球体,点击上图create ,创建 3d object→Sphere.配置其坐标x:0 y:5 z:0
3、设置球体为刚体,选中sphere,在Component上选择Physics→Rigidbody,此时在Inspector,中可以看到

设置Drag 为1
具体含义可看第一讲安装的文档

4、设置球体材质

只导入必要的包

将材质属性,拖拽至球体上即可
5、添加地面
在create→Plane即可,点击工具栏运行即可看到效果。
6、添加脚本


7、脚本内容编写
设置脚本打开方式:edit→perferences→External Tool→选择开发脚本工具即可
脚本默认有两个方法
Start 对象初始化
Update:每一帧调用时候执行
在Update增加以下内容
if (Input.GetMouseButtonDown())
{
this.gameObject.GetComponent<Rigidbody>().AddForce(Vector3.forward, ForceMode.Impulse);
}
将脚本拖拽至具体游戏推向即可,同一个脚本可以给多个游戏对象。
运行测试点击鼠标查看效果。
003-unity3d 物理引擎简介以及示例的更多相关文章
- 物理引擎简介——Cocos2d-x学习历程(十三)
Box2D引擎简介 Box2D是与Cocos2d-x一起发布的一套开源物理引擎,也是Cocos2d-x游戏需要使用物理引擎时的首选.二者同样提供C++开发接口,所使用的坐标系也一致,因此Box2D与C ...
- 【AwayPhysics学习笔记】:Away3D物理引擎的简介与使用
首先我们要了解的是AwayPhysics这个物理引擎并不是重头开始写的新物理引擎,而是使用Flascc技术把一个已经很成熟的Bullet物理引擎引入到了Flash中,同时为了让as3可以使用这个C++ ...
- Unity3D游戏开发初探—3.初步了解U3D物理引擎
一.什么是物理引擎? 四个世纪前,物理学家牛顿发现了万有引力,并延伸出三大牛顿定理,为之后的物理学界的发展奠定了强大的理论基础.牛顿有句话是这么说的:“如果说我看得比较远的话,那是因为我站在巨人的肩膀 ...
- Unity3D实践系列09, 物理引擎与碰撞检测
在Unity3D中,一个物体通常包含一个Collider和一个Rigidbody.Collider是碰撞体,一个物体是Collider,才可以进行碰撞检测.Collider组件中的"Is T ...
- [原]Unity3D深入浅出 - 物理引擎之碰撞体(Colliders)
通常Colliders会与Rigidbody一起使用,没有添加碰撞体的刚体会彼此相互穿过. 常用碰撞体有以下几种: Box Collider:盒子碰撞体,是一个立方体外形的碰撞体,可调整为不同大小的长 ...
- [原]Unity3D深入浅出 - 物理引擎之刚体部件(Rigidbody)
在虚拟世界中,任何物体都是没有活力的,要想变的真实,Rigidbody是必不可少的组件,下面介绍Rigidbody的各个属性: Mass:质量 Drag:阻力,对象在运动时遇到的空气阻力,0表示没有空 ...
- Unity3D笔记三 物理引擎
一.物理引擎 1.物理引擎就是模拟真实世界中物体碰撞.跌落等反应,通过Ballance.愤怒的小鸟来理解什么是物理引擎.Unity的物理引擎使用的是NviDIA的PhysX.2.选中一个游戏对象,主菜 ...
- UIDynamic物理引擎
iOS开发拓展篇—UIDynamic(简单介绍) 一.简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟 ...
- iOS开发——高级篇——UIDynamic 物理引擎
一.UIDynamic 1.简介什么是UIDynamicUIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象重力.弹性碰撞 ...
随机推荐
- linux下编译C/C++
对所有用户有效在/etc/profile增加以下内容.只对当前用户有效在Home目录下的.bashrc或.bash_profile里增加下面的内容:(注意:等号前面不要加空格,否则可能出现 comma ...
- PS如何拉倒影效果
1 复制图形(一般是文字)并垂直翻转得到倒影的初步样子(最好倾斜一下,看起来逼真一些)就像下面的迅雷的样子.记住要栅格化文字. 2 用魔棒工具抠除原来的颜色,只剩下空的选区. 3 拉渐变
- WebGL 启动载入触发更新流程分析
WebGL 启动载入触发更新流程分析 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载 ...
- Win10 导航窗口不能移动文件win10 资源管理器 无法拖动文件到左侧驱动器
Win10 导航窗口不能移动文件怎么办 Win10左侧导航栏不能移动文件怎么办 win10 资源管理器 无法拖动文件到左侧驱动器怎么办 在同一个文件夹可以拖动来移动文件,拖到地址栏的面包屑也可以移动文 ...
- 字典转模型的过程中,空值和id特殊字符的处理
在IOS 中id是特殊字符,可是非常多时候从网络中下载的数据是以id保存的 假设在定义属性的时候 @property(nonatomic, copy) NSString *id; 就不会出现错误 当键 ...
- 真正的Java学习从入门到精通
http://www.it.com.cn/f/edu/059/6/169189.htm 一. 工具篇JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行 ...
- Git合并分支命令参数详解:git merge --ff
今天研究了一下git merge命令常用参数,并分别用简单的例子实验了一下,整理如下: 输入命令git merge -h可以查看相关参数: --ff 快速合并,这个是默认的参数.如果合并过程出现冲突 ...
- 转Postman请求Https接口
转自:https://blog.csdn.net/ONS_cukuyo/article/details/79172242 单向认证 像平常一样访问就行,无需做任何处理,只需要把http://变成htt ...
- Python之布尔运算符
python中的布尔运算符有三种,or,and,not. 布尔运算,根据升序优先进行排序.运算 | 结果 | 提示=============================x or y | x假时,执 ...
- (二)spark算子 分为3大类
transgormation的算子对key-value类型的数据有三种: (1)输入 与 输出为一对一关系 mapValue();针对key-value类型的数据并只对其中的value进行操作,不对 ...