物理改写引擎
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/22 12:54:11 体裁作文
篇一:显卡物理引擎
【定义篇】
物理加速技术一种让CPU、GPU或物理加速卡来加速物理算法执行的一种引擎。物理加速引擎主要就是对力学进行模拟,其中包括流体模拟、软性物体模拟、物体碰撞模拟和物体破裂模拟等。
流体模拟:游戏中的河流并不一定是流体模拟。地上一滩水,它会因为重力等因素非事先设定好的路线自然流动才叫流体模拟。比如说在《艾莉丝:疯狂回归》中PhysX开高,然后打倒一只弃灵,就能看到这个效果,虽说效果照比专业软件差多了。
http://player.youku.com/player.php/sid/XMzU0NDY4NjQw/v.swf
软性物体模拟:飘扬的旗帜、鲁瑶都属于软性物体模拟。
下面这个视频就非常形象的“描绘出”软性物体模拟
/v/8a_OaH5unD4/&rpid=3454809&resourceId=3454809_04_05_99/v.swf
物体碰撞模拟:物质之间相互摩擦、碰撞等都属于物体碰撞模拟,甚至可以模拟出烟雾效果。3DMark11的物理测试也是典型的碰撞模拟。 EA的《创造》里面也有很多碰撞模拟。
http://player.youku.com/player.php/sid/XMTk0ODg4MzQ4/v.swf
物体破裂模拟:赛车类游戏中撞车、撞墙、撞物后飞散出的碎片;射击类游戏轰炸建筑物造成的破坏都属于物体破裂模拟。最近比较典型的就是《狙击精英V2》
http://player.youku.com/player.php/sid/XMjkzODM0Mjc2/v.swf
【分类篇】
目前常见的物理加速引擎有三种:Intel旗下的Havok,Nvidia旗下的PhysX,还有和AMD合作的Bullet。
Havok
物理引擎中的老大,基于CPU计算,Havok物理引擎的游戏也是最多的。《骇客帝国》用的就是Havok引擎。
虽然是Intel旗下,但也与AMD有合作开发GPU计算,但目前并无成品。
PhysX
游戏总数排行第二,CPU、GPU和物理加速卡三种运算模式。目前貌似没有电影使用过PhysX引擎。
原老总已经跳槽到AMD。
三大物理引擎中唯一可以靠GPU计算并已经出成品的物理引擎。
Bullet
排行第三,基于CPU来计算,支持的游戏不多,不过3DMark11和GTA4都是使用的Bullet引擎,电影《2012》用的也是Bullet引擎。 跟AMD也有合作开发GPU计算,但一样也是无成品。
篇二:unity3d-物理引擎
unity3d-物理引擎
简介
物理引擎就是在游戏中模拟真实的物理效果,比如,场景中有两个立方体对象,一个在空中,一个在地面上,在空中的立方体开始自由下落,然后与地面上的立方体对象发生碰撞,而物理引擎就是用来模拟真实碰撞的效果。
如果需要让模型感应物理引擎的效果,需要将刚体组件或角色控制器组件添加至该对象中。
刚体(Rigidbody)
刚体是一个非常重要的组件,新创建的物体默认情况下是不具有物理效果的,而刚体组件可以给物体添加一些常见的物理属性,比如物体质量、摩擦力和碰撞参数等,这些属性可用来真实的模拟该物体在3D游戏世界中的一切行为。
下面我们在unity中创建一个plane(平面),两个cube(立方体),
蓝色cube默认状态是没有rigidbody,
给红色cube添加刚体组件,选择要添加刚体的对象,
通过 “Component—>Physics—>Rigidbody”或者在Inspector窗口,选择
“AddComponent—>Physics—>Rigidbody ”
运行后可以发现,添加了刚体的红色cube感应到了物理效应,会从空中落下。而蓝色cube依然是静止不动的
可以看到Inspector可以看到Rigidbody包含的属性,简单的看下几个属性的含义,详细的可以看手册
力
力是物理学中一个非常重要的元素,其种类有很多,刚体组件可以受力的作用,
比如给刚体施加一个X轴方向的力,那么该刚体绑定的物体将沿X轴方向向前移动,
这就好比用力将物体仍出去一样,该物体会以抛物线的形式移动,而不是呆板的做匀速平移 。
力的方式有两种
1:普通力,通过设定里的方向和大小,相当于把力施加在物体的重心上。
2:位置力,需要设定目标点的位置,该物体就朝向这个目标位置施加力。
AddForce和AddForceAtPosition
还是拿之前的那个列子做演示。在Hierarchy视图中创建两个Sphere,红色的添加普通力,白色的添加位置力
红色Cube当作位置力的目标对象。即向该位置发射一个位置力
1:创建脚本。定义三个变量:
1 public GameObject whiteSph; //白色球体 施加普通力的对象2 public GameObject redSph; //红色球体 施加目标位置力的对象3
public GameObject targetPos;//目标对象
2:GUI绘制两个Button,分别控制“普通力”和“位置力”逻辑代码
1 void OnGUI() 2 { 3if (GUILayout.Button("普通力")) 4{ 5 redSph.rigidbody.AddForce(0,1000,0); //Y轴上力的大小为
1000。即向上 6} 7if (GUILayout.Button("位置力")) 8{ 9 //算出whiteSph到targetPos的目标向量10 Vector3 c = targetPos.transform.position -
篇三:Neoaxis3D游戏引擎-改
Neoaxis 3D游戏引擎
Neoaxis 3D游戏引擎是一款高性能的3D图形引擎,可创建交互式三维图形仿真、3D虚拟世界和AAA级游戏。是同时具备实时3D引擎和全功能的工具套件组成的系统。
优秀的Neoaxis
一、 游戏的Neoaxis
1、 完整的游戏架构
具有基本的游戏对象系统及编辑器,基于网格的路径搜索系统,整合进内核的高级网络协议的同步化,丰富的游戏类型例子。
集成了物理引擎、GUI系统、3D音效,出色的图形和粒子效果,集成了网络开发多人游戏支持,支持Zip 压缩,使用它你可以做任何类型的游戏,或任何一种产品。
2、 基于C#、.NET编程环境
支持.NET2.0以上版本。可使用C#编程语言 ,支持C/C++编写的库,内部优化本地代码,支持.NET Framework等多种运行库,编写一次,多平台运行,支持多个IDE
二、 虚拟现实的NeoAxis
以通用为目标的而开发的NeoAxis 3D游戏引擎全面支持非游戏项目,比如模拟,虚拟化程序和训练程序。使用NeoAxis引擎的内置工具来快速创建剧情脚本,现实世界3D地形建筑,资源管理,和人工智能。
三、 面向教育的Neoaxis
NeoAxis 3D游戏引擎作为不同教育机构面向现代化3D图形技术,互动式虚拟现实,模拟及视频游戏领域的教学工具是非常有效率的。
1、 高度可用性
NeoAxis有为开发任何项目所准备的最方便以及高度可用性的工具。工具的完整本地化支持使得把工具翻译为其他语言成为可能。这可以极大的提升和简化使用本地的,母语教学。
2、 拥有完整的工具集
NeoAxis引擎承载了可用于任何方面项目开发的全面完整而且简单易学,易用的可视化编辑器。学生和教师能使用NeoAxis完整的内容流程,能提供快速有效的工作环境。
3、 有效率的教育
NeoAxis引擎SDK提供了数个演示地图和场景,一个场景中包括一个或数个引擎的特色。采用这种方式可以单独学习特定的特色或主题,贯彻了“从简单到复杂”的原则。学生和教师可以一步一步的学习当代3D技术,保持复杂的课程尽量简单但又不失特色。
4、 无限的灵活
NeoAxis引擎能用于编程、3D图形、游戏设计、建筑学、和互动式虚拟化的课程,不同的模拟以及很多领域——事实上,几乎任何需要3D虚拟化和3D引擎工具的方面。
5、 拥有非商业的SDK和(来自:www.Zw2.cn 爱 作文 网)授权
四、 全能的
NeoAxis
使用NeoAxis引擎创建的程序能运行在Windows,Mac和Linux上。
NeoAxis引擎包括完整的工具集也包括对象编辑器和用户界面编辑器。
NeoAxis引擎有强大的基于.NET的API。主要语音为C#和C/C++。
引擎SDK包含WinForms和WPF开发框架。
NeoAxis游戏对象系统是用以开发游戏逻辑的一个独一无二的的软件环境。
NeoAxis引擎提供了绝大多数现代高级渲染特色
高级材质和着色,实时阴影,静态光,真实的水面着色
使用内置的Nvidia PhysX引擎来使你的物体变得生动。OED也同样支持。
支持Internet和LAN同步。高级对象同步。
可扩展的用户界面系统和强大的GUI编辑器。
NeoAxis支持绝大多数的输入设备。包括摇杆,体感,XBOX360手柄。
基于NeoAxis的程序使用NeoAxis网页播放插件能在网页上部署。
体裁作文