Engine Settings修改完后 修改名字,以适应新的设置
Engine Settings修改完后 修改名字,以适应新的设置
save/load voxel data 本地数据加载
若不勾上,本地数据不会被加载而是重新创建世界,若勾上了,会以之前的世界数据来加载,若之前的世界都没有 则是创建世界而已。
Texture unit 贴图比例,1/8即 保存8*8个小方块材质,统一进行设置,若需添加新材质,则将材质弄成一样的小块放入到8*8贴图的空白处即可。生成8*8贴图也要严格按照8*8的比例,mesh网格类型的碰撞面,collider即碰撞面(碰撞器),2个√上就有网格类型的碰撞器,没勾上就没有那个效果,玩家不可以站到场景上,第三个边框属性。
UniBlocks
Custom mesh 不勾上 使用默认mesh立方体
特殊的物体都需要勾上这个,使用自定义的mesh。Mesh渲染物体时使用的网格,是许多个由三角形组成的网格,往往一个物体都会有Mesh Renderer组件用于渲染物体,而渲染物体需要Mesh和材质球,用于管理Mesh的就是MeshFiler
勾上后将自定义的Mesh放在Mesh上,Mesh Rotation是旋转,0°None下面的几个分别是180°、90°、270°
define side texture 若方块四周都一样,则不需要√上,否则反之。
坐标代表贴图所在位置,左下角为(0,0)
而勾上之后,每个面都可设置,分别是上下,左右,前后
Material index 材质球索引号
因为材质球可以设置多个,即如果你一个材质球不够用了,可以设置多个,在UniBlockObject的ChunkObject的Chunk中的Mesh Renderer中可设置多个材质球,每个材质球用的是8*8的贴图,即指定一个Block的材质先是由这个index找到材质球,再从该材质球上获取其中一个小贴图。
Mesh对形状的扩展
Define Side Texture对物体每个面的贴图扩展
Material index对贴图数量的扩展,即一个材质球(64种小贴图)不满足你的需求,可再增加,增加新的材质球后,是用index索引号区分每个材质球的。相当于数组
UniBlocks
Transparency 设置透明度
第一个 不透明
第二个 半透明
第三个 全透明
Collider 选择碰撞器,特殊形状碰撞器要选Mesh。默认需要碰撞是Cube,不需要碰撞的选择None
VoxelInfo 是位于一个Chunk中的小块,记录了位置(x,y,z)相对于所在Chunk位置和所在Chunk索引、小块的贴图索引号
GetVoxel就是获取小块
Camera Event触发OnPlay()、MouseDown、Up和按住的事件,分别有2种形式,一个是摄像机中心点,一个是鼠标为准心。
准心:Height:2:Width:20 不接受鼠标事件Raycast Targer去除勾选
推荐大家学习如何创建指挥你故意的mas
volex是block的一个方法和属性
volexInfo是小块block在大块中的信息,包含位置信息。
unity
unitystorm
在coliderEventsSender里面,获取的voxelInfo是本身所在的位置,而实际应该获取的是本身所在位置脚下的那个位置。解决方法,应该是从本身所在的位置往下投影一个射线,得到脚下的位置
onBlockEnter只触发一次
Unblicks.Engine各个参数的作用
World name :世界的名字,如果存在·的话就直接做修改,不存在则创建。
Chunk settings 大块的设置
Chunk spawn distance:8(默认)表示从我们新建的空物体ChunkLoader为中心以8个大块为半径生成一个圆
Chunk despawn distance:3(默认)销毁距离的设置。 表示当ChunkLoader偏移大于等于3个大块时,远离ChunkLoader>8+3个大块的地方进行销毁。
Chunk height range:设置生成的大块组合的整体地图的高度,即高度是多少个大块的高度
Chunk side length:生成的每个大块中包含多少个小块。16则表示最高16个小块且长宽大小为16*16
(在UniblocksObject-Chunk Objects-Chunk-Mesh Renderer中的Materiais可以设置贴图)
Texture unit:0.125材质的单位,0.125表示1/8的意思把贴图分成8份(把小块的材质放到大的材质里面。作用是对于性能的优化,需要时从大的材质贴图里取得需要的那一块以节约性能。)
Texture padding:0(默认)设置材质与材质之间的间距
Generate meshes:显示地图和网格
Generate collider:生成碰撞器
(以上一般√选上)
Show border faces:显示边框
事件触发:
方块的新增
删除
Unblicks.Engine各个参数的作用
World name :世界的名字,如果存在·的话就直接做修改,不存在则创建。
Chunk settings 大块的设置
Chunk spawn distance:8(默认)表示从我们新建的空物体ChunkLoader为中心以8个大块为半径生成一个圆
Chunk despawn distance:3(默认) 表示当ChunkLoader偏移大于等于3个大块时,远离ChunkLoader>8+3个大块的地方进行销毁。
Chunk height range:设置生成的大块组合的整体地图的高度,即高度是多少个大块的高度
Chunk side length:生成的每个大块中包含多少个小块。16则表示最高16个小块且长宽大小为16*16
Texture unit:
Texture padding:
Generate meshes:
Generate collider:
Show border faces;
UniBlocks:Block Editor 大块中的小块的设置
Blocks path:保存Blocks的路径设置
(Block不会实际的生成到场景中因为“每个小块的block是集成生成在每个大块中的”保存的block是拿来存储每个小块的设置数据的)
【1.1 UniBlocks的设置框】
0:-empty-
代表就是空的,空的就是什么都不存在。
(比方说我们拿出一个Chunk,它的长宽高都是16*16*16,但是它并不是每个格子都显示出来的。他只有部分是显示出来的,很多都是不显示的(如果全都显示出来的话就会变成个16*16*16的正方体辣)但是不存在的并不代表他没有,不显示的是同样有保存的,它是按照-empty-来进行保存的)
(并且对于一块Chunk来说,它上边的块都是默认是空的块,下面的块默认都是泥土的块,因为不可见所以暂时不渲染出来)
【1.2各种块的图例子】
ID:标记块的类型
(通过id可找到其对应的Block对象,从而取得小块所对应的属性信息)
(后期可以增加新的块)
添加新的块
点击New Block,就会默认生成一个新的块。
(就会新增一个块,Id编号默认排在最后的块的后一位,可以自己自定义修改,新增的块默认为空的块)
(如果想要复制一个块修改局部参数后点击Apply可以直接改id,这样就会复制一个)
如何在场景中摆放Block
选择快捷键1-9然后在黑色方框的位置点击鼠标右键就可以摆放所选择的方块
(L Swnd Camera LookEvents:是以相机的视野方向为准,即屏幕正中心的方向)
(L Send Cursor Events:以鼠标为准的方向,一般情况下这个不勾选,勾选了生成方块会以鼠标位置生成取消的话会以准心位置生成)
Standard Assets:第一人称控制器
Uniblocks:插件的主体
UnblocksBlock
1 dirt
Name:小块素材的名字
ID:程序区分(不可重复)
Cutom mesh:自定义mesh,不勾选就是使用自定义的立方体
mesh:指定的mesh
Mesh rotation: 旋转block
(只有指定了自定义的mesh了才科学选择Mesh rotation)