首先要熟悉一些基本的力学名词及相关公式
刚体(Rigidbody) :刚体是指在运动中和受到力的作用后,形状和大小不变,而且内部各点的相对位置不变的物体。绝对刚体实际上是不存在的,刚体是力学中的一个科学抽象概念,即理想模型。
力(F) :力是物体对物体的作用,力不能脱离物体而单独存在。Unity的物理引擎就是以此为基础构建的。
重力(G) :物体由于地球的吸引而受到的力叫重力。重力的施力物体是地心。Unity中的重力与其相似。重力的方向总是竖直向下。
摩擦力 :在Unity中分为滑动摩擦力和静摩擦力。通常通过设置动摩擦系数和静摩擦系数来控制物体的运动。(滚动摩擦一般不用)
d力 :在Unity中物体受外力后产生与其相反方向的力。通常通过设置d性系数来
使物体获得d性属性。
扭矩力 :使物体发生转动的力。
阻尼 :当物体受到外力作用而振动时,会产生一种使外力衰减的反力,称为阻尼力(或减震力) 。
重力加速度 (单位:m/s^2): g = 981 (在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(使用d簧) :勾选该项,d簧会使刚体与其连接的主体形成一个特定的角度
Spring(d簧) :当Use Spring参数开启时,此属性有效。
Spring:d簧力。设置推动对象使其移动到相应位置的作用力。
Damper:阻尼。设置对象的阻尼值,数值越大则对象移动得越缓慢。
Target Position:目标角度。设置d簧的目标角度,d簧会拉向此角度。
Use Motor(使用发动机) :勾选该项,发动机会使对象发生旋转。
Motor(发动机) :当Use Motor参数开启时,此属性有效。
Target Velocity:目标速度。设置对象预期将要达到的速度值。
Force:作用力。设置为了达到目的速度而施加的作用力。
Free Spin:自动转动。勾选该项,则发动机永远不会停止,旋转只会越转越快。
Use Limits(使用限制) :勾选该项,铰链的角度将被限定在最大值和最小值之间。
Limits(限制) :当Use Limits参数开启时,此属性有效。
Min:最小值。设置铰链能达到的最小角度。
Max:最大值。设置铰链能达到的最大角度。
Min Bounce:最小反d。设置当对象触到最小限制时的反d值。
Max Bounce:最大反d。设置当对象触到最大限制时的反d值。
Contact Distance:接触距离。控制关节的抖动。
Break Force(断开力) :设置铰链关节断开的作用力。
Break Torque(断开转矩) :设置断开铰链关节所需的转矩。
Enable Collision(激活碰撞) :勾选该项,关节之间也会检测碰撞。
Enable Preprocessing(启用预处理) :勾选该项,实现关节的稳定。(该项默认为开启状态)
固定关节用于约束一个游戏对象对另一个游戏对象的运动。类似于对象的父子关系,但它是通过物理系统来实现而不像父子关系那样是通过Transform属性来进行约束。(使用固定关节的对象自身需要有一个刚体组件)
适用于当希望将对象较容易与另一个对象分开时,或者连接两个没有父子关系的对象使其一起运动时。
Connected Body (连接刚体) :用于指定关节要连接的刚体。(若不指定刚体,则该关节默认与世界相连)
Break Force(断开力) :设置关节断开的作用力。
Break Torque(断开转矩) :设置断开关节所需的转矩。
Enable Collision(激活碰撞) :勾选此项,则关节之间也会检测碰撞。
Enable Preprocessing(启用预处理) :勾选该项,实现关节的稳定。(该项默认为开启状态)
d簧关节组件可将两个刚体连接在一起,使其像连接着d簧那样运动。
Connected Body(连接刚体) :用于为d簧指定要连接的刚体。(若不指定刚体,则该关节默认与世界相连)
Anchor(锚点) :设置Joint在对象局部坐标系中的位置。(注意:不是对象将d向的点)
Auto Configure Connected Anchor(自动设置连接锚点) :勾选该项,连接锚点会自动设置。(该项默认为开启状态)
Connected Anchor(连接锚点) :自动连接锚点项开启时,此项会自动设置。自动连接锚点项未开启时,可手动设置连接锚点。
Spring(d簧) :设置d簧的强度,数值越高d簧的强度就越大。
Damper(阻尼) :设置d簧的阻尼系数,阻尼数值越大,d簧强度减小的幅度越大。
Min Distance(最小距离) :设置d簧启用的最小距离值。如果两个对象之间的当前距离与初始距离的差小于该值,则不会开启d簧。
Max Distance(最大距离) :设置d簧启用的最小距离值。如果两个对象之间的当前距离与初始距离的差大于该值,则不会开启d簧。
Break Force(断开力) :设置d簧关节断开所需的作用力。
Break Torque(断开转矩) :设置d簧关节断开所需的转矩力。
Enable Collision(激活碰撞) :勾选该项,关节之间也会检测碰撞。
Enable Preprocessing(启用预处理) :勾选该项,实现关节的稳定。(该项默认为开启状态)
角色关节主要用于表现布娃娃效果,它是扩展的球关节,可用于限制关节在不同旋转轴下的旋转角度。
Connected Body(连接刚体) :用于为角色关节指定要连接的刚体。(若不指定刚体,则该关节默认与世界相连)
Anchor(锚点) :设置游戏对象局部坐标系中的点,角色关节将按围绕该点进行旋转。
Axis(扭动轴) :设置角色关节的扭动轴。(以橙色的圆锥gizmo表示)
Auto Configure Connected Anchor(自动设置连接锚点) :勾选该项,连接锚点会自动设置。(该项默认为开启状态)
Connected Anchor(连接锚点) :自动连接锚点项开启时,此项会自动设置。自动连接锚点项未开启时,可手动设置连接锚点。
Swing Axis(摆动轴) :设置角色关节的摆动轴。(以绿色的圆锥gizmo表示)
Twist Limit Spring(d簧的扭曲限制)
Spring:设置角色关节扭曲的d簧强度。
Damper:设置角色关节扭曲的阻尼值。
Low Twist Limit(扭曲下限) :设置角色关节扭曲的下限。
Limit:设置角色关节扭曲的下限值。
Bounciness:设置角色关节扭曲下限的反d值。
Contact Distance:设置用于为了避免抖动而限制的接触距离。
High Twist Limit(扭曲上限) :设置角色关节扭曲的上限。
Limit:设置角色关节扭曲的上限值。
Bounciness:设置角色关节扭曲上限的反d值。
Contact Distance:设置用于为了避免抖动而限制的接触距离。
Swing Limit Spring(d簧的摆动限制)
Spring:设置角色关节摆动的d簧强度。
Damper:设置角色关节摆动的阻尼值。
Swing 1,2 Limit(摆动限制1,2) :1与2的限制是对称的,即更改一个里面的三项属性即可。
Limit:设置角色关节摆动的限制值。
Bounciness:设置角色关节摆动限制的反d值。
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(d簧线性限制)
Spring:d簧。设置将对象拉回边界的力。
Damper:阻尼。设置d簧的阻尼值。
Linear Limit(线性限制) :设置自关节原点的距离为基准对其运动边界加以限定。
Limit:限制。设置从原点到边界的距离。
Boundciness:反d。设置当对象到边界时施加给它的反d力。
Contact Distance:设置用于为了避免抖动而限制的接触距离。
Angular X Limit Spring(X轴旋转限制)
Spring:d簧。设置将对象拉回边界的力。
Damper:阻尼。设置d簧的阻尼值。
Low Angular X Limit(X轴旋转下限) :以与关节初始旋转的差值为基础设置旋转约束下限的边界。
Limit:旋转的限制角度。设置对象旋转角度的下限值。
Bounciness:反d。设置当对象到边界时施加给它的反d力。
Contact Distance:设置用于为了避免抖动而限制的接触距离。
High Angular X Limit(X轴旋转上限) :以与关节初始旋转的差值为基础设置旋转约束上限的边界。
Limit:旋转的限制角度。设置对象旋转角度的上限值。
Bounciness:反d。设置当对象到边界时施加给它的反d力。
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:位置d簧力。朝预定义方向上的皮筋的拉力。
Position Damper:位置阻尼。抵抗位置d簧力的力。
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:位置d簧力。朝预定义方向上的皮筋的拉力。
Position Damper:位置阻尼。抵抗位置d簧力的力。
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(启用预处理) :勾选该项,实现关节的稳定。(该项默认为开启状态)
Canvas组件代表UI被放置和渲染的虚拟空间。全部的UI元素必须是带有Canvas组件的Gameobject的子物体。当我们创建一个UI元素从菜单的时候,如果场景中没有canvas,将自动创建一个canvas
元素的渲染顺序:
元素的渲染顺序和元素在Hierarchy中显示的一样,第一个子节点先渲染,后面的后渲染。如果两个UI元素重叠,后面渲染的会覆盖前面渲染的。
RenderMode(渲染模式):
UI渲染到场景的方式
Screen Space-Overlay,Screen Space-Camera 和 World Space
一个Canvas包括全部UIElements将是高效的,但是场景中有多个Canvases也是可能的。在Canvas中嵌套Canvas也是可能的,为了优化的目的嵌套Canvas将使用和父Canvas相同的渲染模式。
Screen Space-Overlay:
在这种模式下,Canvas大小适配之后直接渲染,不通过关联到场景或者摄像机。如果屏幕的大小变化UI将自动匹配大小。UI将覆盖其他图像比如摄像机视图。
Note:
The Screen Space-Overlay canvas需要放置在hierarchy的最上层。这是一种build-in limitation。保证Space-Overlay canvas可以正常显示
Screen Space-Camera:
在这种模式下,Canvas呈现方式好像它是在摄像机前一定距离的平面对象上绘制的一样。UI在屏幕上的大小不随着距离的变化而变化,如果屏幕大小或者分辨率变化UI将自动适应。任何3D objects在场景中相比UI plane到摄像机的距离更近,将渲染到UI的前面。
World Space:
这个模式下作为场景中的一个元素。不同于Screen Space-Camera,plane不需要朝向camera,canvas的大小将由视角和到摄像机的距离来决定,其他场景中的物体可以穿过canvas
此组件用于控制canvas种全部的UI元素的大小。这个设置将影响canvas下的全部物体。
Properties:
UI Scale Mode:
决定UI元素的大小在canvas中是由什么决定的:
Constant Pixel Size(固定大小,不随屏幕大小变化)
Scale With Screen Size (随着屏幕大小的变化而进行变化)
Constant Physical Size(保持物理大小,不随屏幕大小和分辨率变化)
在Constant Pixel Size模式下进行设置:
Scale Factor:设置canvas下全部的UI元素的大小
Reference Pixels Per Unit:像素与单位的对应关系
在Scale With Screen Size下进行设置:
Reference Resolution : UI 布局的分辨率,这个分辨率将随着屏幕分辨率进行变化
Screen Match Mode:如果当前分辨率的纵横比不适合参考分辨率,则用于缩放画布区域的模式
Match Width or Height Scale the canvas area with the width as reference, the height as reference, or something in between
Expand Expand the canvas area either horizontally or vertically, so the size of the canvas will never be smaller than the reference
Shrink Crop the canvas area either horizontally or vertically, so the size of the canvas will never be larger than the reference
Match:决定缩放的时候宽还是高作为引用
在Constant Physical Size下进行设置:
Physical Unit:设置物理单元的位置和尺寸。
Fallback Screen DPI:
Default Sprite DPI:
Reference Pixels Per Unit:
此组件用来控制一组的UI元素,不需要单独的处理他们,此组件也影响其子物体
Properties:
Alpha:此值从0到1,控制canvas及其下面全部子物体的alpha
interact able:决定组件是否可以被继承
Block Ray casts:此组件对Raycasts来说是否可以被视为collider
Ignore Parent Groups:是否受到父物体的CanvasGroup组件的影响,或者忽略他们
通常使用情况:
Canvas Renderer
此组件呈现包含图形化UI元素的对象
Property:
Text:组件显示的文本
Character:
Font:字体大小
Font Style:字体样式
Font Size:字体大小
Line Spacing:行间距
Rich Text:markup elements在text中是否支持
Paragraph:
Alignment:对齐方式
Align By Geometry:使用字形几何范围执行水平对齐,而不是字形度量
Horizontal Overflow:字体超出范围的解决方式
Vertical Overflow:字体太高超出范围的解决方式
Best Fit:Unity是否直接忽视大小属性,直接根据文本的大小匹配控件
Color:text的颜色
Material:渲染字体的材质
Hints:
Image控件显示的为Sprite类型,Raw Image可以接受任何类型的纹理
Properties :
Source Image:要现实的贴图
Color:要应用到上的颜色
Material:渲染的材质
Ray cast Target:可以被射线检测
Preserve Aspect:保留原始维度
Set Native Size:设置的维度到原始的像素大小
Raw Image可以显示任何类型的贴图
Property:
Texture:组件要显示的贴图
Color:
Material:
UV Rectangle:的偏移和大小
Details:通过修改UV Rectangle属性,可以缩放
此组件用来控制子控件的显示效果。mask将限制子元素的大小。如果子元素的大小比父元素大,将显示比父元素小的部分。
通常使用流程:
创建一个Panel对象,将需要显示的对象全部放到Panel对象下,给Panel添加一个Mask组件,全部的子物体只能显示在Panel范围内的部分
实现基于GPU的模板缓冲
对于大的区域显示很小的一部分使用RectMask2D。
RectMask2D的限制:
RectMask2D的优势:
1Shadow
给或者文字添加一个阴影效果
Properties:
Effect Color:阴影颜色
Effect Distance:阴影距离
Use Graphic Alpha:混合图像和效果的颜色
2OutLine
给文字或者添加描边效果。
Properties:
Effect Color:
Effect Distance:
Use Graphic Alpha:
3Position as UV1
添加一个简单的位置作为UV1效果给文本和图像
在代码里 获取Toggle 组件里的ison属性 ,通过false 或者true来判断是否被选中,其实这个时候界面上是不会显示效果的 你在代码里 吧toggle的父类或者本身 先setactive(false),再setactive(true)下现在你在界面上就可以看到用代码控制的选中状态了
以上就是关于(六)Unity3D物理引擎组件汇总全部的内容,包括:(六)Unity3D物理引擎组件汇总、Unity-UI(UGUI详解)02.1 Canvas组件、Visual组件、如何在代码中获取unity toggle的状态等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)