cocos creator 学习随笔 day03 节点和组件属性
目录
-
节点本身属性
- 第一栏为节点名,可修改,前面得勾,是表示是否使用该节点,去掉代表隐藏该节点,但是该节点依然存在。
- 书籍图标为帮助信息,齿轮是组件不过这里应该叫做节点菜单,因为点进去得时候,出现得不是组件得操作。
- Position:相对父节点位置,如果父节点是场景则为世界坐标
- Rotation:旋转度,延X轴旋转,延Y轴旋转,延Z轴旋转,正数为逆时针旋转
- Scale:缩放倍数,延X轴缩放,延Y轴缩放,延Z轴缩放,因为是倍数,所以默认全是1,默认不是0,否则显示不出来,没有大小。
- layer:节点可见性,相机渲染场景,灯光照亮场景,不在范围内,不会展现出来和有亮光。具体看Edit:
-
控件属性
-
场景
- AutoReleaseAssets:是否自动释放场景资源。勾上(true)就是自动释放,默认是否(false)
- Ambient:全局环境光属性,
- SkyColor:天空颜色,我的理解是从天空照射下来的颜色,相当于空中的光源
- SkyIllum:天空亮度,也可以认为是光的亮度
- GroundAlbedo:地面颜色,地面(有没有实体地面也可以)发出的颜色,相当于地面有光源
- 上图是当skycolor红色时候,去掉光源后,可以看出来顶部就是纯红色。
- 底下GroundAlbedo就是蓝色
- 侧边则是根据两种颜色的混合过度填充而成。
当亮度变大时的显示效果,可以看出来色彩方面亮度模糊了,开始偏向白色。也就是加亮到很大的时候,就是亮色的白。
- Fog:全局雾效
- Enabled:是否启用全局雾效
- FogColor:全局雾颜色
- Type:全局雾类型
- LINEAR:线性雾
- FogStat:雾效起始位置
- FogEnd:雾效结束位置
- 特点:随着远近变化,越远,颜色越深,越近颜色越浅,雾得朦感胧
- EXP:指数雾
- FogDensity:雾化浓度,取值范围为 0 ~ 1
- FogAtten:雾化衰减系数
- 特点:不随远近变化,不随角度变化
- EXP_SQUARED:指数平方雾,看上去好像和上面得没区别
- FogDensity:雾化浓度,取值范围为 0 ~ 1
- FogAtten:雾化衰减系数
- 特点:不随远近变化,不随角度变化
- LAYERED:层雾,也就是平常见雾,如高楼附近,山顶
- FogRange:雾化效果影响的范围
- FogTop:模型顶点在世界坐标系垂直方向上的位置,小于该位置时所有的顶点都会受到雾化效果的影响
- FogAtten:雾效减弱系数
- 特点:不随远近而变化,只随观看角度变化
- LINEAR:线性雾
- shadows阴影
- Enabled:是否启用阴影
- Type:阴影类型
- Planar:平面阴影,一般就是普通得阴影,影子垂直于Normal坐标得法线向量,然后阴影是Distance得距离。投影不对非平面实体起作用。也就是如下图,后面得方块,不会接收到投影。
- 开启方式:场景中启用shadows,需要显示阴影得节点得MeshRenderer中ShadowCastingMode设置为ON
- Normal:垂直于阴影的法线,用于调整阴影的倾斜度
- Distance:阴影在法线的方向上与坐标原点的距离
- 注意:Planar 类型的阴影只有投射在平面上才能正常显示,不会投射在物体上,也就是说 MeshRenderer 组件中的 ReceiveShadow 属性是无效的。
- ShadowMap:是以光源为视点来渲染场景的。从光源位置出发,场景中看不到的地方就是阴影产生的地方。也就是平时得影子。
- 启用方式:场景中启用shadows,需要显示阴影得节点得MeshRenderer中ReceiveShadow设置为ON
- Pcf:Pcf:百分比渐近过滤(PCF)是一个简单、常见的用于实现阴影边缘反走样的技术,通过对阴影边缘进行平滑处理来消除阴影贴图的锯齿现象。原理是在当前像素(也叫做片段)周围进行采样,然后计算样本跟片段相比更接近光源的比例,使用这个比例对散射光和镜面光成分进行缩放,然后再对片段着色,以达到模糊阴影边缘的效果。原本HARD,支持 5( FILTER_X5) 倍、9(FILTER_X9) 倍 和 25(FILTER_X25) 倍采样,倍数越大,采样区域越大,阴影边缘也就越模糊。可以看出来,效果并不好。越来越糊。
- MaxReceived:最多支持产生阴影的光源数量,默认为 4 个,可根据需要自行调整
-
Bias:设置阴影偏移值,防止 z-fiting,也就是离产生阴影物体得最底部得偏移值。0就是直接位于物体下方开始。越接近1,越远。
- Packing:平滑?跟下面得互斥,只能二选一
- Linear:不进行平滑处理
- SelfShadow:后面阴影部分得物体,完全遮挡
- AutoAdapt:若勾选该项,则自动计算阴影产生的范围,否则启用下列属性来手动设置阴影产生的范围。也就是说,下面得属性如果勾选了这个选项,就不起效果。这些属性不熟悉,还是直接用自动吧,手动调节需要很多时间,慢慢一点点调。
- Near:设置主光源相机的近裁剪面
- Far:设置主光源相机的远裁剪面
- OrthoSize:设置主光源相机的正交视口大小
- ShadowMapSize:设置阴影纹理大小
- Aspect:设置主光源相机的正交视口长宽比
- Planar:平面阴影,一般就是普通得阴影,影子垂直于Normal坐标得法线向量,然后阴影是Distance得距离。投影不对非平面实体起作用。也就是如下图,后面得方块,不会接收到投影。
- ShadowColor:阴影颜色
- Skybox:天空盒,一个包裹整个场景的立方体,可以很好地渲染并展示整个场景环境,在基于 PBR 的工作流中天空盒也可以贡献非常重要的 IBL 环境光照。
- Enabled:是否启用
- UseIBL:是否使用环境光照
- Envmap:环境贴图,TextureCube 类型,当该属性为空时,天空盒默认使用和显示的是像素贴图,因为一个物体是六个面,所以需要6张可以连接起来得图片,然后资料管理器里面创建一个Cubemap,如下图,然后拉入相应得位置。
- IsRGBE:环境贴图的像素格式是否为 RGBE
-
-
空节点
- 就是节点。跟别的控件基本节点属性没有任何区别
- 控件就是空节点加上一个MeshRenderer(Materials加Mesh),如果没有加材质,就是下面紫色(默认没有材质颜色)。
- 也就是说,显示加功能就是:节点+ MeshRenderer+ 脚本
- 外观受Mesh控制,box.mesh就是矩形,capsule就是胶囊等。。。
- 就是节点。跟别的控件基本节点属性没有任何区别
-
3D对象
-
-
从上面理论得到,3D就是空节点 + MeshRenderer,因为不加MeshRenderer看不到物体。
-
Capsule:胶囊,空节点 + MeshRenderer( default-material.mtl + capsule.mesh)
-
Cone:圆锥体,空节点 + MeshRenderer( default-material.mtl + cone.mesh)
-
Cube:立方体,空节点 + MeshRenderer( default-material.mtl + cube.mesh)
-
Cylinder:圆柱,空节点 + MeshRenderer( default-material.mtl + cylinder.mesh)
-
Plane:平面,空节点 + MeshRenderer( default-material.mtl + plane.mesh)这个有点特殊,好像不能增加高度,就是没办法弄成一个正方体,所以这是个平着得四方形?
-
Quad:四方形,空节点 + MeshRenderer( default-material.mtl + quad.mesh),不能形成体
-
Sphere:球体,空节点 + MeshRenderer( default-material.mtl + sphere.mesh)
-
Torus:圆环体,空节点 + MeshRenderer( default-material.mtl + torus.mesh)
-
-
2D对象
- 类似3D,其实2D对象是由空节点 + UITransform+ 对应功能的组件构成。
- 2D对象,必须先要有一个Canvas才可以,而3D得相机不能用于2D(具体为什么,放在下面摄像机说明),所以还需要一个相机在Canvas里面。也就是说,cocos creator 3.x 场景下面默认是3D,然后要加一个类似场景得2D外壳Canvas画板,才能放置2D对象。
- Canvas:2D的画板,由空节点 + UITransform + Canvas + Widget,只是组成了Canvas,但是里面还是要相机才可以显示出来,要不然显示不了内容,黑屏。
- 节点属性我们在上面研究过了,这里只看多出来的组件,cc指的是cc库
- cc.UITransform:定义了 UI 上的矩形信息,包括矩形的尺寸和锚点位置。开发者可以通过该组件任意地操作矩形的大小、位置。一般用于渲染、点击事件的计算、界面布局以及屏幕适配等。
- ContentSize:UI 矩形内容尺寸,也就是节点的展示宽高。
- AnchorPoint:UI 矩形锚点位置。相当起点的意思? 0-1,【0.5,0.5】是中心的位置。
- cc.Canvas:画布组件
- CameraComponent:2D渲染相机,这里是最关键的组件属性,把相机绑定到画布组件,才能显示出内容。而且相机不一定是子节点
- AligCanvasWithScreen:2D下,自动为相机计算参数。这里有自动,也就是可以手动设置?没找到手动设置的位置
- cc.Widget:(对齐挂件) 是一个很常用的 UI 布局组件。它能使当前节点自动对齐到父物体的任意位置,或者约束尺寸,让你的游戏可以方便地适配不同的分辨率。
- 上边图形调节属性后的参考布局。
- Horizontal Alignment:水平方向布局设置,none,left,center,right,strecth
- none:默认中间布局
- left:距离左侧多少px,出现的left 0px,里面可以设置距离左侧偏移量。
- center:跟none一样的效果。出现的center 0px好像不能设置
- right:距离右侧多少,px出现的right 0px,里面可以设置距离右侧偏移量。
- strecth:水平两边偏移量,可以设置left和right到目标对象的距离
- Vertical Alignment:竖直方向布局设置,none,left,center,right,strecth,具体的图跟上面类型,但是方向是竖着的方向。
- Target:对齐的目标,只能是当前节点的其中一个父节点(父父节点),默认为空,表示当前节点的父节点
- AlignMode:指定Widget的对齐模式,用于决定运行时Widget应该何时刷新。默认为ON_WINDOW_RESIZE
- NONE:不设置对齐模式
- ALWAYS:一直都对齐。
- ON_WINDOW_RESIZE:当窗口修改尺寸的时候重新对齐。
- Graphics:2D绘图,提供了一系列绘画接口,这些接口参考了 Canvas 的绘画接口来进行实现。
- 这里可以看出来是由:node + UItransform + Graphics构成,其中Graphics就是提供该控件功能的组件。所以只看Graphics组件就可以了
- CustomMaterial:自定义材质,该组件使用的材质
- LineWidth:画图的时候,线条的宽度。
- LineJoin:两条线相交时,创建的拐角类型
- BEVEL:创建斜角
- ROUND:创建圆角
- MITER:默认,创建尖角
- LineCap:线条的结束端点样式
- BUTT:默认。向线条的每个末端添加平直的边缘。
- ROUND:向线条的每个末端添加圆形线帽。
- SQUARE:向线条的每个末端添加正方形线帽。
- StrokeColor:笔触颜色。就是画图的时候,使用的笔的颜色
- FillColor:填充颜色,当需要填充时候,填充进去的颜色。
- MiterLimit:正数。最大斜接长度。斜接长度指的是在两条线交汇处内角和外角之间的距离。注意:只有当 lineJoin 属性为
miter
时,miterLimit 才有效。
- Lable:文本控件,
- 这里可以看出来是由:node + UItransform + Label构成,其中Label就是提供该控件功能的组件。所以只看Label组件就可以了.
- CustomMaterial:自定义材质
- Color:展示的文本的颜色
- String:控件展示的文本内容
- HorizontalAlign:水平对齐方式:LEFT,RIGHT,默认:CENTER
- VerticalAlign:竖着对齐方式:TOP,BOTTON,默认:CENTER
- FontSize:字体大小
- FontFamily:字体,可以输入系统已经有的字体如宋体,或者后面字体使用自己的字体。
- LineHeight:
- Overflow:文字排版
- NONE:空,自动改变width属性。这个是根据UITransform里面的AnchorPoint(锚点)和Label里面的HorizontalAlign有关。默认是按锚点往两边改变宽度。如果要实现说前面固定,后面增加位数,比如显示分数这样的,需要把锚点x设置为0.
- CLAMP:超出边框宽度会被截断,相当于后面没有
- SHRINK:自动根据节点约束框缩小文字,就是当放不下时候,会把字体缩小
- RESIZE_HEIGHT:根据文本内容自动更新节点的height属性,就是会自动改变高度,自动换行展示。相当于把EnableWrapText勾上同样效果。设置为RESIZE_HEIGHT不管有没有EnableWrapText都自动换行。
- EnableWrapText:是否允许换行,多行展示
- Font:设置自定义字体
- UseSystemFont:使用系统字体,默认勾上
- CacheMode:字体缓存模式
- NONE:默认值,对富文本所拆分创建的每个 Label 节点,设置其 CacheMode 为 NONE 类型,即将每个 Label 的整段文本生成一张位图并单独进行渲染。
- BITMAP:对富文本所拆分创建的每个 Label 节点,设置其 CacheMode 为 BITMAP 类型,即将每个 Label 的整段文本生成一张位图,并将该位图添加到动态图集中,再依据动态图集进行合并渲染。
- CHAR:对富文本所拆分创建的每个 Label 节点,设置其 CacheMode 为 CHAR 类型,即将每个 Label 的文本以“字”为单位缓存到全局共享的位图中,相同字体样式和字号的每个字符将在全局共享一份缓存。
- IsBold:是否加粗
- IsItalic:是否倾斜
- IsUnderLine:是否在字体下显示下划线。
- Mask:遮罩,主要组成:Node + UITransform + Mask,mask 节点需要做为 父节点存在. 被裁剪的图片节点应当挂在mask 节点之下做为子节点.Mask 用于规定子节点可渲染的范围,默认带有 Mask 组件的节点会使用该节点的约束框(也就是 属性检查器 中 Node 组件的 ContentSize 规定的范围)创建一个矩形渲染遮罩,该节点的所有子节点都会依据这个遮罩进行裁剪,遮罩范围外的将不会渲染。控件PageView里面的View就是用了Mask实现的
-
- 前面我们已经研究过node 和 UITransform,我们只要要救Mask组件。
- Type:遮罩类型
- RECT:矩形
- ELLIPSE:椭圆
- Segments:椭圆遮罩的曲线细分数
- GRAPHICS_STENCIL:自定义图形遮罩
- IMAGE_STENCIL:自定义图片遮罩
- RECT:矩形
- Inverted:反向遮罩,不支持Canvas模式
- ParticleSystem2D:2D粒子
- 这里可以看出来是由:node + UItransform + ParticleSystem2D构成,其中ParticleSystem2D就是提供该控件功能的组件。所以只看ParticleSystem2D组件就可以了.
- CustomMaterial:自定义材质
- Color:渲染的颜色,好像改变了没啥变化。。
- Preview:在编辑器模式下预览粒子,启用后,选中粒子,将自动播放
- PlayOnLoad:加载的时候自动播放
- AutoRemoveOnFinish:粒子播放完毕后自动销毁组件所在的节点
- File:plist格式的粒子配置文件。其实,所以粒子就是个配置文件。
- Custom:是否自定义粒子。可以直接修改plist文件,但是,为啥不能直接创建plist文件,然后再自定义呢,非要外面创建一个plist文件?
- 同步:就是把修改了的属性同步修改回去当前splist文件,导出:就是保存为新的文件,然后这边属性面板会自动使用刚刚保存的文件。
- SpriteFrame:粒子贴图定义,每个粒子的贴图,粒子会使用该贴图来定义粒子的形状。
- TotalParticles:粒子总数,默认200,好像有上限
- Duration:粒子系统运行时间。-1代表永远不结束。
- EmissionRate:每秒发射的粒子数量。受粒子总数影响。
- Life:粒子的运行时间及变化范围:
-
第一个框:是粒子的运行时间:粒子发射出来,然后到消失的时间,一个轮回的时间是多少。
-
第二个框:是粒子的变化范围:旋转范围大小
-
- StartColor:粒子初始的颜色,前面的颜色看着是下层,后面的是上层
- EndColor:粒子结束的颜色,类似上面,前面的颜色看着是下层,后面的是上层
- Angle:粒子角度及变化范围
- StartSize:粒子的初始大小及变化范围:
- EndSize:粒子的结束大小及变化范围:
- StartSpin:粒子开始自旋及变化范围:
- EndSpin:粒子结束自旋及变化范围:
- PosVar:发射器位置的变化范围(横向和纵向):
- PositionType:粒子位置类型
- EmitterMode:发射器类型:
- Gravity:重力
- Speed:速度
- TangentialAccel:每个粒子的切向加速度变化范围,即垂直于重力方向的加速度,只有在重力模式下可用。
- RadialAccel:粒子径向加速度及变化范围,即平行于重力方向的加速度,只有在重力模式下可用。
- RotationIsDir:每个粒子的旋转是否等于其方向,只有在重力模式可用。
- Sprite:精灵,按我的理解就是个图片展示。
- node和UITransform就截图了,直接分析里面的Sprite组件。
- Type:渲染模式
- Simple:默认值,根据原始图片资源渲染 Sprite,一般在这个模式下我们不会手动修改节点的尺寸,来保证场景中显示的图像和美术人员生产的图片比例一致。
- Sliced:图像将被分割成九宫格,并按照一定规则进行缩放以适应可随意设置的尺寸(
size
)。通常用于 UI 元素,或将可以无限放大而不影响图像质量的图片制作成九宫格图来节省游戏资源空间 - Tiled:当 Sprite 的尺寸增大时,图像不会被拉伸,而是会按照原始图片的大小不断重复,就像平铺瓦片一样将原始图片铺满整个 Sprite 规定的大小。
- Filled:根据原点和填充模式的设置,按照一定的方向和比例绘制原始图片的一部分。经常用于进度条的动态展示。
- FillCenter:填充中心,没法修改
- FillStart:填充的起始位置,0-1,1为开始点就是结束点,所以不显示图片。
- FillRange:填充总量。0-1,1为开始到结束全部填充。
- CustomMaterial:自定义材质
- Grayscale:灰度模式,开启后 Sprite 会使用灰度模式渲染。
- Color:渲染颜色,这里的颜色,会跟图片本身的颜色混在一起,形成一个混合色。
- SpriteAtlas:Sprite 显示图片资源所属的图集。就是一个大图有很多的小图,使用splist来进行选择每一个图。
- SpriteFrame:渲染 Sprite 使用的 SpriteFrame 图片资源
- SizeMode:指定 Sprite 的尺寸
- Trimmed 表示会使用原始图片资源裁剪透明像素后的尺寸
- Raw 表示会使用原始图片未经裁剪的尺寸
- Custom 表示会使用自定义尺寸。当用户手动修改过 Size 属性后,Size Mode 会被自动设置为 Custom,除非再次指定为前两种尺寸。
- Trim:是否渲染原始图像周围的透明像素区域
- SpriteSplash:单色精灵
- 可以看出来,其实跟上面的精灵是一样的,只是默认的SpriteFrame不一样,一个是default_sprite_splash,一个是default_sprite。
- TiledMap:瓦片地图
- 瓦片图资源是由 Tiled 编辑器 所导出的数据格式(Cocos Creator 3.0 支持 Tiled v1.6.0)
- 为了提高资源管理效率,建议将导入的
tmx
、tsx
和png
文件存放在单独的目录下,不要和其他资源混在一起。 需要注意的是要把tmx
文件和tsx
文件放在同一目录管理,否则可能会导致资源无法被正确加载。 - EnableCulling:启用裁剪,如果需要旋转地图或者把地图置于 3D 相机中,则需要关闭裁剪。如果地图块不是非常多,例如小于 5000 块,那么关闭裁剪能减少 CPU 的运算负担,GPU 直接使用缓存进行渲染
- TmxAsset:指定
.tmx
格式的地图资源(请将.tmx
和.tsx
放置于同一文件夹) - 详细使用参考:https://docs.cocos.com/creator/3.2/manual/zh/editor/components/tiledmap.html?h=enableculling
-
UI组件
UI组件,组成跟2D类似,也是空节点+UITransform+相应的功能组件 构成。不过有一些是底下有子节点一起组成的。- Button:按钮,主组成:node + UITransform + Sprite + Button,附加一个子节点Label,而Label属于2D控件,所以这就有意思了,感觉这里是按照功能分类的?
- 除了Button组件,其他的,我们都已经研究过了,所以这里就只研究Button组件
- Target:过渡效果作用目标节点
- Interactable:按钮是否可交互,这一项未选中时,按钮处在禁用状态。
- Transition:按钮状态变化时的过渡类型,
- NONE:没有过渡效果
- COLOR:颜色过渡,不同状态使用不同的背景颜色
- NormalColor:普通状态的按钮背景颜色
- PressedColor:按下状态的按钮背景颜色
- HoverColor:悬停状态的按钮背景颜色
- DIsabledColor:禁用状态的按钮背景颜色
- SPRITE:图片过渡,不同状态使用不同的背景图片
- NormalSprite:普通状态的按钮背景图片资源
- PressedSprite:按下状态的按钮背景图片资源
- HoverSprite:悬停状态的按钮背景图片资源
- DIsabledSprite:禁用状态的按钮背景图片资源
- SCALE:缩放过渡,当按钮按下时,出现缩放效果
- Duration:按钮颜色变化或者缩放变化的过度时间
- ZoomScale:当用户点击按钮后,按钮会缩放到一个值,这个值等于Button原始Scale * ZoomScale,zoomscale可以是负数。
- ClickEvent:点击事件列表。列表类型,默认为空,用户添加的每一个事件由节点引用,组件名称和一个响应函数组成。
- 每次事件触发,会触发这里配置的对应节点的组件的函数。也就是相当于把这些事件都绑定到当前事件一样了。
- Canvas(上面已经讲过了)
- EditBox:输入框,主组成:node+UItransform + Sprite + EditBox,附加两个子节点TEXT_LABEL,PLACEHOLDER_LABEL
-
-
-
除了EditBox组件,其他的,我们都已经研究过了,所以这里就只研究EditBox组件。和附加子节点TEXT_LABEL,PLACEHOLDER_LABEL
-
String:输入框的初始输入内容,如果内容为空则会显示占位符的文本。
-
Placeholder:输入框占位符的文本内容。
-
TextLabel:输入框输入文本节点上挂载的Label组件对象
-
输入框占位符节点上挂载的Label组件对象
-
BackgroundImage:输入框的背景图片
-
InputFlag:指定输入标识,可以指定输入方式为密码或者单词首字母大写
-
PASSWORD:表明输入的文本是保密的数据,任何时候都应该隐藏起来
-
SENSITIVE:表明输入的文本是敏感数据,它禁止存储到字典或表里面,也不能用来自动补全和提示用户输入。一个信用卡号码就是一个敏感数据的例子。
-
INITIAL_CAPS_WORD:这个标志用来指定在文本编辑的时候,是否把每一个单词的首字母大写。
-
INITIAL_CAPS_SENTENCE:这个标志用来指定在文本编辑是否每个句子的首字母大写。
-
INITIAL_CAPS_ALL_CHARACTERS:自动把输入的所有字符大写。
-
DEFAULT:默认模式,输入字符
-
-
InputMode:指定输入模式,
-
ANY:用户可以输入任何文本,包括换行符。
-
EMAIL_ADDR:允许用户输入一个电子邮件地址。
-
NUMERIC:允许用户输入一个整数值。
-
PHONE_NUMBER:允许用户输入一个电话号码。
-
URL:允许用户输入一个 URL。
-
DECIMAL:允许用户输入一个实数。
-
SINGLE_LINE:除了换行符以外,用户可以输入任何文本。
-
-
ReturnType:
-
DEFAULT:默认。
-
DONE:完成类型。
-
SEND:发送类型。
-
SEARCH:搜索类型。
-
GO:跳转类型。
-
NEXT:下一个类型。
-
-
MaxLength:输入框最大允许输入的字符个数
-
TabIndex:修改DOM输入元素的tabIndex,这个属性只有在web上面修改有意义。
-
EditingDidBegan:开始编辑文本输入框触发的事件回调
-
TextChanged:编辑文本输入框时触发的事件回调
-
EditingDidEnded:结束编辑文本输入框时触发的事件回调,在单行模式下,一般是在用户按下回车或者点击屏幕输入框以外的地方调用该函数。多行输入,在用户点击屏幕输入框以外的地方调用该函数
-
EditingReturn:当用户按下回车按键时的事件回调,如果时单行输入框,按回车键还会使输入框失去焦点。
-
-
TEXT_LABEL:其实就是个Label控件,只是,隐藏起来了,我们可以拖出来,勾上显示,然后填上内容。就可以看到该Label,同理,也是一样的。PLACEHOLDER_LABEL,这两个Label的样式,就是之后输入文字或者显示文字的样式。
-
- Layout:自动对齐布局,主组成:node+UItransform + Layout
- 最基础的组件,只有一个属性,就是用来做对齐的。
- Type
- NONE:默认布局,不会对子节点进行自动布局
- HORIZONTAL:横向自动排布子节点,可以通过
HorizontalDirection
设置水平朝向。朝向分为LEFT_TO_RIGHT
和RIGHT_TO_LEFT
两种,前者会按照节点在 层级管理器 中显示顺序从左到右排列;后者会按照节点显示从右到左排列。- AffectedByScale:子节点缩放比例是否影响布局,感觉上就是,水平方向所有子节点的宽度一致。
- ResizeMode:缩放模式
- NONE:不会对子节点和容器进行大小缩放
- CONTAINER:对容器的大小进行缩放,就是会根据子节点的大小,改变Layout容器的宽高。
- CHILD:对子节点的大小进行缩放,就是会根据Layout容器的大小,改变子节点的宽高。(好像不起效)
- PaddingLeft:Layout节点左边界和子节点的内边距,只有在HorizontalDirection是LEFT_TO_RIGHT起效,就是与起点有关。
- PaddingRight:Layout节点右边界和子节点的内边距,只有在HorizontalDirection是RIGHT_TO_LEFT起效,就是与起点有关。
- SpacingX:相邻子节点之间的水平距离,会超出ContentSizeW,超界限方向与下面的HorizontalDirection有关
- HorizontalDirection:水平排列子节点的方向。
- LEFT_TO_RIGHT:从左到右排列
- RIGHT_TO_LEFT:从右到左排列
- LEFT_TO_RIGHT:从左到右排列
- AlignHorizontal:自动对齐。在Tpye为Horizontal时自动对齐纵坐标(Y轴),就是子节点的y坐标的中心坐标对齐。
- VERTICAL:垂直自动排布子节点,跟上面类似,只是方向时垂直的。
- Type:
- AffectedByScale:子节点缩放比例是否影响布局,感觉上就是,垂直方向所有子节点的高度一致。
- ResizeMode:缩放模式
- NONE:不会对子节点和容器进行大小缩放
- CONTAINER:对容器的大小进行缩放
- CHILD:对子节点的大小进行缩放
- PaddingTop:Layout节点上边界和子节点的内边距
- PaddingBottom:Layout节点下边界和子节点的内边距
- SpacingY:相邻子节点之间的距离
- VerticalDirection:垂直排列子节点的方向,子节点树的顺序对应的显示的顺序
- TOP_TO_BOTTOM:子节点树由上到下对应由显示上到下排列
- BOTTOM_TO_TOP:子节点树由上到下对应由显示下到上排列
- AlignVertical:自动对齐。在Tpye为Vertical时自动对齐横坐标(X),就是子节点的x轴中心坐标对齐。
- GRID:网格布局,会在固定容器大小内,根据
HorizontalDirection
和VerticalDirection
组合决定布局起点,根据StartAxis
属性决定布局方向。意思就是,这个布局就是综合和上面两种类型Horizontal布局和Vertical布局的特点。根据StartAxis来进行优先级判断。SartAxis选择HORIZONTAL时,优先进行水平布局,当放不下,就进行VERTICAL布局。选择VERTICAL,则反之。- AffectedByScale:子节点缩放比例是否影响布局,感觉上就是,垂直方向所有子节点的高度一致。
- ResizeMode:缩放模式
- NONE:不会对子节点和容器进行大小缩放
- CONTAINER:对容器的大小进行缩放
- CHILD:对子节点的大小进行缩放
- CellSize:网格布局中,规定每一个网格的大小。这个会覆盖子节点本身的大小设置。
- StartAxis:网格布局中,子物体排版时的起始方向轴,支持水平和垂直两个方向。
- HORIZONTAL:水平方向,优先进行水平布局,当放不下,就进行VERTICAL布局。
- VERTICAL :垂直方向,优先进行垂直布局,当放不下,就进行HORIZONTAL布局。
- PaddingLeft:Layout节点左边界和子节点的内边距
- PaddingTop:Layout节点上边界和子节点的内边距
- PaddingRight:Layout节点右边界和子节点的内边距
- PaddingBottom:Layout节点下边界和子节点的内边距
- SpacingX:X轴水平子节点间距
- SpacingY:Y轴垂直子节点间距
- HorizontalDirection:水平排列子节点的方向,子节点树的顺序对应的显示的顺序
- VerticalDirection:垂直排列子节点的方向,子节点树的顺序对应的显示的顺序
- Constraint:网格布局中,内容布局约束。就是行列数量
- NONE:无约束
- FIXED_ROW:行数固定
- FIXED_COL:列数固定
- PageView:页面视图,滚动显示不同的页面,是一种页面视图容器.主组成:node+UItransform + Sprite + PageView,附加一个子节点view,view子节点下还有两个子节点content,indictor。content底下还有三个子节点page1,2,3,组成。
- 整体分析:我们这里只研究PageView,组成:node + UITransform + Sprite + PageView,底下view和indicator子节点。view子节点下还有两个子节点content,indictor。content底下还有三个子节点page1,2,3。所以总结就是一个Mask节点底下加一个Layout布局里面三个Sprinte。
- Inertia:是否开启滚动惯性
- Brake:开启惯性后,在用户停止触摸后滚动多快停止,0表示永不停止,1表示立刻停止
- Elastic:是否允许滚动内容超过边界,并在停止触摸后回弹
- BounceDuration:回弹持续的时间,0表示将立刻反弹
- SizeMode:页面视图中每个页面大小类型,看不出来有啥区别
- Unified:统一,就是所有页面的大小类型都一致
- Free:自由,可以不一样大小和类型
- Direction:页面滚动方向
- Horizontal:水平滚动切换页面
- Vertical:垂直滚动切换页面
- ScrollThreshold:滚动临界值,默认单位百分比,当拖拽超出该数值时,松开会自动滚动下一页,小于时则还原。就是判断是否切换到下一页。
- PageTurningEventTiming:设置PageView页面自动滚动动画结束的阈值,修改此值可以调整PageView事件的发送时机。
- Indicator:页面视图指示器组件。默认关联到下下级的indicator节点
- AutoPageTruningThreshold:快速滑动翻页临界值,当用户快速滑动时,会根据滑动开始和结束的距离与时间计算出一个速度值,该值与此临界值相比较,如果大于临界值,则进行自动翻页。
- PageTruningSpeed:页面滚动速度
- PageEvents:页面视图的事件回调函数
- content:包含可滚动展示内容的节点引用。默认关联到下下下级的content节点。
- 下级子节点:
- view:视图。主组成:Node + UITransform + Mask ,可以看出来,这就是个遮罩节点。具体看上面Mask分析。
- view的子节点content,组成:Node + UITransform + Layout,可以看出来就是个Layout
- content子节点page1,2,3,组成:Node + UITransform + Sprite,可以看出来就是个Sprite
- view的子节点content,组成:Node + UITransform + Layout,可以看出来就是个Layout
- indicator:指示器,是可选的,该组件是用来显示页面的个数和标记当前显示在哪一页。
- SpriteFrame:每个页面标记显示的图片
- Direction::页面标记摆放方向
- Horizontal:页面标记水平排放
- Vertical:页面标记垂直排放
- CellSize:页面标记大小
- Spacing:页面标记之间的边距
- SpriteFrame:每个页面标记显示的图片
- view:视图。主组成:Node + UITransform + Mask ,可以看出来,这就是个遮罩节点。具体看上面Mask分析。
- ProgressBar:进度条,主组成Node + UITransform + Sprite + ProgressBar,而ProgressBar有个子节点Bar,Bar节点组成:Node + UITransform + Sprite,这里可以看出来就是两个Sprite节点,其中一个有一个ProgressBar组件。所以我们只看ProgressBar组件。
- BarSprite:进度条显示用的Sprite节点,可以动态改变尺寸
- Mode:进度条显示模式
- HORIZONTAL:水平方向模式,正常方向为左为0,最右面为顶1.
- VERTICAL:垂直方向模式,正常方向为下为0,最上面为顶1.
- FILLED:扇形填充模式,360°圆形,类似技能cd
- TotalLength:进度条在progress为1时的最大长度。
- Progress:当前进度指示,范围从0到1,0表示起点,1表示终点
- Reverse:是否反向驱动进度条,类似于卸载的进度条,往后退。
- RichText:富文本,有样式的文本框,组成:Node + UITransform + RichText 组成。我们只看RichText组件。
- String:富文本的内容字符串,你可以在里面使用BBCode来指定特定文本的样式。类似<color=#00ff00>Rich</color>
- UseSystemFont:是否使用系统字体
- FontFamily:富文本定制系统字体
- CacheMode:字体缓存模式
- NONE:默认值,对富文本所拆分创建的每个 Label 节点,设置其 CacheMode 为 NONE 类型,即将每个 Label 的整段文本生成一张位图并单独进行渲染。
- BITMAP:对富文本所拆分创建的每个 Label 节点,设置其 CacheMode 为 BITMAP 类型,即将每个 Label 的整段文本生成一张位图,并将该位图添加到动态图集中,再依据动态图集进行合并渲染。
- CHAR:对富文本所拆分创建的每个 Label 节点,设置其 CacheMode 为 CHAR 类型,即将每个 Label 的文本以“字”为单位缓存到全局共享的位图中,相同字体样式和字号的每个字符将在全局共享一份缓存。
- HorizontalAlign:水平对齐方式。也就是说,富文本只有水平对齐,没有垂直对齐。
- RIGHT:内容相对于锚点,进行右对齐
- CENTER:内容相对于锚点,进行剧中对齐
- LEFT:内容相对于锚点,进行左对齐
- FontSize:字体大小,单位point
- MaxWidth:富文本的最大宽度,穿0的话以为着必须手动换行。这不能自动设置换行?
- LineHeight:行高度,单位point,不能设置小于字体,否则字体会压缩
- ImageAtlas:对于img标签里面的src属性名称,都需要在imageAtlas里面找到一个有效的spriteFrame,否则imgtag会判断为无效。
- HandleTouchEvent:选中此选项后,RichText将阻止节点边界框中的所有输入事件(鼠标和触摸),从而防止输入事件穿透到底层节点。不允许冒泡
- ScrollView:滚动视图,组成:Node + UITransform + Mask + ScrollView 附加两个子节点scrollBar,view,scrollBar里面有个子节点bar,view有子节点content,content有子节点item。
- 子节点有点多,我们先分析拆解看。
- 从最里面看到最外层。
- item组成:Node + UITransform + Label ,所以就是个Label
- content组成:Node + UITransform ,所以就是个有固定大小的Node
- view组成:Node + UITransform + Mask,所以就是个mask
- bar组成:Node + UITransform + Sprite,所以就是个sprite
- scrollBar组成:Node + UITransform + Sprite + Widget + ScrollBar,这里就只分析ScrollBar就可以了。
- Handle:作为当前滚动区域位置显示的滑块Sprite,绑定到子节点bar
- Direction:ScrollBar的滚动方向
- HORIZONTAL:水平反向的滚动
- VERTICAL:垂直方向的滚动,没有两个方向的滚动?
- EnableAutoHide:是否在没有滚动动作时自动隐藏ScrollBar
- AutoHideTime:没有滚动动作后经过多久会自动隐藏,注意:只有EnableAutoHide 启用的时候生效。
- ScrollView,滚动条,图片见上面主项
- Horizontal:开启水平滚动条。这个开启有点难配置,要创建一个类似socllBar的子节点。就是把原本的socllBar复制一份,然后需要修改相应socllBar的位置值宽高和里面的bar的位置宽高。开启后,需要把socllBar与新出来的属性HorizontalScrollBar绑定。目前调节后有bug,水平滑块没法设置到最前面。
- Vertical:垂直滚动条。类似上面。不过编辑器默认就是垂直滚动条。弹出的VerticalScrollBar绑定垂直的Bar。
- Inertia:是否开启滚动惯性
- Brake:开启惯性后,在用户停止触摸后滚动多快停止,0表示永不停止,1表示立刻停止
- Elastic:是否允许滚动内容超过边界,并在停止触摸后回弹
- BounceDuration:回弹持续的时间,0表示将立刻反弹
- Content:包含可滚动展示内容的节点引用
- CancelInnerEvents:滚动行为是否会取消子节点上注册的触摸事件。防止冒泡?
- ScrollEvents:滚动视图的事件回调函数。
- Horizontal:开启水平滚动条。这个开启有点难配置,要创建一个类似socllBar的子节点。就是把原本的socllBar复制一份,然后需要修改相应socllBar的位置值宽高和里面的bar的位置宽高。开启后,需要把socllBar与新出来的属性HorizontalScrollBar绑定。目前调节后有bug,水平滑块没法设置到最前面。
- Slider:滑动器,组成:Node + UITransform + Sprite + Slider ,附加子节点Handle
- 先分析子节点Handle,组成:Node + UITransform + Sprite + Button,所以这是个带了图片的按钮节点。
- 回来看Slider属性
- Handle:滑块按钮部件,绑定子节点Handle
- Direction:滑动方向
- Horizontal:水平方向
- Vertical:垂直方向
- Progress:当前进度值,该数值的区间时0-1之间
- SlideEvents:滑动器组件事件回调函数
- Toggle:复选按钮,组成:Node + UITransform + Sprite + Toggle,附带子节点Checkmark
- 我们先从小到大
- Checkmark,组成:Node + UITransform + Sprite ,看起来就是个sprite
- 再回来看Toggle
- Target:指定背景节点,状态改变时会修改此节点的Color或Sprite属性。这里改变的是自己,所以绑定的是自己
- Interactable:按钮是否可交互,这一项未选中时,按钮处于禁用状态。也就是不开启这个,没法选中勾上
- IsChecked:如果设置这个为true,则check mark 组件会处于enabled状态,否则处于disabled状态。
- CheckMark:Toggle处于选中状态时显示的sprite图片,绑定的是子节点的Checkmark。
- Transition:按钮状态变化时的过度类型
- NONE:没有过渡效果
- COLOR:颜色过渡,不同状态使用不同的背景颜色
- NormalColor:普通状态的按钮背景颜色
- PressedColor:按下状态的按钮背景颜色
- HoverColor:悬停状态的按钮背景颜色
- DIsabledColor:禁用状态的按钮背景颜色
- SPRITE:图片过渡,不同状态使用不同的背景图片
- NormalSprite:普通状态的按钮背景图片资源
- PressedSprite:按下状态的按钮背景图片资源
- HoverSprite:悬停状态的按钮背景图片资源
- DIsabledSprite:禁用状态的按钮背景图片资源
- SCALE:缩放过渡,当按钮按下时,出现缩放效果
- Duration:按钮颜色变化或者缩放变化的过度时间
- ZoomScale:当用户点击按钮后,按钮会缩放到一个值,这个值等于Button原始Scale * ZoomScale,zoomscale可以是负数。
- CheckEvents:Toggle按钮的点击事件列表
- ClickEvents:按钮点击事件的列表,先将数量改为1或更多,就可以为每个点击事件设置接收者和处理方法。
- ToggleGroup:单选按钮,组成:Node + ToggleContainer ,附加节点3个(默认)Toggle
- Toggle分析看上面。所以我们只需要看ToggleGroup就可以
- AllowSwitchOff:如果这个设置为true,那么toggle按钮在被点击的时候可以反复地被选中和未选中。就是可以取消选中的意思,可以全都不选。
- CheckEvents:Toggle按钮的点击事件列表
- VideoPlayer:播放器,组成:Node + UITransform + VideoPlayer
- ResourceType:视频来源
- REMOTE:远程视频URL
- RemoteURL:远程视频的URL
- LOCAL:本地视频地址
- Clip:本地视频剪辑
- REMOTE:远程视频URL
- PlayOnAwake:视频加载后是否自动开始播放
- PlaybackRate:视频播放时的速率(0.0到10.0)
- Volume:视频的音量(0.0到1.0)
- Mute:视频是否静音,静音时会自动设置音量为0,取消静音是恢复原来的音量
- Loop:视频是否循环播放
- KeepAspectRation:是否保持视频原来的宽高比
- FullScreenOnAwake:是否全屏播放视频
- StayOnBotton:永远在游戏视图最低层(这个属性只有在web平台上有效果。注意:具体效果没法保证一致,跟各个浏览器是否支持与限制有关。
- VideoPlayerEvent:视频播放回调函数,该回调函数会在特定情况被触发,比如播放中,暂时,停止和完成播放。
- WebVIew:网页视图,打开一个网页,在web端,点击页面的超链接,会变成新tab打开有点bug,组成:Node + UITransform + WebView
- 只需要分析WebView
- Url:指定一个URL地址,这个地址以http或者https开头,请填写一个有效的URL地址。
- WebviewEvents:Webview的回调事件,当网页加载过程中,加载完成后或者加载出错时都会回调此函数。
- Widget:对齐,(对齐挂件) 是一个很常用的 UI 布局组件。它能使当前节点自动对齐到父物体的任意位置,或者约束尺寸,让你的游戏可以方便地适配不同的分辨率。具体分析见上面,已经分析过了。
- Button:按钮,主组成:node + UITransform + Sprite + Button,附加一个子节点Label,而Label属于2D控件,所以这就有意思了,感觉这里是按照功能分类的?
-
光线
- 注意:只有在3D模式下,看到具体效果
- DirectionalLight:平行光,类似太阳光。平行照射,3D的默认光线就是平行光。 组成:Node + DirectionalLight。
- Color:光源颜色。就是照射到物体上面反射出来的颜色。
- UseColorTemperature:是否启用光源色温。
- ColorTemperature:光源色温。(1000到15000)
- StaticSettings:设置静态灯光,详情请参考 光照贴图
- EditorOnly:是否只在编辑器中生效
- Bakeable:是否烘焙静态光照
- CastShadow:是否投射静态阴影
- Illuminance:光源强度。
- SphereLight:球面光,就是电灯泡的灯光,组成:Node + SphereLight
- Trem:当前使用的广度学计量单位
- LUMINOUS_POWER:发光功率
- LUMINANCE:亮度
- LuminousPower:光通量
- Color:光源颜色。就是照射到物体上面反射出来的颜色。
- UseColorTemperature:是否启用光源色温。
- ColorTemperature:光源色温。(1000到15000)
- Size:光源大小,就是灯泡的大小
- Range:光源的照射范围。就是灯光照射远近
- StaticSettings:设置静态灯光,详情请参考 光照贴图
- EditorOnly:是否只在编辑器中生效
- Bakeable:是否烘焙静态光照
- CastShadow:是否投射静态阴影
- SpotLight:聚光,就是舞台聚光灯效果。组成:Node + SpotLight
- Trem:当前使用的广度学计量单位
- LUMINOUS_POWER:发光功率
- LUMINANCE:亮度
- LuminousPower:光通量
- Color:光源颜色。就是照射到物体上面反射出来的颜色。
- UseColorTemperature:是否启用光源色温。
- ColorTemperature:光源色温。(1000到15000)
- Size:光源大小,就是灯泡的大小
- Range:光源的照射范围。就是灯光照射远近
- SpotAngle:调整聚光角度,控制光照范围,就是控制照射光圈的大小范围
- StaticSettings:设置静态灯光,详情请参考 光照贴图
- EditorOnly:是否只在编辑器中生效
- Bakeable:是否烘焙静态光照
- CastShadow:是否投射静态阴影
-
特效
- 粒子特效(3D),虽然2D下也能看到,但是2D有另外得一个粒子可以使用,所以这里一般用于3D。而且并不用跟2D一样放置在Canvas下。
- 组成:Node + ParticleSystem
- Duration:粒子系统运行时间
- Capacity:粒子系统能生成得最大粒子数量
- Loop:粒子系统是否循环播放
- PlayOnAwake:加载后自动播放
- Prewarm:选中后,粒子系统会以播放完一轮之后得状态开始播放(仅当循环播放启用时有效)
- SimulationSpace:选择粒子系统所在得坐标系
- World:世界坐标
- Local:本地坐标
- Custom:自定义坐标
- SimulationSpeed:控制整个粒子系统得更新速度
- StartDelay:粒子系统开始运行后,延迟粒子发射得时间
- StartLifeTime:粒子生命周期,粒子发射出来到消失得时间
- StartColor:粒子发射出来时得颜色
- ScaleSpace:选择缩放坐标系
- Local:基于本地坐标系的缩放
- World:基于世界坐标系的缩放
- Custom:自定义缩放,不受节点 scale 影响
- StartSize3D:是否分别设置粒子X,Y和Z轴得初始大小
- StartSize:X轴初始大小
- StartSpeed:初始速度
- StartRotation3D:是否分别设置粒子X,Y和Z轴得初始旋转角度
- StartRotation:Z轴初始旋转角度
- GravityModifier:粒子受重力影响得重力系数(只支持CPU粒子)
- RateOverTime:每秒发射得粒子数
- RateOverDistance:每移动单位距离发射得粒子数
- Bursts:设定在指定时间发射指定数量得粒子得burst得数量,设置为1后能看到具体设置得可以调整得属性
- time:粒子播放多长时候后开始发射 burst
- count:发射的粒子数量
- repeatCount:burst触发次数
- repeatInterval:每次触发的时间间隔
- EnableCulling:是否剔除非enable得模块数据
- SpapeModule:粒子发射器模块
- ShapeType:粒子发射器类型
- Box:长方体盒子模型
- EmitFrom:粒子从方块的哪个部位发射。
- Edge:边框
- Shell:表面
- Volume:内部
- EmitFrom:粒子从方块的哪个部位发射。
- Circle:圆形
- Radius:粒子发射器半径
- RadiusThickneww:粒子发射器发射位置(对Box类型的发射器无效)0表示表面发射,1表示从中心发射,0到1之间表示在中心到表面发射。
- Arc:粒子发射器在一个扇形范围内发射
- ArcMode:粒子在扇形范围内的发射方式
- Random
- Loop
- PingPong
- ArcSpread:控制可能产生粒子的弧周围的离散间隔
- ArcSpeed:粒子沿圆周发射的速度
- Cone:倒锥体,倒圆柱
- EmitFrom:粒子从方块的哪个部位发射。
- Edge:边框
- Shell:表面
- Volume:内部
- Radius:粒子发射器半径
- RadiusThickneww:粒子发射器发射位置(对Box类型的发射器无效)0表示表面发射,1表示从中心发射,0到1之间表示在中心到表面发射。
- Angle:圆锥的轴与母线的夹角,决定圆锥发射器的开合程度。
- Arc:粒子发射器在一个扇形范围内发射
- ArcMode:粒子在扇形范围内的发射方式
- Random
- Loop
- PingPong
- ArcSpread:控制可能产生粒子的弧周围的离散间隔
- ArcSpeed:粒子沿圆周发射的速度
- Length:圆锥顶部截面距离底部的轴长,决定圆锥发射器的高度。
- EmitFrom:粒子从方块的哪个部位发射。
- Sphere:球体
- EmitFrom:粒子从方块的哪个部位发射。
- Shell:表面
- Volume:内部
- Radius:粒子发射器半径
- RadiusThickneww:粒子发射器发射位置(对Box类型的发射器无效)0表示表面发射,1表示从中心发射,0到1之间表示在中心到表面发射。
- EmitFrom:粒子从方块的哪个部位发射。
- Hemisphere:半球体,默认底下是平面
- EmitFrom:粒子从方块的哪个部位发射。
- Shell:表面
- Volume:内部
- Radius:粒子发射器半径
- RadiusThickneww:粒子发射器发射位置(对Box类型的发射器无效)0表示表面发射,1表示从中心发射,0到1之间表示在中心到表面发射。
- EmitFrom:粒子从方块的哪个部位发射。
- Box:长方体盒子模型
- Position:粒子发射器位置
- Rotation:粒子发射器旋转角度
- Scale:粒子发射器缩放比例
- AlignToDirection:根据粒子的初始方向决定粒子的移动方向
- RandomDirectionAmount:粒子生成方向随机设定
- SphericalDirectionAmount:表示当前发射方向与当前位置到节点中心连线方向的插值
- RandomPositionAmount:粒子生成位置随机设定(设定此值为非0会使粒子生成位置超出生成器大小范围)。
- VelocityOvertimeModule:速度模块
- X:X轴方向上的速度分量
- Y:Y轴方向上的速度分量
- Z:Z轴方向上的速度分量
- SpeedModifier:速度修正系数(只支持CPU粒子)
- Space:速度计算时采用的坐标系
- World:世界坐标
- Local:本地坐标
- Custom:自定义坐标
- ForceOvertimeModule:加速模块
- X:X轴方向上的加速度分量
- Y:Y轴方向上的加速度分量
- Z:Z轴方向上的加速度分量
- Space:加速度计算时采用的坐标系
- World:世界坐标
- Local:本地坐标
- Custom:自定义坐标
- SizeOvertimeModule:大小模块
- SeparateAxes:是否分开设定每个轴上独立控制粒子大小
- Size:定义一条曲线来决定粒子在其生命周期中的大小变化
- RotationOvertimeModule:旋转模块
- SeparateAxes:是否分开设定每个轴上独立旋转
- Z:绕Z轴设定旋转
- ColorOverLifetimeModule:颜色模块
- Color:颜色随时间变化的参数,可采用不同的颜色变化模式
- TextureAnimationModule:贴图动画模块
- Mode:设定粒子贴图动画的类型(暂只支持Grid模式)
- NumTitlesX:X方向动画帧数
- NumTitlesY:Y方向动画帧数
- Animation:动画播放方式
- WholeSheet:播放贴图中的所有帧
- SingleRow:只播放其中一行
- FrameOverTime:一个周期内动画播放的帧与时间变化曲线
- StartFrame:从第几帧开始播放,时间为整个粒子系统的生命周期
- CycleCount:一个生命周期内播放循环的次数
- RandomRow:随机从动画贴图中选择一行以生成动画,此选项仅在动画播放方式为SingleRow时生效
- RowIndex:从动画贴图中选择行以生成动画,此选项仅在动画播放方式为SingleRow时且禁用randomRow时可用。
- LimitVelocityOvertimeModule:限速模块
- Space:计算速度下限时采用的坐标系
- Dampen:当前速度与速度下限的插值
- SeparateAxes:是否三个轴分开限制
- Limit:速度下限。当选择了SeparateAxes,这里会分成三个LimitX,limitY,limitZ
- TrailModule:拖尾模块
- Mode:Particle在每个粒子的运动轨迹上形成拖尾效果
- LifeTime:拖尾的生命周期
- MinParticleDistance:粒子每生成一个拖尾节点所允许的最短距离
- Space:拖尾所在的坐标系
- World:在世界坐标系中运行
- Local:在本地坐标系中运行
- Custom:自定义坐标系
- TextureMode:贴图在拖尾上的展开形式(目前只有Stretch)
- Stretch:贴图覆盖在整条拖尾上
- Repeat:贴图覆盖在一段拖尾上
- WidthFromParticle:拖尾宽度继承自粒子大小
- WidthRation:拖尾宽度,如果继承自粒子则是粒子大小的比例
- ColorFromParticle:拖尾颜色是否继承自粒子
- ColorOverTrail:拖尾颜色随拖尾自身长度的颜色渐变
- ColorOvertime:拖尾颜色随时间的颜色渐变
- Renderer:渲染模块
- RenderMode:设定粒子生成模式
- VelocityScale:在粒子生成StrecthBillboard时,对粒子在运动方向上按速度大小进行拉伸
- LengthScale:在粒子生成方式为StrecthedBillboard时,对粒子在运动方向上按粒子大小进行拉伸。
- Mesh:粒子发射的模型
- ParticleMaterial:粒子使用的材质
- TrailMaterial:拖尾使用的材质
- UseGPU:是否启用GPU粒子
- 粒子特效(3D),虽然2D下也能看到,但是2D有另外得一个粒子可以使用,所以这里一般用于3D。而且并不用跟2D一样放置在Canvas下。
-
摄像机
- 如图,上面是2D和3D相机
- 属性项是一样得,其中基本节点属性,我们就不研究了,我们先看Camera属性
- Priority:相机渲染优先级,值越小越优先渲染。
- Visibility:可见性集合掩码,代表该相机可以看到哪些层得集合。可以在项目得layer中配置,这里只能看到UI_3D,UI_2D。
- ClearFlags:相机的缓冲清除标志位,指定帧缓冲的哪部分要每帧清除
- ClearColor:相机的颜色缓冲默认值
- ClearDepth:相机的深度缓冲默认值
- ClearStencil:相机的模板缓冲默认值
- Projection:相机的投影类型
- FovAxis:指定视角的固定轴向,在此轴上不会跟随屏幕长宽比例变化
- Fov:相机的视角大小
- OrthoHeight:正交模式下的相机视角高度
- Near:相机的近1裁剪距离,应在可接受范围内尽量取最大
- Far:相机的远裁剪距离,应在可接受范围内尽量取最小
- Aperture:相机光圈,影响相机的曝光参数
- Shutter:相机快门,影响相机的曝光参数
- Iso:相机感光度,影响相机的曝光参数
- Rect:此相机最终渲染到屏幕上的视口位置和大小
- TargetTexture:指定此相机的渲染输出贴图,默认为空,直接渲染到屏幕。
-
地形