版权声明

  • 本文为“优梦创客”原创文章,您可以自由转载,但必须加入完整的版权声明
  • 更多学习资料请加QQ:1517069595获取(企业级性能优化/Shader特效/热更新/shader特效/服务器/商业项目实战/每周直播/一对一指导)

我们的建造系统要实现的目标:

  • WASD在地图上移动
  • 按1~6键切换建造单位类型
  • 建筑单元可占据多个网格
  • 左键按下执行建造(有建造效果)
  • R键且换建造方向
  • 右键按下销毁建在单位
  • 不能重叠建造

定义基础网格数据结构


定义建筑预制体,点击创建实例

点击创建实例

解决创建位置重叠

只能创建在网格内(不能横跨)

  • 根据鼠标位置得到网格位置
  • 从而确保绘制在网格内
  • 思考:如何从鼠标位置得到网格位置?

确保不能重叠建造


配置各建筑单位的数据

解决跨网格建筑单位重叠


解决方法:

  • 获取建筑单位占据的所有网格坐标(如何实现?)
  • 根据网格坐标找到网格对象
  • 将这些网格对象都设置为被正在创建的建筑物占据
  • 思考:如何实现GetPositionList?

使建筑单位创建方向可旋转(难点)

定义旋转轴(在Step2)

  • 定义当前方向
  • 定义旋转规则
  • 如何保持在同一个网格区域内旋转?
  • 思考如何实现:
    • GetNextDir
    • GetRotationOffset
    • GetRotationAngle

按键切换建筑单位种类


  • 建立一个建筑单位种类列表
  • 默认新建第0个种类的建筑

建立建筑放置预览效果



  • GridObject改为存放PlaceObject
  • 存储PlaceObject到GridObject

右键清除预览对象

运用放置效果

商业进阶

  • 如何实现建筑单位升级?
  • 升级系统(数据配置、UI界面、升级逻辑、服务器交互…)
  • 如何实现建筑单位的AI?
  • 建筑单位的抽象化:
  • 怪物:自动战斗
  • 角色:自主行为(休息、工作、娱乐、生活)、与场景内道具单位(如驾驶设施)的交互
  • 设施:自动穿行的出租车、游乐场设施等
  • 资源:可开采物、可拾取道具、障碍…
  • 如果有成百上千个建筑呢?
  • 如果不同的玩家类型可以建造的建筑类型不同呢?
  • 如何增加建造游戏单元的UI操作界面?
  • 如何联网游玩?


更多学习资源请加QQ:1517069595获取(/企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)
完整视频可以点击B站链接:https://www.bilibili.com/video/BV1TK4y1g7Se

