本文目录一览:
- 1、这个男人创造了世界上第一款3D游戏引擎,开创了PC游戏的新纪元!
- 2、3D物理引擎与2D物理引擎使用时的 不同?碰撞函数的调用有什么不一样?
- 3、(六)Unity3D物理引擎组件汇总
- 4、虚幻4、unity3d这些引擎和maya、3dmax这些软件有和区别?
- 5、3d游戏引擎和网页的区别
这个男人创造了世界上第一款3D游戏引擎,开创了PC游戏的新纪元!
说起 游戏 引擎那么大家第一反应就是目前市面上最流行的虚幻和unity3D这两个引擎,不仅专业的 游戏 公司在使用,独立 游戏 制作者也能够接触到这两款 游戏 引擎。而除了这两款比较大众化的 游戏 引擎之外,还有一些是资金雄厚的 游戏 公司专门为自己定制开发的 游戏 引擎,如EA的寒霜,动视暴雪的IW这些也是比较出名的。
但你们知道第一款用于专门面向3D 游戏 的 游戏 引擎是什么时候诞生的呢?他又是如何发展的?今天大麦就带各位来回顾曾经3D 游戏 引擎的发展史。
在1990年的一个傍晚,两个热爱任天堂 游戏 的年轻人自己在 PC端开发了一个 游戏 引擎并成功的将街机 游戏 《超级马里奥》移植到PC端上同时拥有更好的画质 ,他们兴奋的将这个移植版的马里奥发给了任天堂寻求合作。
然而当时的任天堂在主机界的地位如日中天,高傲的认为未来 游戏 的主要发展之路还是在主机端上,PC端没有太好的发展前景。于是只是简单的夸奖了两个年轻人的工作就再无下文。
隔年,这两个年轻人便自己创业成立了ID software公司,他们两的名字是 约翰·卡马克和约翰·罗梅洛,或许是命运的安排这两个哥们都叫约翰。
对于一般玩家来说可能并不了解卡马克这个人,但是他在 游戏 行业绝对是赫赫有名,当年几乎就是仅凭他一己之力推动了整个3D 游戏 行业的发展,他设计的3D绘图技术是现在绝大部分3D 游戏 引擎的设计基础。后来由他主导制作的第一款第一人称3D射击 游戏 也是 游戏 史上第一款3D射击 游戏 ,因此他被人们冠以了 FPS 游戏 之父 的称号!
卡马克和他的伙伴设立了ID Software这家公司以后发售的第一款 游戏 用的就是卡马克当年自己开发的一款 游戏 引擎-- Commander Keen in Invasion of the Vorticons中文译名:指挥官基恩:外星人入侵 ,或许以我们现在的眼光来看,这款 游戏 画质只能算一般,当时在那个 游戏 绝大多数PC 游戏 还是基于MS-DOS操作平台下的 游戏 ,指挥官基恩:外星人入侵绝对算得上是一款画质惊艳无比的 游戏 。
不过有趣的是,在那个年代大家对于 游戏 引擎的概念还没有现在这么鲜明,而且也不存在商用 游戏 引擎这种概念。因此那时候对于引擎的取名一般就是和所制作的 游戏 同名,所以ID Software的第一款 游戏 引擎名字就叫做 Commander Keen engine,包括后来制作的第一款3D 游戏 引擎也叫做Wolfenstein 3D(德军总部3D) 。
而且这款 游戏 国外还有粉丝专门为他制作了网站,可见当年指挥官基恩系列受到了玩家多大的追捧!
在上个世纪九十年代是计算机技术飞速发展的年代,更快的CPU,更大的内存,很大的存储空间,给了卡马克天马行空的创意提供了现实基础。他开始着手制作PC端的第一款3D 游戏 , Hovertank 3D(航行坦克)。
卡马克花了6周的时间为航行坦克开发出了新 游戏 引擎,这次的 游戏 引擎运用的全新的贴图技术,首次实现了在PC端出现了3D图像!这也奠定了未来首个商用3D 游戏 引擎的出现。
说到FPS 游戏 ,绝对要提 游戏 史上一款程碑式的 游戏 --- 重返德军总部3D 。他代表了PC 游戏 正式从2D图像跨入3D图像,同时他也是PC端上第一款第一人称射击 游戏 !一代和二代的重返德军总部都还是一种像素式的2D图形 游戏 , 在ID Software取得了续作的开发权后,将自己在航行坦克中积累的3D制作技术运用在这款新 游戏 上。
当时的重返德军总部一经发售,又立刻引发了玩家们的追捧。玩家们根本没有见过这种3D式的第一人称射击 游戏 ,但有趣的是重返德军总部3D是用了一种射线追踪技术来渲染 游戏 内的物体具体来说就是 游戏 中每个像素会发射一道光束,如果这道光束碰到了障碍物形成反射, 游戏 就会按照设定好的程序在障碍物的相应位置创建单维深度缓存(dimensional depth buffer),建立纹理图像 。因此严格上来讲这并不属于真正的3D 游戏 ,因为 游戏 中并没有任何的建模,依旧都是依靠贴图来实现的。
然而重返德军总部3D只是卡马克的牛刀小试,真正的重头戏还是1993年推出的DOOM(毁灭战士)!
在为毁灭战士制作的 游戏 引擎修复了重返德军总部3D引擎中一些缺陷,增加了更为丰富的光照效果, 游戏 场景更加生动,物品交互加强,支持立体音效。至此一款现代化的通用 游戏 引擎才真正诞生了。
拥有如此强大的 游戏 引擎的支持下,毁灭战士不出意外的大获成功。当年销量达到了350万份,同时还极大推动了昂贵的PC的销量。当年ID Software实现了超过数亿美元的营收,公司挣的是盆满钵满,据传言称,公司的停车库中只停着法拉利哈哈哈。
说ID Software是 游戏 史上最伟大的 游戏 公司之一一点也不为过,因为在1996年发售的Quake(雷神之锤)又是一款里程碑式的 游戏 存在。
雷神之锤的 游戏 引擎不同于毁灭战士,这一次他使用的是实实在在的3D引擎。 Quake引擎是当时第一款完全支持多边形模型、动画和粒子特效的引擎,而在技术之外,它的 游戏 操控方式也树立了FPS 游戏 的标准。 游戏 采用流动控制方案(fluid control scheme ),它使用鼠标来观看/瞄准/定向以及用键盘前进/后退/侧移,这也成了FPS 游戏 最普遍的操控模式,直到今日仍没有变化。
在雷神之锤之后,ID Software继续再接再厉,依靠先进的3D引擎技术第二年就发布了雷神之锤2,到了1999年又发布了雷神之锤3。而每一代新雷神之锤的发布, 游戏 引擎也在不断的进化。 到了雷神之锤3,由于引擎能实现的画质越来越高,已经不能在单纯的依靠软件渲染必须要有一款支持硬件加速的显卡才能运行。这也极大了推动了那个年代显卡行业的发展。
在美国,商人们对于专利的概念极为看重。专利不仅能保护他们的知识产权,还能带给他们极大的利润。然而,卡马克却是一个不折不扣的开源软件倡导者。在ID Software公司拥有这么强的 游戏 引擎技术以后,卡马克心中唯一的想法就是将他的技术共享,以此来推动整个行业的发展。
1995年,他公布了重返德军总部3D的源代码,1996年公布了雷神之锤的源代码,1997年又放出了毁灭战士的源代码,1999年毁灭战士的源代码又以GSL准则对外公布,2005年公布雷神之锤3的源代码。
这样公布 游戏 源代码的行为几乎是前无古人后无来者的存在。
ID Software公司极大的推动了那个时代 游戏 引擎成熟化,当时第一代《使命召唤》和《荣誉勋章》使用的就是雷神之锤3的 游戏 引擎,后来IW入住动视,为动视开发的御用引擎IW也是基于ID tech引擎制作而来。
后来Epic公司的虚幻引擎问世,相比于只负责3D图像处理的ID tech引擎来说,虚幻 引擎的涵盖方面更多,涉及物理特性、动画演示、音频效果和碰撞检测等 游戏 的所有组件,也就是说Unreal引擎的集成度更高,通用性更强。而且虚幻引擎不单单涉及 游戏 领域,他还能够运用在建筑设计、影视制作、动作捕捉、3D建模等等方面。
在九十年代之后,得益于卡马克的无私贡献, 游戏 引擎开始井喷式爆发。除了Epic的虚幻2虚幻3外,V社在雷神之锤引擎的基础上也开发了自家的Source引擎。育碧依靠一家德国公司开发了嚎哭引擎,也因此诞生了后来的孤岛惊魂系列。
后来市面上的 游戏 引擎数量越来越多,人们也逐渐淡忘了曾经那第一款现在来看略显简陋的3D 游戏 引擎DOOM和Quake,但是大家永远不会玩家卡马克为这个时代所带来的伟大贡献!
3D物理引擎与2D物理引擎使用时的 不同?碰撞函数的调用有什么不一样?
3D物理引擎多了一个维度。
2D和3D物理引擎两者在使用上大体相似,主要区别是3D物理引擎比2D物理引擎多了一个维度。物理引擎是游戏设计中最为重要的步骤,主要包含刚体、碰撞、物理材质以及关节运动等。
游戏中物理引擎的作用是模拟当有外力作用到对象上时对象间的相互影响,比如赛车游戏中,驾驶员驾驶赛车和墙体发生碰撞,进而出现被反弹的效果。物理引擎在这里用来模拟真实的碰撞后效果。通过物理引擎,实现这些物体之间相互影响的效果是相当简单的。
(六)Unity3D物理引擎组件汇总
首先要熟悉一些基本3D引擎的力学名词及相关公式
刚体(Rigidbody) 3D引擎:刚体是指在运动中和受到力的作用后3D引擎,形状和大小不变,而且内部各点的相对位置不变的物体。绝对刚体实际上是不存在的,刚体是力学中的一个科学抽象概念,即理想模型。
力(F) 3D引擎:力是物体对物体的作用,力不能脱离物体而单独存在。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可通过物理效果影响其3D引擎他的对象,但无法通过物理效果被其他的对象影响)
选中一个物体后,为其添加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 (旋转驱动模式) :通过XYZ轴驱动或插值驱动来控制对象自身的旋转。
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(启用预处理) :勾选该项,实现关节的稳定。(该项默认为开启状态)
虚幻4、unity3d这些引擎和maya、3dmax这些软件有和区别?
3DMAX和MAYA都是综合三维软件,功能强大,学好一样找工作绰绰有余,区别就是3dmax在行业里更多3D引擎的公司拿来做游戏和室内设计(不代表它不能做电影哈,很多电影特效都是用3dmax做3D引擎的),而MAYA在行业里更多的公司用它来做动画和电影特效(用MAYA做游戏的公司同样不少)。想学好它们,3D引擎你可以在“绘学霸”网站找免费视频教程【点击进入】完整入门到精通视频教程列表: ;tagid=307zdhhr-11y04r-1802901092488306667
想要系统的学习可以考虑报一个网络直播课,推荐CGWANG的网络课。老师讲得细,上完还可以回看,还有同类型录播课可以免费学(赠送终身VIP)。
自制能力相对较弱的话,建议还是去好点的培训机构,3dmax和MAYA培训实力和规模在国内排名前几的大机构,推荐行业龙头:王氏教育。
王氏教育全国直营校区面授课程试听【复制后面链接在浏览器也可打开】:
王氏教育在“三维模型动画/游戏制作/影视特效”领域的培训机构里是国内的老大,且各校区都是总部直营的连锁校区。跟很多其它同类型大机构不一样的是:王氏教育每个校区都是实体面授,老师是手把手教,而且有专门的班主任从早盯到晚,爆肝式的学习模式,提升会很快,特别适合基础差的学生。
大家可以先把【绘学霸】APP下载到自己手机,方便碎片时间学习——绘学霸APP下载:
3d游戏引擎和网页的区别
3d游戏引擎和网页的区别有投资成本不同用户体验不同所需要的服务器内核不同