(可以试想一下,通过持续注视某控制器一定时间实现触发是什么情景,使用触摸板或运动控制器主动触发又是什么情景。注视控制器对用户注视的方向实施监控,通常内置十字线(或光标)和计时器。至少现在,当然也包括不久的将来,VR要想尽可能多地模拟各种互动,还是需要围绕注视和运动控制器这两种技术展开。很多人认为手部跟踪将是运动控制器之后的下一代技术。Leap Motion公司的第一代手部跟踪控制器诞生于2012年,用于2D屏幕。......
2023-10-18
Unity内置了NVIDIA的Physx物理引擎,Physx是目前使用最为广泛的物理引擎,被很多游戏大作所采用,开发者可以通过物理引擎高效、逼真地模拟刚体碰撞、车辆驾驶、布料、重力等物理效果,使游戏画面更加真实而生动,下面就给大家介绍下Unity游戏开发中物理引擎的使用。
Rigidbody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体可接受外力与扭矩力用来保证游戏对象像在真实世界中那样进行运动。任何游戏对象只有添加了刚体组件才能受到重力的影响,通过脚本为游戏对象添加的作用力以及通过NVIDIA物理引擎与其他的游戏对象发生互动的运算都需要游戏对象添加了刚体组件。
依次打开GameObject→Create Empty,创建一个空游戏对象,然后选择该对象,打开菜单栏中的Component→Physics→Rigidbody(见图7-63)。
图7-63 创建一个空游戏对象
Rigidbody组件的属性面板,如图7-64所示。
Mass:质量,该项用于设置游戏对象的质量。
Drag:阻力,当对象受力运动时受到的空气阻力,0表示没有空气阻力,阻力极大时游戏对象会立即停止运动。
Angular Drag:当对象受扭矩力旋转时受到的空气阻力,0表示没有空气阻力,阻力极大时游戏对象会立即停止运动。
图7-64 Rigidbody组件的属性面板
Use Gravity:使用重力,若开启此项,游戏对象会受到重力的影响。
Is Kinematic:是否开启动力学,若开启此项,游戏对象将不再受物理引擎的影响从而只能通过Transform属性来对其操作。
Interpolate:插值,该项用于控制运动的抖动情况,有3项可以选择,None:没有插值;Interpolate:内插值,基于前一帧的Transform来平滑此次的Transform;Extrapolate:外插值,基于下一帧的Transform来平滑此次的Transform。
Collision Detection:碰撞检测,该属性用于控制避免高速运动的游戏对象穿过其他的对象而未发生碰撞,有3项可以选择,Discrete:离散碰撞检测,该模式与场景中其他的所有碰撞体进行碰撞检测;Continuous:连续碰撞检测;Continuous Dynamic:连续动态碰撞检测模式。
Constraints:约束,该项用于控制对于刚体运动的约束。
Collides碰撞体,碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞。如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。
选中游戏对象,打开菜单栏中的Component→Physics,见图7-65。
图7-65 选中游戏对象,打开菜单栏中的Component→Physics
图7-66 碰撞体设置
Box Collider:盒碰撞体,盒碰撞体是一个立方体外形的基本碰撞体,该碰撞体可以调整为不同大小的长方体,可用作门、墙、以及平台等,也可以用于布娃娃的角色躯干或者汽车等交通工具的外壳,当然最适合用在盒子或是箱子上,属性如图7-66所示。
Is Trigger:触发器,勾选该项,则该碰撞体可用于触发事件,并将被物理引擎所忽略。
Material:材质。
图7-67 Sphere Collider设置
Center:中心,碰撞体在对象局部坐标中的位置。
Size:大小,碰撞体再X、Y、Z方向上的大小。
Sphere Collider(设置如图7-67所示):球形碰撞体,球形碰撞体是一个基于球体的基本碰撞体,球体碰撞体的三维大小可以均匀等地调节,但不能单独调节某个坐标轴方向的大小,该碰撞体适用于落石、乒乓球等游戏对象。
Radius:半径,球形碰撞体的大小。
Capsule Collider(设置如图7-68所示):胶囊碰撞体,胶囊碰撞体由一个圆柱体和与其相连的两个半球体组成,是一个胶囊形状的基本碰撞体,胶囊碰撞体的半径和高度都可以单独调节,可用在角色控制器或与其他不规则形状的碰撞结合来使用。
Height:高度,该项用于控制碰撞体中圆柱的高度。
Direction:方向,在对象的局部坐标中胶囊的纵向方向所对应的坐标轴,默认是Y轴。
图7-68 Capsule Collider设置
图7-69 Mesh Collider设置
Mesh Collider(设置如图7-69所示):网格碰撞体,网格碰撞体通过获取网格对象并在其基础上构建碰撞,在与复杂网格模型上使用基本碰撞相比,网格碰撞体要更加精细,但会占用更多地系统资源。(www.chuimin.cn)
Smooth Sphere Collisions:平滑碰撞,在勾选该项后碰撞会变得平滑。
Mesh:网格,获取游戏对象的网格并将其作为碰撞体。
Convex:凸起,勾选该项,则网格碰撞体将会与其他的网格碰撞体发生碰撞。
Wheel Collider(设置如图7-70所示):车轮碰撞体,车轮碰撞体是一种针对地面车辆的特殊碰撞体,它有内置的碰撞检测、车轮物理系统以及滑胎摩擦的参考体。
Suspension Distance:悬挂距离,该项用于设置车轮碰撞体悬挂的最大伸长距离,按照局部坐标来计算,悬挂总是通过其局部坐标的Y轴延伸向下。
Center:中心,该项用于设置车轮碰撞体在对象局部坐标的中心。
Suspension Spring:悬挂弹簧,该项用于设置车轮碰撞体通过添加弹簧和阻尼外力使得悬挂达到目标位置。
Forward Friction:向前摩擦力,当轮胎向前滚动时的摩擦力属性。
Sideways Friction:侧向摩擦力,当轮胎侧向滚动时的摩擦力属性。
图7-70 Wheel Collider设置
Character Controller,角色控制器,角色控制器主要用于对第三人称或第一人称游戏主角的控制,并不使用刚体物理效果。
Character Controller组件属性如图7-71所示。
图7-71 Character Controller组件属性
Slope Limit:坡度限制,该项用于设置所控制的角色对象只能爬上小于或等于该参数值的斜坡。
Step Offset:台阶高度,该项用于设置所控制的角色对象可以迈上的最高台阶的高度。
Skin Width:皮肤厚度,该参数决定了两个碰撞体可以相互渗入的深度,较大的参数值会产生抖动的现象,较少的参数值会导致所控制的游戏对象被卡住,较为合理地设定上是:该参数值为Radius值的10%。
Min Move Distance:最小移动距离,如果所控制的角色对象的移动距离小于该值,则游戏对象将不会移动。
Center:中心,该参数决定了胶囊碰撞体在世界坐标中的位置。
Radius:半径,胶囊碰撞体的长度半径。
Height:高度,该项用于设置所控制的角色对象的胶囊碰撞体的高度。
Interactive Cloth:交互布料,交互布料组件可在一个网格上模拟类似布料的行为状态。
Skinned Cloth:蒙皮布料,蒙皮布料组件与蒙皮网格渲染器一起用来模拟角色身上的衣服,如果角色动画使用了蒙皮网格渲染器,那么可以为其添加一个蒙皮布料,使其看起来更加真实、生动。
Cloth Renderer:布料渲染器(见图7-72)。
图7-72 选中Cloth Renderer
Hinge Joint:铰链关节,铰链关节由两个刚体组成,该关节会对刚体进行约束,使得它们就好像被连接再一个铰链上那样运动,它非常适用于对门的模拟,也适用于对模型及钟摆等物体的模拟。
Fixed Joint:固定关节,固定关节组件用于约束一个游戏对象对另一个游戏对象的运动。
Spring Jonit:弹簧关节,弹簧关节组件可将两个刚体连接在一起,使其像连接着弹簧那样运动。
Character Joint:角色关节主要用于表现布娃娃效果,它使扩展的球关节,可用于限制每一个轴向上的关节。
Configurable Joint(见图7-73):可配置关节,可配置关节组件支持用户自定义关节,它开放了physx引擎中所有与关节相关的属性,因此可像其他类型的关节那样来创造各种行为。
图7-73 选中Configurable Joint Constant Force
Constant Force(见图7-74):力场是一种为刚体快速添加恒定作用力的方法,适用于类似火箭等发射出来的对象,这些对象在起初并没有很大的速度但却是再不断加速的。
图7-74 选中Constant Force
有关虚拟现实理论基础与应用开发实践的文章
(可以试想一下,通过持续注视某控制器一定时间实现触发是什么情景,使用触摸板或运动控制器主动触发又是什么情景。注视控制器对用户注视的方向实施监控,通常内置十字线(或光标)和计时器。至少现在,当然也包括不久的将来,VR要想尽可能多地模拟各种互动,还是需要围绕注视和运动控制器这两种技术展开。很多人认为手部跟踪将是运动控制器之后的下一代技术。Leap Motion公司的第一代手部跟踪控制器诞生于2012年,用于2D屏幕。......
2023-10-18
首先创建一个文件夹Animation用来存放GameController文件,在文件夹内右击新建一个Animator Controller。图8-163发现新Tab将PlayerController放到主角身上的Animator组件里面的Controller。图8-173加入函数到Update()图8-174主角移动,播放Move动画又一个bug出现,主角停下来时,还是播放Move动画,因为刚刚的Animator并没有设计从Move状态转为Idle状态的条件。图8-175主动停止,仍在播放Move动画isMoving设置false,再运行游戏,主角就正常的Move和Idle了。......
2023-10-17
物理和几何对象的对称是展现群结构最自然的事物之一。举个例子,等边三角形可进行两种对称旋转,还有三种不导致变化的翻转(镜射),加上被称为“恒等式”的变换,总共有六个对称。该二元运算遵循一些基于对称行为方式的结构性规则。群是一个拥有一个满足结合律的二元运算的集合,这个二元运算包含一个恒等式对称,每个元素都有一个对应的逆。......
2023-11-22
被害人陈述意见类型主要还是书面形式的“被害人陈述”,主要内容为被害经过,由公诉机关举示,用于证明案件事实,被害人证人化倾向明显。在国家追诉主义刑事理念主导下,刑事诉讼中的被害人多被潜意识地作为证人来对待,而忽略其积极作用的发挥。......
2023-07-18
有些政府过度参与知识产权事务的做法,实际上并不是非常明智的。政府在知识产权事务上的角色并没有要求其过度参与这种事务,政府在知识产权事务中的角色应当是“掌舵”,而非“划船”。2010年《著作权法》修改时删除了不符合主流价值观的“依法禁止出版、传播的作品”不受著作权法保护的规定。政府除了扮演以上知识产权事务治理角色之外,还在知识产权数量和质量的平衡上起着非常重要的作用。......
2023-07-06
探究式教学在物理教学中现已开展得如火如荼,越来越多的物理教育界专家、学者及广大教师开始关注探究式教学。但是,探究式教学在中学物理教学中还存在一些问题,下面列举一些常见问题并提出我们的思考。......
2023-08-13
我也同样确信,奶树在行动情境中的角色——在此情境下,奶树突出地代表着某一个特定的团体与另一个团体之间的对立——构成了它整体意义中同等重要的成分。她写道,她之所以强调“尼亚库萨人自己对他们仪式的诠释,是因为人类学文献充斥着有关符号的推测,即民族志学家对他者仪式的解读”。纳德尔和威尔逊将大部分仪式象征符号仅仅当作符号,必定忽略掉这些象征符号的某些极其重要的特点,或者认为它们是不相关的。......
2024-01-21
ρ·c称为空气对声波的特性阻抗。被量度量和基准量之比取对数,此对数值称为被量度量的“级”。响度是人耳判别声音由轻到响的强度等级概念,它不仅取决于声音的强度,还与声音的频率及波形有关。......
2023-11-23
相关推荐