A. 物理引擎的作用是什么呢
物理引擎使用对象属性(动量、扭矩或者弹性)来模拟刚体行为,这不仅可以得到更加真实的结果,对于开发人员来说也比编写行为脚本要更加容易掌握。好的物理引擎允许有复杂的机械装置,像球形关节、轮子、气缸或者铰链。有些也支持非刚性体的物理属性,比如流体。物理引擎可以从另外的厂商购买,而一些游戏开发系统具备完整的物理引擎。
但是要注意,虽然有的系统在其特性列表中说他们有物理引擎,但其实是一些简单的加速和碰撞检测属性而已。当NVIDIA宣布正式收购Ageia及该公司的PhysX物理软硬件组件后,所有人都在期待,期待着NVIDIA会推出新的有关物理运算的东西出来。果不其然,最近当NVIDIA发布Forceware 177.79驱动后,意味着GeForce 8/9和GT200系列的GPU都支持PhysX引擎。这是因为NVIDIA将PhysX引擎集成到CUDA架构的物理运算中。这样,显卡就能自动进行物理加速运算。当然,PhysX在游戏上的运用仅仅是物理引擎众多运用的一方面,在整个CUDA通用运算领域上,都会有物理引擎的身影,比如计算天体间在相互引力的作用下,各自的运动轨迹等。
B. HTML5开发游戏需要什么工具,还有要用到的知识(主要)是什么 最好是自己回答。。。。。
你可以先去【绘学霸】网站找“游戏特效/unity3D”板块的【免费】视频教程-【点击进入】完整入门到精通视频教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=305,306&zdhhr-11y17r-239619078
想要系统的学习可以考虑报一个网络直播课,推荐CGWANG的网络课。老师讲得细,上完还可以回看,还有同类型录播课可以免费学(赠送终身VIP)。
自制能力相对较弱的话,建议还是去好点的培训机构,实力和规模在国内排名前几的大机构,推荐行业龙头:王氏教育。
王氏教育全国直营校区面授课程试听【复制后面链接在浏览器也可打开】:
www.cgwang.com/course/gecoursemobilecheck/?zdhhr-11y17r-239619078
在“游戏特效/unity3D”领域的培训机构里,【王氏教育】是国内的老大,且没有加盟分校,都是总部直营的连锁校区。跟很多其它同类型大机构不一样的是:王氏教育每个校区都是实体面授,老师是手把手教,而且有专门的班主任从早盯到晚,爆肝式的学习模式,提升会很快,特别适合基础差的学生。
大家可以先把【绘学霸】APP下载到自己手机,方便碎片时间学习——绘学霸APP下载: www.huixueba.com.cn/Scripts/download.html
C. 盗贼之海怎么语音说话
盗贼之海语音说话的方法为按住ALT。
盗贼之海是有内置语音的,游戏刚开始时默认自由麦,在游戏里直接说话就可以了,还可以在设置里面改成按键说话,然后按住ALT就可以说话了,私人聊天按G。
盗贼之海
《盗贼之海》(英语:Sea of Thieves)是一款由Rare开发并由微软工作室发行的Microsoft Windows10和Xbox One世界共享动作冒险电子游戏。
玩家在游戏中将扮演海盗,独自一人或与最多四位同伴玩家一起航海探索世界。游戏支持合作模式和玩家对战模式。《盗贼之海》于2018年3月20日在全球发行。
游戏玩法
《盗贼之海》是一款以海盗作为主题的第一人称视角多人合作动作冒险游戏。游戏支持Windows个人电脑和Xbox One电子游戏机之间跨平台游玩。一群玩家将会通过海盗船环游并探索开放世界,同时进行不同的任务,比如船只驾驶或者使用大炮作战。
玩家可以完成任务、收集战利品或进攻其他玩家。《盗贼之海》是个公共的游戏世界,也就是说玩家们在冒险中可能会遇见对方。游戏有着卡通式画风以及夸张的物理引擎,允许玩家进行特技动作,比如用船上的大炮把自己射出去。
玩家可以通过完成航海任务、掠夺其他船的战利品,或是进攻有着大量金币的骷髅要塞收集金币。玩家可以使用金币购买全新涂装的武器、全新的船体以及风帆等。
这些购买的东西可以增加武器装备的美观性,但是不会影响战斗的性能。玩家在游戏开始时就会拿到武器,在玩家找到弹药盒之前武器内会有五匣弹药。可供玩家使用的武器有四种,分别是燧发枪、雷筒、长步枪和剑。玩家可以同时手持两把武器。
D. physx物理引擎
目前的物理引擎主要有PhysX与Havok,关于这两家引擎的前生今世在此就不多做介绍了,有兴趣的朋友可见参见《Havok VS PhysX 漫谈物理加速世界!》一文,今天主要介绍NVIDIA接手后的PhysX引擎。NVIDIA将PhysX引擎集成到CUDA架构的物理运算中,这样就可以是GeForce 8/9及GT200系列全部都支持PhysX引擎, 所有目前已使用PhysX技术的游戏都支持新版驱动程序,如果装有支持CUDA平台的显卡,游戏将自动选取显卡进行物理加速运算,否则仍会使用性能较慢的CPU进行运算。此外,PhysX并不只使用于游戏市场,同时亦会运用 CUDA通用运算领域上,应用更广。论是GPU还是CPU、PPU、Cell(PS3)都可以通过HAL翻译层来实现软、固质体动力(Soft or Rigid Body Dynamics)、通用碰撞侦测(Universal Collision Detection)、有限元素分析(Finite Element Analysis)、流体动力(Fluid Dynamics)、毛发模拟(Hair Simulation),以及更更高级开发平台APEX中的更先进的布料模拟(Cloth Simulation)、自然模拟(Natural Motion)等在内新颖技术。通过过CUDA通用接口,PhysX引擎将NVIDIA GPU中的Thread Scheler(线程管理器)模拟成Control Engine(控制引擎CE),而Streaming Processors来模拟Vector Processing Engine(矢量处理引擎,VPE),其中CE控制引擎负责任务的指派,相当于PhysX中的主管机构,而真正的物理运算任务则是由VPE矢量引擎来完成,最后通过Data Movement Engine(数据移动引擎DME)输出。
E. 图形引擎和物理引擎有什么区别和联系
游戏开发中的程序开发主要由如下几个方面组成:
1.图形引擎
2.声音引擎
3.物理引擎
4.游戏引擎
5.人工智能或游戏逻辑
6.游戏GUI界面(菜单)
7.游戏开发工具
8.支持局域网对战的网络引擎开发
9.支持互联网对战的网络引擎开发
下面逐一介绍每个部分:
1.图形引擎主要包含游戏中的场景(室内或室外)管理与渲染,角色的动作管理绘制,特效管理与渲染(粒子系统,自然模拟(如水纹,植物等模拟)),光照和材质处理,LOD(Level Object Detail)管理等,另外还有图形数据转换工具开发,这些工具主要用于把美工用DCC软件(如3DS Max,Maya,Soft XSI,Soft Image3D等)软件制作的模型和动作数据以及用Photo shop或painter等工具制作的贴图,转化成游戏程序中用的资源文件。
2.声音引擎主要包含音效(Sound Effect简称SE),语音(VOICE),背景音乐(Background music简称BGM)的播放。SE是指那些在游戏中频繁播放,而且播放时间比较短,但要求能及时无延迟的播放,VOICE是指游戏中的语音或人声,这部分对声音品质要求比较高,基本上用比较高的采样率录制和回放声音,但和SE一样要求能及时无延迟的播放,SE在有的时候因为内存容量的问题,在不影响效果的前提下,可能会降低采样率,但VOICE由于降低采样率对效果影响比较大,所以一般VOICE不采用降低采样率的做法。BGM是指游戏中一长段循环播放(也有不循环,只播放一次)的背景音乐,正是由于BGM的这种特性,一般游戏的背景音乐是读盘(光盘或硬盘)来播放。另外一些高级声音特效,如EAX,数字影院系统(DTS5.1),数字杜比环绕等。
3.物理引擎主要包含游戏世界中的物体之间、物体和场景之间发生碰撞后的力学模拟, 以及发生碰撞后的物体骨骼运动的力学模拟(比较着名的物理引擎有havok公司的game dynamics sdk,还有open source 的ODE—Open Dynamics Engine)。
4.游戏引擎主要是把图形引擎、声音引擎、物理引擎整合起来,主要针对某个游戏制作一个游戏系统,其包含游戏关卡编辑器,主要用途是可以可视化的对场景进行调整,光照效果和雾化等效果调整,事件设置,道具摆放,NPC设置,另外还有角色编辑器,主要用于编辑角色的属性和检查动作数据的正确性。一般日本游戏公司的做法,他们会把关卡编辑器和角色编辑器直接做到游戏中,所有的参数调整都在游戏中通过调试菜单来进行编辑,所以一般他们把这部分调试菜单的功能做的很强大,同时在屏幕上实时的显示一些重要的信息,这样做的好处是关卡编辑器调整的效果直接就是游戏的效果,但是对于程序的重用性来说可能不是很好,比如说要用到另外一个游戏项目中就比较难,除非两个游戏类型相同,只要把场景和角色数据换一下,还有做下一代产品也没有问题,只要根据式样增加调试菜单的功能就可以了。
5.人工智能和游戏逻辑开发,这部分日本和欧美的游戏开发模式也有很大不同,在欧美游戏公司中运用脚本语言开发很普遍,所以这部分程序开发主要是用脚本语言编写,而且脚本程序和游戏程序的耦合性很低,有单独的编辑、编译和调试环境,这样比较利于游戏程序和关卡设计开发分开,同时并行开发,所以一般他们都会有专门做关卡设计的程序员岗位。而日本游戏公司脚本语言一般和游戏的耦合性比较高,一般通过一些语言的宏功能和一些编译器的特定功能来完成一个简单的脚本系统,所以一般这些脚本程序只能在游戏程序中进行调试,而不能在一个单独的脚本编辑,编译环境中进行开发。
6.游戏GUI界面(菜单),主要是指那些游戏中用户界面设计,有做的复杂,有简单的,做的简单就是2D GUI界面,做的复杂有3D GUI界面。
7.游戏开发工具主要包含关卡编辑器,角色编辑器,资源打包管理,DCC软件的插件工具等开发。
8.支持局域网对战的网络引擎开发,主要解决局域网网络发包和延迟处理,通讯同步的问题,有同步通讯和异步通讯两种做法,异步通讯用于那些对运行帧速要求比较高的游戏,同步通讯相对异步通讯来说效率相对低,但是同步通讯的编程模型相对异步通讯来得简单一些。
9.支持互联网对战的网络引擎开发,目前大部分网游都是C/S结构的,服务器端软件配置管理,服务器程序的最优化,还有游戏大厅、组队、游戏逻辑处理、道具管理、收费系统等。另外还有一些网络系统是C/S和P2P两种结构混合的,如XBOX Live等.
F. Havok物理引擎技术是什么
havok引擎MAXHavok是3dsmax4的一个插件,它允许艺术家和漫画制作者轻易地控制和模拟复杂物理场景。MAX Havok完全地支持综合的硬体和软体动力学,布料仿真和液体仿真。它能模拟有关节身体的约束和连接。它还可以模拟物理的现象比如风和马达。你能使用所有的这些特性来创建多种动态的环境。一旦一个设计家在3ds max 4中创建一物体,他们能对它指定物理性质。性质可以包含比如质量,摩擦和弹力的特性。物体可以被调整,释放,附加到弹簧,或者使用各种的约束。通过对物体指定物理特性,你可以快速和容易地塑造真实世界的场景,因此能精确地模拟产生人物动画关键帧。运用MAX Havok,你可以快速地利用实时仿真窗口预览场景。这个窗口允许你交互地来测试和播放一个场景。你可以在一个场景中改变所有的物理物体的位置,极大地减少设计时间。然后你可以运用一个单键-单击,转换这场景回3dsmax,而保持所有的那些需要作为动画的性质。这个MAX Havok插件使设计家和漫画制作者从手工复杂动画中节约了大量时间,像建筑物爆炸或者窗帘成褶皱状。该插件又支持3dsmax4所有的标准特性比如关键帧和结皮现象,因此可以在相同的场景中使用传统的和物理的两者动画。方便的工具(比如自动减少关键帧)让你在它产生之后尽可能地改变角色生成部分的动画。大量PS2、Xbox平台的游戏采用了Havok引擎。Havok引擎是Havok公司开发的一款物理引擎,现在被广泛用于设计学(3D MAX)和游戏开发中,这款引擎是最早支持DirectX 9的物理引擎之一,是目前世界上最快、最方便的跨平台游戏图形解决方案,也是现今应用最为广泛的物理引擎之一,已经有将近100款游戏使用Havok引擎,大家看上面的列表就能够明白Havok引擎的成功是有目共睹的。另外,《帝国III:发现时代》是第一款支持DircetX 9.0C(Sharder Model3.0)的即时战略大作。使用Havok的着名游戏 * Half-Life 2/半条命2 * Max Payne 2/英雄本色2 * Medal of Honor:Pacific Assault/荣誉勋章:太平洋突袭 * PainKiller/斩除妖魔 * Age of Empires III/帝国时代III * F.E.A.R/战栗突击 * Splinter Cell: Chaos Theory纵横谍海:混沌理论 * Halo2、Halo3/最后一战 * 上古卷轴IV:湮没使用Havok的软件 * 3DMark * 3ds Max * Adobe Atmosphere * Adobe Shockwave * The Source Engine
G. (六)Unity3D物理引擎组件汇总
首先要熟悉一些基本的力学名词及相关公式
刚体(Rigidbody) :刚体是指在运动中和受到力的作用后,形状和大小不变,而且内部各点的相对位置不变的物体。绝对刚体实际上是不存在的,刚体是力学中的一个科学抽象概念,即理想模型。
力(F) :力是物体对物体的作用,力不能脱离物体而单独存在。Unity的物理引擎就是以此为基础构建的。
重力(G) :物体由于地球的吸引而受到的力叫重力。重力的施力物体是地心。Unity中的重力与其相似。重力的方向总是竖直向下。
摩擦力 :在Unity中分为滑动摩擦力和静摩擦力。通常通过设置动摩擦系数和静摩擦系数来控制物体的运动。(滚动摩擦一般不用)
弹力 :在Unity中物体受外力后产生与其相反方向的力。通常通过设置弹性系数来
使物体获得弹性属性。
扭矩力 :使物体发生转动的力。
阻尼 :当物体受到外力作用而振动时,会产生一种使外力衰减的反力,称为阻尼力(或减震力) 。
重力加速度 (单位:m/s^2): g = 9.81 (在Unity中)
重力 (单位:N): G = mg ***
滑动摩擦力 (单位:N): F = μ×FN (FN:正压力,μ:动摩擦因数)
单摆周期公式 (单位:s): T = 2π√(L/g)***(L:摆长)
力矩 (单位:N×m): M = FL (L:摆动轴)
物体要受力的影响就需要添加Rigibody组件。(基本上能动的物体都需要Rigibody组件)物体添加Rigibody组件后,可以接受外力和扭矩力,并一直受到重力影响,
选中一个物体后,为其添加Rigibody组件。
Mass(质量) :用于设置游戏对象的质量。(一般在同一游戏场景中,游戏对象之间的质量差不大于100倍)
Drag(阻力) :即游戏对象受力运动时受到的空气阻力,阻力极大时,游戏对象会立即停止运动。
Angular Drag(角阻力) :即游戏对象受扭矩力旋转时受到的空气阻力。同样的,阻力极大时,游戏对象会立即停止旋转。
Use Gravity(使用重力) :即开启此项时,游戏对象会受到重力的影响。
Is Kinematic(是否开启动力学) :即开启此项时,游戏对象将不再受到物理引擎的影响,从而只能通过Transform属性来对其操作。(该方式适用于模拟平台的移动或带有铰链关节链接刚体的动画)
Interpolate(插值) :用于控制刚体运动的抖动情况。
None:没有插值。
Interpolate:内插值。基于前一帧的Transform平滑此次的Transform。
Extrapolate:外插值。基于下一帧的Transform平滑此次的Transform。
Collision Detection(碰撞检测) :该属性用于控制避免高速运动的游戏对象穿过其它对象而未发生碰撞。
Discrete:离散碰撞检测。该模式与场景中其它的所有碰撞体进行碰撞检测。该值为默认值。
Continuous:连续碰撞检测。该模式用于检测与动态碰撞体(带有Rigidbody)碰撞,使用连续碰撞检测模式来检测与网格碰撞体的(不带Rigidbody)碰撞。其它的刚体会采用离散碰撞模式。此模式适用于那些需要采用连续动态碰撞检测的对象相碰撞的对象。这对物理性能会有很大的影响,如果不需要对快速运动的对象进行碰撞检测,不建议使用此模式,建议使用离散碰撞检测模式。
Continuous Dynamic:连续动态碰撞检测。该模式用于检测与采用连续碰撞模式或连续动态碰撞模式对象的碰撞,也可以用于检测没有Rigidbody的静态网格碰撞体。对于与之碰撞的其它对象可采用离散碰撞检测。该模式也可以用于检测快速运动的游戏对象。
Constraints(约束) :该项用于控制对于刚体运动的约束。
Freeze Position:冻结位置。刚体对象在世界坐标系中的x,y,z轴方向上(选中状态)的移动将无效。
Freeze Rotation:冻结旋转。刚体对象在世界坐标系中的x,y,z轴方向上(选中状态)的旋转将无效。
Constant Force用来为刚体添加恒力。适用于类似火箭发射的对象,因为F=ma,使得这类对象的速度不断提升。
选中一个物体后,为其添加Constant Force组件。
四种属性均用三维向量表示,坐标轴表示方向,数值表示大小。
需要注意的是:添加恒力(Constant Force)组件时,系统会默认添加刚体(Rigidbody)组件。
添加恒力组件后,不能移除刚体组件。
Force(力) :设置世界坐标系中使用的扭矩力。
Relative Force(相对力) :设置在物体局部坐标系中使用的力。
Torque(扭矩) :设置在世界坐标系中使用的扭矩力。游戏对象依据该向量进行转动。(向量越长转动越快)
Relative Torque(相对扭矩) :相对扭矩。设置在物体局部坐标系中使用的扭矩力。。游戏对象依据该向量进行转动。(向量越长转动越快)
Character Controller主要用于第三人称或第一人称游戏主角的控制。不使用刚体物理效果。(Character Controller可通过物理效果影响其他的对象,但无法通过物理效果被其他的对象影响)
选中一个物体后,为其添加Character Controller组件。
Slope Limit(坡度限制) :设置所控制的游戏对象只能爬上角度小于或等于该参数值的斜坡倾角。
Step Offset(台阶高度) :设置所控制的游戏对象可以迈上的最高台阶的高度。
Skin Width(皮肤厚度) :该参数决定了两个碰撞体可以相互参入的深度。
较大的参数值会产生抖动的现象,较小的参数值会导致所控制的游戏对象被卡住,较为合理的设置是该参数值为Radius值的10%。
Min Move Distance(最小移动距离) :如果所控制的游戏对象的移动距离小于该值,则游戏对象将不会移动,这样可避免抖动,大多数情况下将该值设为0。
Center(中心) :该参数决定了胶囊碰撞体与所控制的游戏对象的相对位置,并不影响所控制的角色对象的中心坐标
Radius(半径) :胶囊体碰撞的长度半径,同时该项也决定了碰撞体的半径。
Height(高度) :用于设置所控制的角色对象的胶囊体碰撞体的高度。
Collider要与Rigibody一起添加到游戏对象上才能触发碰撞。
两个刚体撞在一起时,拥有碰撞体的对象才会计算碰撞。
都没有碰撞体的两个刚体会彼此穿过,不会发生碰撞。
添加Collider组件方法
一般创建一个游戏对象时会自动添加相应的碰撞体。
该碰撞体可调整为不同大小的长方体。
可用作门、墙、平台,也可用于布娃娃的角色躯干或汽车等交通工具的外壳上。
该碰撞体的三维大小可以均匀地调节,但不能单独调节某个坐标轴方向的大小。
可用作落石、球类等游戏对象。
该碰撞体的高度和半径可单独调节。
可用作角色控制器或与其他不规则形状的碰撞结合使用。(Uinty中角色控制器中通常内嵌了胶囊碰撞体)
该碰撞体通过获取网格对象并在其基础上构建碰撞。
与在复杂的网络模型上使用基本碰撞体相比,网格碰撞体要更加精细,但会占用更多的系统资源。(开启Convex参数的网格碰撞体才可以与其他的网格碰撞体发生碰撞)
该碰撞体是基于地形构建的碰撞体。
车轮碰撞体是一种针对地面车辆的特殊碰撞体,它有内置的碰撞检测、车轮物理系统及有滑胎摩擦的参考体。
除了车轮,该碰撞体也可用于其他的游戏对象。
关节是模拟物体与物体之间的一种连接关系,关节必须依赖于刚体组件。
关节组件可以添加到多个游戏对象中,关节又分为3D类型的关节和2D类型的关节。(本篇讲述3D关节)
添加Joint组件方法
由两个刚体组成,使它们像被连接在一个铰链上那样运动。
它非常适用于对门的模拟,也可用作模型链及钟摆等物体。
需要注意的是:添加关节(Join)组件时,系统会默认添加刚体(Rigidbody)组件。
添加关节组件后,不能移除刚体组件。
Connected Body(连接刚体) :为关节指定要连接的刚体。(若不指定刚体,则该关节默认与世界相连)
Anchor(锚点) :刚体可围绕锚点进行摆动。该值应用于局部坐标系。
Axis(轴) :定义刚体摆动的方向。该值应用于局部坐标系。
Auto Configure Connected Anchor(自动设置连接锚点) :勾选该项,连接锚点会自动设置。(该项默认为开启状态)
Connected Anchor(连接锚点) :自动连接锚点项开启时,此项会自动设置。自动连接锚点项未开启时,可手动设置连接锚点。
Use Spring(使用弹簧) :勾选该项,弹簧会使刚体与其连接的主体形成一个特定的角度
Spring(弹簧) :当Use Spring参数开启时,此属性有效。
Spring:弹簧力。设置推动对象使其移动到相应位置的作用力。
Damper:阻尼。设置对象的阻尼值,数值越大则对象移动得越缓慢。
Target Position:目标角度。设置弹簧的目标角度,弹簧会拉向此角度。
Use Motor(使用发动机) :勾选该项,发动机会使对象发生旋转。
Motor(发动机) :当Use Motor参数开启时,此属性有效。
Target Velocity:目标速度。设置对象预期将要达到的速度值。
Force:作用力。设置为了达到目的速度而施加的作用力。
Free Spin:自动转动。勾选该项,则发动机永远不会停止,旋转只会越转越快。
Use Limits(使用限制) :勾选该项,铰链的角度将被限定在最大值和最小值之间。
Limits(限制) :当Use Limits参数开启时,此属性有效。
Min:最小值。设置铰链能达到的最小角度。
Max:最大值。设置铰链能达到的最大角度。
Min Bounce:最小反弹。设置当对象触到最小限制时的反弹值。
Max Bounce:最大反弹。设置当对象触到最大限制时的反弹值。
Contact Distance:接触距离。控制关节的抖动。
Break Force(断开力) :设置铰链关节断开的作用力。
Break Torque(断开转矩) :设置断开铰链关节所需的转矩。
Enable Collision(激活碰撞) :勾选该项,关节之间也会检测碰撞。
Enable Preprocessing(启用预处理) :勾选该项,实现关节的稳定。(该项默认为开启状态)
固定关节用于约束一个游戏对象对另一个游戏对象的运动。类似于对象的父子关系,但它是通过物理系统来实现而不像父子关系那样是通过Transform属性来进行约束。(使用固定关节的对象自身需要有一个刚体组件)
适用于当希望将对象较容易与另一个对象分开时,或者连接两个没有父子关系的对象使其一起运动时。
Connected Body (连接刚体) :用于指定关节要连接的刚体。(若不指定刚体,则该关节默认与世界相连)
Break Force(断开力) :设置关节断开的作用力。
Break Torque(断开转矩) :设置断开关节所需的转矩。
Enable Collision(激活碰撞) :勾选此项,则关节之间也会检测碰撞。
Enable Preprocessing(启用预处理) :勾选该项,实现关节的稳定。(该项默认为开启状态)
弹簧关节组件可将两个刚体连接在一起,使其像连接着弹簧那样运动。
Connected Body(连接刚体) :用于为弹簧指定要连接的刚体。(若不指定刚体,则该关节默认与世界相连)
Anchor(锚点) :设置Joint在对象局部坐标系中的位置。(注意:不是对象将弹向的点)
Auto Configure Connected Anchor(自动设置连接锚点) :勾选该项,连接锚点会自动设置。(该项默认为开启状态)
Connected Anchor(连接锚点) :自动连接锚点项开启时,此项会自动设置。自动连接锚点项未开启时,可手动设置连接锚点。
Spring(弹簧) :设置弹簧的强度,数值越高弹簧的强度就越大。
Damper(阻尼) :设置弹簧的阻尼系数,阻尼数值越大,弹簧强度减小的幅度越大。
Min Distance(最小距离) :设置弹簧启用的最小距离值。如果两个对象之间的当前距离与初始距离的差小于该值,则不会开启弹簧。
Max Distance(最大距离) :设置弹簧启用的最小距离值。如果两个对象之间的当前距离与初始距离的差大于该值,则不会开启弹簧。
Break Force(断开力) :设置弹簧关节断开所需的作用力。
Break Torque(断开转矩) :设置弹簧关节断开所需的转矩力。
Enable Collision(激活碰撞) :勾选该项,关节之间也会检测碰撞。
Enable Preprocessing(启用预处理) :勾选该项,实现关节的稳定。(该项默认为开启状态)
角色关节主要用于表现布娃娃效果,它是扩展的球关节,可用于限制关节在不同旋转轴下的旋转角度。
Connected Body(连接刚体) :用于为角色关节指定要连接的刚体。(若不指定刚体,则该关节默认与世界相连)
Anchor(锚点) :设置游戏对象局部坐标系中的点,角色关节将按围绕该点进行旋转。
Axis(扭动轴) :设置角色关节的扭动轴。(以橙色的圆锥gizmo表示)
Auto Configure Connected Anchor(自动设置连接锚点) :勾选该项,连接锚点会自动设置。(该项默认为开启状态)
Connected Anchor(连接锚点) :自动连接锚点项开启时,此项会自动设置。自动连接锚点项未开启时,可手动设置连接锚点。
Swing Axis(摆动轴) :设置角色关节的摆动轴。(以绿色的圆锥gizmo表示)
Twist Limit Spring(弹簧的扭曲限制)
Spring:设置角色关节扭曲的弹簧强度。
Damper:设置角色关节扭曲的阻尼值。
Low Twist Limit(扭曲下限) :设置角色关节扭曲的下限。
Limit:设置角色关节扭曲的下限值。
Bounciness:设置角色关节扭曲下限的反弹值。
Contact Distance:设置用于为了避免抖动而限制的接触距离。
High Twist Limit(扭曲上限) :设置角色关节扭曲的上限。
Limit:设置角色关节扭曲的上限值。
Bounciness:设置角色关节扭曲上限的反弹值。
Contact Distance:设置用于为了避免抖动而限制的接触距离。
Swing Limit Spring(弹簧的摆动限制)
Spring:设置角色关节摆动的弹簧强度。
Damper:设置角色关节摆动的阻尼值。
Swing 1,2 Limit(摆动限制1,2) :1与2的限制是对称的,即更改一个里面的三项属性即可。
Limit:设置角色关节摆动的限制值。
Bounciness:设置角色关节摆动限制的反弹值。
Contact Distance:设置用于为了避免抖动而限制的接触距离。
Enable Projection(启动投影) :该项用于激活投影。
Projection Distance(投影距离) :设置当对象与其连接刚体的距离超过投影距离时,该对象会回到适当的位置。
Projection Angle(投影角度) :设置当对象与其连接刚体的角度超过投影角度时,该对象会回到适当的位置。
Break Force(断开力) :控制角色关节断开所需的作用力。
Break Torque(断开转矩) :设置角色关节断开所需的转矩。
Enable Collision(激活碰撞) :勾选该项,则关节之间也会检测碰撞。
Enable Preprocessing(启用预处理) :勾选该项,实现关节的稳定。(该项默认为开启状态)
可配置关节组件支持用户自定义关节,它开放了PhysX引擎中所有与关节相关的属性,因此可像其他类型的关节那样来创造各种行为。
可配置关节有两类主要的功能:移动/旋转限制和移动/旋转加速度。
connected boby(连接刚体) :用于为关节指定要连接的刚体。(若不指定则该关节将与世界相连接)
anchor(锚点) :设置关节的中心点,所有基于物理效果的模拟都会以此点为中心点来进行计算。
axis(主轴) :设置局部旋转轴,该轴决定了对象在物理模拟下自然旋转的方向。
Auto Configure Connected Anchor(自动设置连接锚点) :勾选该项,连接锚点会自动设置。(该项默认为开启状态)
Connected Anchor(连接锚点) :自动连接锚点项开启时,此项会自动设置。自动连接锚点项未开启时,可手动设置连接锚点。
Secondary Axis(副轴) :主轴和副轴共同决定了关节的局部坐标。第三个轴与这两个轴所构成的平面相垂直。
Xmotion(X轴移动) :设置游戏对象在X轴的移动形式,有自由移动(Free)、锁定移动(Locked)及限制性移动(Limited)。
Ymotion(Y轴移动) :设置游戏对象在Y轴的移动形式,有自由移动(Free)、锁定移动(Locked)及限制性移动(Limited)。
Zmotion(Z轴移动) :设置游戏对象在Z轴的移动形式,有自由移动(Free)、锁定移动(Locked)及限制性移动(Limited)。
Angular Xmotion(X轴旋转) :设置游戏对象围绕X轴的旋转形式,有自由旋转(Free)、锁定旋转(Locked)及限制性旋转(Limited)。
Angular Ymotion(Y轴旋转) :设置游戏对象围绕Y轴的旋转形式,有自由旋转(Free)、锁定旋转(Locked)及限制性旋转(Limited)。
Angular Zmotion(Z轴旋转) :设置游戏对象围绕Z轴的旋转形式,有自由旋转(Free)、锁定旋转(Locked)及限制性旋转(Limited)。
Linear Limit Spring(弹簧线性限制)
Spring:弹簧。设置将对象拉回边界的力。
Damper:阻尼。设置弹簧的阻尼值。
Linear Limit(线性限制) :设置自关节原点的距离为基准对其运动边界加以限定。
Limit:限制。设置从原点到边界的距离。
Boundciness:反弹。设置当对象到边界时施加给它的反弹力。
Contact Distance:设置用于为了避免抖动而限制的接触距离。
Angular X Limit Spring(X轴旋转限制)
Spring:弹簧。设置将对象拉回边界的力。
Damper:阻尼。设置弹簧的阻尼值。
Low Angular X Limit(X轴旋转下限) :以与关节初始旋转的差值为基础设置旋转约束下限的边界。
Limit:旋转的限制角度。设置对象旋转角度的下限值。
Bounciness:反弹。设置当对象到边界时施加给它的反弹力。
Contact Distance:设置用于为了避免抖动而限制的接触距离。
High Angular X Limit(X轴旋转上限) :以与关节初始旋转的差值为基础设置旋转约束上限的边界。
Limit:旋转的限制角度。设置对象旋转角度的上限值。
Bounciness:反弹。设置当对象到边界时施加给它的反弹力。
Contact Distance:设置用于为了避免抖动而限制的接触距离。
Angular YZ Limit Spring(Y轴和Z轴旋转限制)
属性参数同Angular X Limit Spring
Angular Y Limit (Y轴旋转限制)*
属性参数同Angular X Limit
Angular Z Limit (Y轴旋转限制)*
属性参数同Angular X Limit
Target Position(目标位置) :关节在X,Y,Z三个轴向上应达到的目标位置。
Target Velocity(目标速度) :关节在X,Y,Z三个轴向上应达到的目标速度。
XDrive(X轴驱动) :设置了对象沿局部坐标系X轴的运动形式。
Position Spring:位置弹簧力。朝预定义方向上的皮筋的拉力。
Position Damper:位置阻尼。抵抗位置弹簧力的力。
Maximum Force:最大作用力。推动对象朝预定方向运动的作用力的总和。
YDrive(Y轴驱动) :设置了对象沿局部坐标系Y轴的运动形式。
属性参数同XDrive
ZDrive(Z轴驱动) :设置了对象沿局部坐标系Z轴的运动形式。
属性参数同XDrive
Target Rotation(目标旋转) :目标旋转是一个四元数,它定义了关节应当旋转到的角度。
Target Angular Velocity(目标旋转角速度) :目标旋转角速度是一个三维向量,它定义了关节应当旋转到的角速度。
Rotation Drive Mode (旋转驱动模式) :通过X&YZ轴驱动或插值驱动来控制对象自身的旋转。
Angular X Drive (X轴角驱动) :设置了关节如何围绕X轴进行旋转。
Position Spring:位置弹簧力。朝预定义方向上的皮筋的拉力。
Position Damper:位置阻尼。抵抗位置弹簧力的力。
Maximum Force:最大作用力。推动对象朝预定方向运动的作用力的总和。
Angular YZ Drive (YZ轴角驱动) :设置了关节如何围绕自身的Y轴和Z轴进行旋转。
属性参数同Angular X Drive
Slerp Drive(差值驱动) :设置了关节如何围绕局部所有的坐标轴进行旋转。
属性参数同Angular X Drive
Projection Mode(投影模式) :设置当对象离开其限定的位置过远时,会让该对象回到其受限制的位置。可设置为位置和旋转(Position and Rotation)以及不选择(None)。
Projection Distance(投射距离) :设置当对象与其连接刚体的距离超过投影距离时,该对象会回到适当的位置。
Projection Angle(投影角度) :设置当对象与其连接刚体的角度差超过投影角度时,该对象会回到适当的位置。
Configured In World Space(在世界坐标系中配置) :勾选该项,所有与目标相关的数值都会在世界坐标系中来计算,而不在对象的局部坐标系中计算。
Swap Bodies(交换体) :勾选该项,则应用交换刚体功能,连接着的两个刚体会发生交换。
Break Force(断开力) :设置控制关节断开所需的作用力。
Break Torque(断开转矩) :设置关节断开所需的转矩。
Enable Collision(激活碰撞) :勾选该项,关节之间也会检测碰撞。
Enable Preprocessing(启用预处理) :勾选该项,实现关节的稳定。(该项默认为开启状态)
H. Java如何使用物理引擎
那个是计算机术语
电子游戏里面会有很多的画面,比如你说的使命召唤,会有很多人拿着枪互相射击的画面。这些画面如果需要显示出来,需要进行物理运算和贴图运算。物理运算的内容包括子弹的弹道,人物的动作,尘土的飞扬,车辆的运转……而贴图则主要负责每个物体的颜色,细节,形状
我们的机器,其中显卡的部分负责贴图运算,而CPU负责物理运算。那么CPU进行物理运算的时候需要遵循一定的法则。简而言之,这些法则就是游戏设计人员事先设定好的运算规则,可以称之为物理引擎。
I. unity引擎用什么语言写的,有朋友在中公培训说他们使用的C#,感觉还可以,一般培训的学的可以不
简单介绍下u3d:
高效渲染,跟虚幻2引擎相同级别,简单物理引擎,高度聚合的脚本。
模型导入:支持3Ds,FBX等格式直接导入(太方便了,还记得当年自己写D3D时候导个3ds累得半死,最后都搞成x文件玩);贴图材质自动转换为u3d的格式,相当方便。
脚本语言:js,c#,boo,其实3个没区别,语法而已,但是js是主打语言,写的方便;相信其他两个语言也只是为了吸引更多开发者而已。因为官网论坛人们都用js写,改成其他语言太麻烦,不仅是语法的麻烦,更主要的是这三个语言间有些函数用法不同,实属无奈。
跨平台的开发:最早是Mac的引擎,现在进了iphone市场,然后有兼容了windows,实在强大。(note:iphone不支持很多函数和组件,比如Terrian地形,刚得知的,其他以后再note了)
物理引擎:简单,实用的物理引擎,高质量的粒子系统,简单但却逼真。
有了以上几点,我开发注意力就可以完全集中在逻辑编写上了,不像以前搞d3d和openGL,导模型,排列模型搞的满头大汗,逻辑代码都没来得及写。。。
J. 什么是物理引擎
物理引擎
物理引擎通过为刚性物体赋予真实的物理属性的方式来计算它们的运动、旋转和碰撞反映。为每个游戏使用物理引擎并不是完全必要的——简单的“牛顿”物理(比如加速和减速)也可以在一定程度上通过编程或编写脚本来实现。然而,当游戏需要比较复杂的物体碰撞、滚动、滑动或者弹跳的时候(比如赛车类游戏或者保龄球游戏),通过编程的方法就比较困难了。物理引擎使用对象属性(动量、扭矩或者弹性)来模拟刚体行为,这不仅可以得到更加真实的结果,对于开发人员来说也比编写行为脚本要更加容易掌握。
好的物理引擎允许有复杂的机械装置,像球形关节、轮子、气缸或者铰链。有些也支持非刚性体的物理属性,比如流体。
物理引擎可以从另外的厂商购买,而一些游戏开发系统具备完整的物理引擎。但是要注意,虽然有的系统在其特性列表中说他们有物理引擎,但其实是一些简单的加速和碰撞检测属性而已。