20220819 1
21号开学,做不了什么东西了,就写写日志吧。
最近算是用上godot了,因为了解过unity所以上手的很快。节点系统看起来一定会是很优美的东西。
这几天试制了摄像机系统和网格显示,效果非常棒;但到单位这块事情就开始变迷茫了,迷茫到自己都不知道在迷茫什么。
一开始我想的solution是:
原单位类:Class→自定义单位脚本:Script→单位节点:3DSprite
其中箭头是继承的关系。
gd节点挂脚本后的变量似乎不和在脚本对应的类有关,而是和节点挂钩,所以可以用这种方案。
现在想了想,再加个继承:
原单位类:Class→自定义单位脚本:Script→单位节点:CSGCube→单位图片:3DSprite
里面那个CSGCube就是单位的碰撞箱,在攻击判定时有用。
在项目结构这方面,目前想法是这样的:
所有场景都继承自模板场景(SLGtemplate),只有环境、单位和场景放在子场景中。
简单概括一下结构树:
- SLGGame* : Spatial (顾名思义,所有战棋游戏节点的父节点,统筹全局)
- cameraSystem* : Node (相机系统)
- Pivot : Spatial (相机支架)
- Camera : Camera (相机)
- Pivot : Spatial (相机支架)
- sceneSystem* : Node (场景系统)
- general : Node (通用)
- gridDrawer : MeshInstance (网格绘制器,绘制鼠标附近的网格)
- GridData : Node (处理网格数据)
- general : Node (通用)
- units : Node (单位)
- general : Node (通用)
- unitList : Node (单位列表)
- cameraSystem* : Node (相机系统)
现在是晚上八点二十,我又改主意了,我根本不需要网格数据。网格数据听起来可能合情合理但我觉得实际上太多余了。
