推荐大家学习如何创建指挥你故意的mas
推荐大家学习如何创建指挥你故意的mas
BLOCK 小
Chumk是大
Uniblocks Voxel Terrain
public class CameraEventsSender : MonoBehaviour { public float Range; private GameObject SelectedBlockGraphics; public void Awake () { if (Range <= 0) { Debug.LogWarning ("Uniblocks: CameraEventSender.Range must be greater than 0. Setting Range to 5."); Range = 5.0f; } SelectedBlockGraphics = GameObject.Find ("selected block graphics");
是<<minecraft>>
Block同一类型的小方块
Volex每个方块的属性,与block对应
Block存在于大块
Volexinfo放到场景当中的属性
unity
unitystorm
UnblocksBlock
1 dirt
Name:小块素材的名字
ID:程序区分(不可重复)
Cutom mesh:自定义mesh,不勾选就是使用自定义的立方体
mesh:指定的mesh
Mesh rotation: 旋转block
(只有指定了自定义的mesh了才科学选择Mesh rotation)
Standard Assets:第一人称控制器
Uniblocks:插件的主体
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:以鼠标为准的方向,一般情况下这个不勾选,勾选了生成方块会以鼠标位置生成取消的话会以准心位置生成)
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;
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:显示边框
取消抗锯齿:
Edit->Project Settings->Quality->Anti Aliasing->Disable
uniblock对voxel进行设置
unichunk对chunk进行设置
block提供了:
Mesh的扩展
面的多样选择
材质的扩展
这里的保存没有勾选的话,走回来生成的地图就不一样(重新生成),有勾选的话就会和原来一样(调用本地的文件)
事件触发:
方块的新增
删除
在coliderEventsSender里面,获取的voxelInfo是本身所在的位置,而实际应该获取的是本身所在位置脚下的那个位置。解决方法,应该是从本身所在的位置往下投影一个射线,得到脚下的位置
onBlockEnter只触发一次