可以在预制体子体的overrides里将子体的修改效果应用到母体上从而改变所有子体的效果
可以在预制体子体的overrides里将子体的修改效果应用到母体上从而改变所有子体的效果
预制体的制作
Prefab(预制体):是unity中的一种特殊资源,预制体就是一个或者一系列组件的集合体,可以使用预制体实例化克隆体,后续可对克隆体属性进行统一修改
Ruby与金属盒遮挡效果的实现
sprite sort point-pivot轴心点:是可以自定义的特殊点,充当精灵的锚点,精灵以此为支点进行旋转,坐标点位置则是指轴心点的位置
根据自定义轴向控制sprite的渲染
要做到覆盖一部分的效果需要edit-project settings-graphics-camera settings-将transparency sort mode设置为Custom Axis然后调整该sprite的y坐标来实现只遮挡一部分的功能(谁的Y轴坐标大,就后画谁)
场景与sprite之间的渲染适合用层级,而精灵与精灵之间的渲染适合用transparency sort mode来渲染
渲染顺序与层级设置
有时候角色会被盖住可能与深度有关,即z轴
如果处于同一个深度之下,那么就很有可能会被盖住
如果不使用z轴来调整则需要涉及到层级
layer(层级):可以在2D游戏物体中的spriteRenderer和地形TilemapRenderer组件中的Order in 拉野属性中去设置层级的大小,值越大,越后渲染,值越小,越先渲染,值大的物体会覆盖值小的游戏物体
层级顺序可以使用inspector里的Additional settings中的order in layer来调整
对调色板中的瓦片进行操作
piker tool(取色器):取样选中瓦片并绘制,快捷键l
eraser tool(橡皮擦工具):擦去场景中已绘制的瓦片,快捷键D
fill tool(填充工具):大范围绘制选中的瓦片,快捷键G
调色板中Edit按钮激活下啊是对调色板中瓦片的操作,未激活是对Scene面板中瓦片的操作
调色板中的工具栏
select tool(选择工具):选择想要使用的瓦片,可以点击或拖拽多选选择,快捷键为s
move tool(移动工具):可以选择并移动瓦片位置,快捷键为M
可以直接在画布上进行选择来拖拽已经放置过的瓦片
paintbruch tool(画笔工具):选择瓦片并在场景板中绘制,快捷键为B
fill box tool(放行区域填充工具):选择一个或一片区域大小的瓦片,绘制区域小于选中区域时会部分绘制选中内容的纹理,等大区域时会显示全部,大于则会平铺显示,快捷键为U(特别好用)
切割精灵图集制作瓦片集
选择需要修改的图片-sprite editor-slice-type-grid by cell count(按比例切割)grid by cell size(按像素点切割)Automatic(自动识别切割)-c(行)r(列)-点X
将创建的地形连续
造成tile不连续的原因是tile的像素点填充的比本身的图像大,只需要将pixels per unit改为适合当前图像大小的像素填充即可
将图片改为可分割tu'pia的方法:选中需要修改的图片,将精灵模式由single改为multiple
创建调色板
window-2D-tile palette
palette:(调色板):保存瓦片,将他们绘制到网格上
调出tile palette时还没有调色板,需要点击create new palette来创建新的调色板
brush(笔刷):用于将“画好的东西”绘制到画布上,使用tilemap时,可以在多个画笔中任意选择,画出线条、方块等各种形状
tilemap的基本概念
grid(网格):可以用来将游戏对象均匀地放置在其单元格中
tilemap(瓦片地图):是网格的子游戏对象。由tiles(瓦片)组成
sprite(精灵):纹理的容器,大型纹理图集可以转换为精灵图集(sprite sheet)
tile(瓦片):一种特殊的精灵,使用瓦片就像在画布上花花一样,花花时i可以设置一些颜色和属性
##构建背景
unity里复制不是CTRL+c而是CTRL+d
Application.targetFrameRate = 10;可以使用该代码将帧率改为10帧,targetFrameRate是Application这个类里的一个成员变量
快捷键:CTRL+k+c快速注释 CTRL+k+u快速取消注释
水平轴向是Horizontal,而垂直轴向是Vertical
要想让角色以0.1m/s的速度移动,则需要在变量名后乘上Time.deltaTime,如:
“变量”是没有小括号的,而“方法”有小括号,如变量position和方法GetAxis
input和debug都是类/组件,rubycontroller也是一个类/组件
()中的“”中的内容是参数,即我们想要提供给函数的一个信息
有的类/组件需要参数,有的则不用,不用就不加“”
debug.log输出的是一个变量,而不是input得到的参数
输入input.XXX("") 输出debug.log()
点击游戏画面才能进入游戏进行cao'zuo
x=Horizontal(Edit-project settings-Input Manager)
Input 输入(例如:Input.GetAxis())
f就是float,小数类型的变量,与c语言xiang'si
小写是变量自身,大写是变量类型
transform.position的意思是在transform组件中取出position的属性(.)
V3可以存储x,y,z三个数值
等号左边的变量可以说是等号右边的变量的fu'ben