• unity 游戏制作大纲


    开始界面

    1. 游戏数据的保存,和场景之间游戏数据的传递使用 PlayPrefabs;
    2. 场景的分类:
      2.1 开始场景
      2.2 角色选择界面
      2.3 游戏运行的实景,包括村庄、野兽等等

    角色创建面板

    使用 PlayPrefabs 创建预制体,然后再通过脚本实例化生成物体。
    利用 PlayPrefabs 来记录选择的角色类型以及角色名字等信息。

    游戏运行场景

    角色系统

    角色系统是最核心的一个部分.因为涉及很多状态的切换,并且还要多个脚本间协调运行,所以交换状态信息是很有必要的.一开始我没意识到这一点,所以花了特别多的时间来重构我的角色脚本.事实上,直到最后我都没能优化好,因为在这个地方卡太久了.其实学到这个程度,需要的不再是对API的掌握,而是代码系统的架构合理不合理.
    虽然意识到这一点,但是确实对这个练习项目没有太多激情了.之后我要加强这方面的意识,适当地学习一下架构,如何更好地优化代码.

    1. 角色移动和摄像机跟随

    建立角色预制体,挂载角色的运动脚本,实现点击特效、主角朝向、主角移动等等各方面效果。
    角色运动还有一个很关键的地方就是 Animation 的设置。这个暂时还没做,等做出来的时候专门写一篇博客记录一下.

    摄像机跟随可以分为三个部分完成:
    其一,摄像机设置与主角的固定视角。当不涉及旋转视角和拉近拉远操作时,摄像机以一固定的角度和距离跟随主角。
    其二,摄像机拉近与拉远视角操作。
    其三,摄像机旋转视角。旋转视角分为水平旋转和垂直旋转。

    2. 角色攻击及使用技能

    角色攻击有一些属性需要注意:

    1. 攻击间隔
    2. 攻击距离
    3. 攻击力度
    4. 攻击动画

    使用技能也要按照上面的属性来分配.

    任务系统

    分为以下几个步骤:

    1.创建任务NPC.任务NPC管理任务面板的出现和消失.
    2.创建任务面板.任务面板的脚本分为接受任务,提交任务,关闭任务面板等功能.其中任务的接受和提交涉及到任务信息的改动,提交任务的奖励要求任务面板的脚本执行人物信息改变的函数.

    背包系统

    背包系统坑还挺多,专门写了一篇文章记录.这里我主要记录下背包系统的主要思路:

    1. 物品信息管理和录入;
    2. 创建背包和格子,以及物品的预制体,并绑上相应脚本.
    3. 脚本功能要细化和分离,如预制体脚本管理预制体自身的移动,格子脚本管理格子信息,背包脚本统筹整个全局.

    商店系统

    商店系统一个最重要的地方就是商品数据的导入.在这个项目中我们用txt来存储数据,并且用一个公有脚本读取数据入一个Info类中,这个类存储我们所有的商品信息.
    商店系统的另一个地方就是商品信息的展示,包括在Game视图中展示商品图片和数据.这个项目要求商品信息在鼠标指向物品时出现,所以继承了一些接口去实现这个方法.

    装备系统

    装备系统和背包系统在脚本上有很多相似的功能,这样子反而会引发一些坑.如何处理几个代码之间的耦合是一个问题.当然,学习前期最重要的还是完成为主,不要去管太多的细节,等到整体的结构已经完成的时候再去完善细节.
    项目中脚本主要是针对背包中装备的穿戴和卸下.在此处我遇到的有几个坑,那些坑我都写在了另一篇博客上面了.

    技能系统

    技能系统是一个和之前相比更麻烦的模块,而且这个模块也确实学到了很多新的东西.在这个模块中,我用到了比较多的动态加载的思路,包括:创建预制体,绑定脚本,寻找场景物体等等.同时,因为动态加载比较麻烦,所以还经常性需要判断是否成功,写了不少报错的代码.
    技能系统的核心是以下几点:

    1. 技能面板的显示,老生常谈吧,根据不同的角色类型动态加载不同的技能预制体;
    2. 技能快捷键的设置,应用到了动态加载图片,射线穿透判断的思路.这里的射线穿透和之前背包物体的拖动有所不同,我额外写了一篇记录里面的问题.
    3. 技能系统最难的应该是技能的复杂度太大,当你按下一个技能的时候要判断这个技能的类型,根据技能的类型来实现不同的功能;还要判断释放技能的位置是否在怪物目标上.比如主动群体技能是要判断触发体是否触碰到怪物的.说起来不难,但是写起来比较复杂.(这一点很有必要写一篇笔记)

    怪物系统

    怪物系统在这个项目中其实只需要做到两点:

    1. 随机巡逻.
    2. 受伤反击.
      教程中为了处理这两点,使用了一个状态值来控制状态的改变.本质上,怪物与角色都是关于状态的切换问题,区别只是角色的状态切换更复杂一点.
  • 相关阅读:
    Java Web
    Tomcat学习笔记
    Java Web学习笔记(2)
    Java Web学习笔记(1)
    2017-2018-1 Java演绎法 小组会议及交互汇总
    【Alpha版本】冲刺阶段
    【Alpha版本】冲刺阶段
    【Alpha版本】冲刺阶段
    【Alpha版本】冲刺阶段
    【Alpha版本】冲刺阶段
  • 原文地址:https://www.cnblogs.com/ChanWunsam/p/10018304.html
Copyright © 2020-2023  润新知