如何实现网格建造系统相关推荐

  1. Bootstrap研究1-精巧的网格布局系统

    Bootstrap研究1-精巧的网格布局系统 本网格布局系统属于Scaffolding(框架,布局)部分.在Scaffolding里面有(固定)网格布局(Grid System)和流式网格布局(Flu ...

  2. 一个架构师的价值在于,他不仅能看到系统的美,而且能够在建造系统的时候能够把这些美创造出来...

    一 每个好架构师都是一位出色的程序员(卓越的程序员) 架构师,听起来是如此神秘的一个称号.尤其是在开发领域刚入门不久的菜鸟级程序员眼中,架构师都是高手,都是牛人,都是如此高高在上的存在. 不过,在搞了 ...

  3. Unity 网格建造

    网格建造 游戏中常见的建造方式,目前在做的游戏中需要. 但搜出来的教程比较少,我又是个英文盲,没找到合适的方法,于是瞎研究了一个,说实话也挺简单的. 整体感觉还行,演示: 教程 变量 先定义几个变量 ...

  4. 云服务器unity,Unity 离线建造系统

    Unity 离线建造系统 很多游戏,特别是养成类手游,都会有自己独特的建造系统,一个建造装置的状态循环或者说生命周期一般是这样的: 1.准备建造,设置各项资源的投入等 2.等待一段倒计时,正在建造中 ...

  5. NOKOV动作捕捉系统使多场协同无人机自主建造成为可能

    近年来,工业机器人的兴起使得建造的效率和安全性得以提升,但由于机器人由于大小与活动范围的限制,在大型建筑上难以施展拳脚.上海同济大学建筑系的无人机自主建造小组,正在进行以无人机取代工业机器人进行空中建 ...

  6. QSplat: 基于多分辨率处理大规模网格的点绘制系统(完整版翻译)

    QSplat: 基于多分辨率处理大规模网格的点绘制系统(完整版翻译) Szymon Rusinkiewicz Mark Levoy 斯坦福大学计算机图形学实验室 Rusinkiewicz,S. and ...

  7. 三维网格精简算法java版_ISMAR 2020 | 商汤提出手机端实时单目三维重建系统

    导读:商汤研究院和浙江大学CAD&CG国家重点实验室合作研发了一个手机端实时单目三维重建系统Mobile3DRecon.与现有的基于RGBD的在线三维重建或离线生成表面网格的系统不同,该系统结 ...

  8. Bootstrap研究2-布局系统杂记

    Bootstrap研究2-布局系统杂记 上一篇文字Bootstrap研究1-精巧的网格布局系统,里面谈到了使用固定grid布局的原理和操作实践.关于布局部分还有一些要交代,权且凑为一篇. 除了固定网格 ...

  9. html 滑动网格列表,网格列表

    网格列表由一系列的单元格构成,它通常用于展示相册.它可以和网格布局系统配合使用进行布局. 调用方式 网格列表组件使用纯 CSS 编写,只需编写 HTML 代码即可生效. 相关资料 样式 基本样式 操作 ...

最新文章

  1. Hinton口中破解宇宙终极秘密的GPT-3厉害在哪?这有篇涂鸦详解
  2. iOS开发 -------- AFNetworking使用中遇到的小问题
  3. 联想扬天T4900v开启VT-x方法
  4. 垃圾代码还能出圈?手把手教你写垃圾代码,从入门到精通!
  5. mysql、oracle知识点总结
  6. java中如何使用反射调用方法以及获得类中的属性
  7. C++常类型(const)
  8. 网络基础之网络模型及各分层的设备
  9. 分布式存储系统设计 - Gossip
  10. 进行java环境设置的原因_java环境变量的设置原因
  11. keil流水灯c语言程序两个一起亮,Keil单片机点亮一个灯及循环流水灯三种实现方法详解...
  12. 使用SimpleDateFormat出现时差
  13. 用计算机编程解决土方调配,LINGO在土方调配计算问题应用.doc
  14. 【暴力破解】medusacrowbar工具
  15. 有什么好的搜图软件推荐吗?
  16. moment格式化时间
  17. 教你怎么在 Mac 电脑上进行语音实时输入
  18. 上云 企业 过程_企业上云的步骤
  19. docker容器安装配置及创建容器
  20. 微信小程序自定义选中样式打小勾

热门文章

  1. 熊猫“二代”在广州迎首个农历新年
  2. 批处理添加iis wpg、users对IIS的访问权限
  3. 如何关闭苹果手机自动扣费_如果你用的是苹果手机,那这个功能必须关闭,否则每月会自动扣费...
  4. 互联网的厕所,当代人灵魂的临时栖息所
  5. 倒水问题:给定两个没有刻度的容器,对于任意给定的容积,求出如何只用两个瓶装出L升的水,如果可以,输出步骤,如果不可以,输出no solution
  6. ubuntukylin VMtools安装/共享文件夹的使用
  7. mysql安装服务:Internal error (值不能为null.参数名:path1)The installer will now close
  8. 上学吧视频超市是什么?主要是干什么的?
  9. autorecover mac的ppt_恢复Mac上ppt文件:macppt没保存怎么恢复?
  10. H5 table表格中td和th设置不了宽度,min-width,max-width无用