20220819 1

21号开学,做不了什么东西了,就写写日志吧。

最近算是用上godot了,因为了解过unity所以上手的很快。节点系统看起来一定会是很优美的东西。

这几天试制了摄像机系统和网格显示,效果非常棒;但到单位这块事情就开始变迷茫了,迷茫到自己都不知道在迷茫什么。

一开始我想的solution是:

原单位类:Class→自定义单位脚本:Script→单位节点:3DSprite

其中箭头是继承的关系。

gd节点挂脚本后的变量似乎不和在脚本对应的类有关,而是和节点挂钩,所以可以用这种方案。

现在想了想,再加个继承:

原单位类:Class→自定义单位脚本:Script→单位节点:CSGCube→单位图片:3DSprite

里面那个CSGCube就是单位的碰撞箱,在攻击判定时有用。


在项目结构这方面,目前想法是这样的:

所有场景都继承自模板场景(SLGtemplate),只有环境、单位和场景放在子场景中。

简单概括一下结构树:

  • SLGGame* : Spatial (顾名思义,所有战棋游戏节点的父节点,统筹全局)
    • cameraSystem* : Node (相机系统)
      • Pivot : Spatial (相机支架)
        • Camera : Camera (相机)
    • sceneSystem* : Node (场景系统)
      • general : Node (通用)
        • gridDrawer : MeshInstance (网格绘制器,绘制鼠标附近的网格)
        • GridData : Node (处理网格数据)
    • units : Node (单位)
      • general : Node (通用)
      • unitList : Node (单位列表)

现在是晚上八点二十,我又改主意了,我根本不需要网格数据。网格数据听起来可能合情合理但我觉得实际上太多余了。