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框架可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象重力.弹性碰撞 ...
随机推荐
- Centos 通过yum的方式升级内核
在安装某些软件时,可能对我们的系统内核版本有要求. 比如在安装docker要满足一定的条件,对于centos系统,要求必须是64位,并且内核版本是3.10以上. 如果你的centos操作系统内核低于3 ...
- SSRF漏洞的挖掘经验
本文转自:https://sobug.com/article/detail/11 SSRF概述 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造 ...
- cmake 如何生成一个win32工程
只需要加上下面一句连接选项就可以了. IF(WIN32) SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:W ...
- mybatis like写法
name like concat(concat('%',#{name}),'%') name like concat('%',#{name},'%')
- ES6 动态计算属性名
在ES5之前,如果属性名是个变量或者需要动态计算,则只能通过 对象.[变量名] 的方式去访问. <script type="text/javascript"> var ...
- C#趣味程序---水仙花数
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 个人观点,说一下对 PHPCMS 的站点架构的看法
PHPCMS应该是国内第一家用MVC架构来写开源PHP产品的,我第一次工作上接触到PHPCMS是在两年前.那个时候对MVC还是不理解,然后由于工作须要,须要改动一下PHPCMS的源代码.拿到代码后.我 ...
- Fog of War小调研
看起来LOL和DOTA2都用的是格子来做的战争阴影,并且是用PP做的.
- JQuery find函数选择器使用
- 搭建SSH框架整合Struts2和Spring时,使用@Autowired注解无法自动注入
© 版权声明:本文为博主原创文章,转载请注明出处 1.问题描述: 搭建SSH框架,在进行Struts2和Spring整合时,使用Spring的@Autowired自动注入失败,运行报错java.lan ...