码迷,mamicode.com
首页 > 编程语言 > 详细

003-unity3d 物理引擎简介以及示例

时间:2018-01-06 14:27:50      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:模拟   含义   模型   unity3d   物理学   概述   技术   info   配置   

一、概述

  物理引擎就是模拟真实世界中物体碰撞、跌落等反应的引擎,通过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(0))
        {
            this.gameObject.GetComponent<Rigidbody>().AddForce(Vector3.forward, ForceMode.Impulse);
        }

  将脚本拖拽至具体游戏推向即可,同一个脚本可以给多个游戏对象。    

  运行测试点击鼠标查看效果。

003-unity3d 物理引擎简介以及示例

标签:模拟   含义   模型   unity3d   物理学   概述   技术   info   配置   

原文地址:https://www.cnblogs.com/bjlhx/p/8213836.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!