• Home
  • About
    • VinChy photo

      VinChy

      饮余马于咸池兮,总余辔乎扶桑

    • Email
    • Github
    • StackOverflow
  • Posts
    • All Posts
    • All Tags
  • Projects

场景编辑器记录

16 Dec 2019

mmorpg手游 Share Tweet +1

概要

在游戏项目的开发过程中,通常都需要一个功能完善的编辑器来协助开发,并依附编辑器形成一套完整的美术、策划、程序共同协作工作的流程,以此明确各个人员的工作内容分工,达到并行开发,提高开发效率的目的。针对本人参与的mmorpg手游项目所使用的编辑器,在这里做一些记录和总结。

开发方案

这套编辑器使用U3D开发,需要在运行模式下使用。这样做的好处是,在运行模式下比较贴近真实游戏中的环境,和实际游戏中的效果发生差异的情况比较小,有利于策划、美术查看资源效果;再者,简化了非程序人员学习U3D使用的精力,减去了先要去了解U3D使用方法的步骤;另外,运行模式也便于编辑器的开发,可以省去一些功能的开发,比如,查看粒子特效效果,运行模式就能直接进行查看了。当然,不可否认的是,同时也会造成一些U3D编辑器自带的功能无法使用,典型的例子就是Scene视图的操作无法使用了。

流程需求

结合项目本身,编辑器所要兼具的流程有:

  1. 资源导入
  2. 资源格式化
  3. 编辑操作
  4. 数据导出

资源导入

对于场景资源这一块,由美术人员在完成地形的编辑(T4M),模型的制作,以及场景灯光的烘培后,将整个场景的资源导出为package,交付给程序人员导入。程序人员在进行场景导入时,需要注意资源所在的目录,尤其是T4M生成的地形,会有对应的T4M资源,需要将资源移动到规定对应的目录,这一场景资源检查步骤还没有比较好的自动化方案,需要人工进行确认;另外的一些模型、特效、界面UI等资源,则由美术人员自己提交到相应的目录下。

资源格式化

提交资源之后,需要对这些资源进行格式化处理。通过执行资源格式化脚本,关闭资源无用属性,并针对不同平台(win、android、ios)进行资源导入设置。再应用这些设置之后,需要将这些资源提交到当前编辑器的SVN,并同步一份到客户端开发工程。格式化所进行的设置有:

  • 关闭lighting相关设置。
  • 贴图导入设置
  • 模型导入设置
  • 音频导入设置

编辑操作

主要提供给策划人员进行场景编辑,以及美术特效人员进行特效的摆放等。主要的编辑操作有:

  • 场景信息编辑:一些琐碎的配置数据,比如角色出生点、场景进入等级、场景类型、允许PK类型等。
  • 区域编辑操作:绘制场景的障碍区、安全区、水区域、游泳区域,以及一些细化的动态区域等。最终将生成用于寻路的数据。
  • 场景对象编辑:布置场景中NPC、怪物、传送点、跳跃点,以及摆放场景中的特效。最终将生成场景对象动态加载的数据。

数据导出

完成场景资源的导入、编辑操作后,需要生成最新的数据导出到项目后台以及客户端开发工程,并进行相应的客户端打包、服务端编译操作,使最新的数据生效。

  • 后台数据:包含场景配置信息,NPC、怪物、传送点、区域列表信息等。
  • 客户端数据
    1. 2进制数据:包含场景的配置信息,用于寻路的区域信息,高度信息等。
    2. lua配置:特效动态加载配置,场景模型动态加载配置。

总结

综上所有流程,编辑器已开发的功能有:

  • 资源格式化工具
  • 场景对象编辑功能
  • 场景区域编辑功能
  • 数据导出功能

随着项目的推进,编辑器也在不断的迭代完善,并逐渐趋于稳定,而稳定的编辑器,又为项目的顺利进行提供了保障。

项目地址

github地址:场景编辑器