# brief
- 介绍tomb raider的level editor.对!只是level editor
- animation、shadergraph、剧情编辑啥的都没说,很有可能就是没有
- 感觉做的最好的还是prefab和concurrrent editing(把level分成slice,降低了冲突)
- 4-7人做了4年,吓死人了,editor确实最难做
- 内置的js scripting system,能用H5做界面挺有意思
# 挖黑历史
- 原来
- c++ + Win32
- FileBased
- Mixed authoring workflow
- monolithic workflow(大家流水线作业)
- 现在
- c# + WPF
- Database oriented
- well defined authoring workflow
- modular workflow
# feature
## the basics
- zone: container of placements, level和object都是zone
- 一些普通用show
- 可以贴地表布置、可以多个选中贴地表移动
- 快速布置空气墙,边缘marker
## concurrent authoring
- 把地图分成slices
- 要edit slice的时候,先从peforce里checkout
- 可以多个人同时checkout一个slice
## modular editing
- 就是说可以拿小的modular制作出大的modular(通俗意义上的模型),类似prefab?
## 和maya之间的来回导
- maya主要负责mesh editing
- horizon是level editor
- 可以把在horizon编辑好的场景导回maya然后调整完后导回
## object build
- 可以在level editor里build一个helicoptor这样的object
- 包括mesh和物理(就用capsule)
## other features
- integrated backup(never loose more than 5 seconds)
- Script console(TA实验用)
- dynamic lighting workflow
# tech and process
- strategy
- quality over quantity
- minimize jumping between tools(希望design in horizon and artists in maya)
- balance long and short term architecture goals
- technical design requirement
- assert often and crash early
- keep interface between c++ and c# minimal well defined
- data is unique statically identifiable(???)
- no arbitrary maximum size for input data(对数据大小有估计?说是只是部分实现了)
- user experience
- 找了个TA当UE director
# coding相关
- static API pattern:个人觉得挺诡异,不应该在manager object上开那些create、modify、delete object的接口吗
- Notification by id:我觉得意思就是说callback不绑定object作为context,而是用个id,因为object可能不存在。。
- reflection、attribute来做command:可以加些declaration和注释,挺好
- 可以用js做scripting,可以快速建立窗口(用H5,临时界面,上面有按钮)。这个有点意思
- 介绍tomb raider的level editor.对!只是level editor
- animation、shadergraph、剧情编辑啥的都没说,很有可能就是没有
- 感觉做的最好的还是prefab和concurrrent editing(把level分成slice,降低了冲突)
- 4-7人做了4年,吓死人了,editor确实最难做
- 内置的js scripting system,能用H5做界面挺有意思
# 挖黑历史
- 原来
- c++ + Win32
- FileBased
- Mixed authoring workflow
- monolithic workflow(大家流水线作业)
- 现在
- c# + WPF
- Database oriented
- well defined authoring workflow
- modular workflow
# feature
## the basics
- zone: container of placements, level和object都是zone
- 一些普通用show
- 可以贴地表布置、可以多个选中贴地表移动
- 快速布置空气墙,边缘marker
## concurrent authoring
- 把地图分成slices
- 要edit slice的时候,先从peforce里checkout
- 可以多个人同时checkout一个slice
## modular editing
- 就是说可以拿小的modular制作出大的modular(通俗意义上的模型),类似prefab?
## 和maya之间的来回导
- maya主要负责mesh editing
- horizon是level editor
- 可以把在horizon编辑好的场景导回maya然后调整完后导回
## object build
- 可以在level editor里build一个helicoptor这样的object
- 包括mesh和物理(就用capsule)
## other features
- integrated backup(never loose more than 5 seconds)
- Script console(TA实验用)
- dynamic lighting workflow
# tech and process
- strategy
- quality over quantity
- minimize jumping between tools(希望design in horizon and artists in maya)
- balance long and short term architecture goals
- technical design requirement
- assert often and crash early
- keep interface between c++ and c# minimal well defined
- data is unique statically identifiable(???)
- no arbitrary maximum size for input data(对数据大小有估计?说是只是部分实现了)
- user experience
- 找了个TA当UE director
# coding相关
- static API pattern:个人觉得挺诡异,不应该在manager object上开那些create、modify、delete object的接口吗
- Notification by id:我觉得意思就是说callback不绑定object作为context,而是用个id,因为object可能不存在。。
- reflection、attribute来做command:可以加些declaration和注释,挺好
- 可以用js做scripting,可以快速建立窗口(用H5,临时界面,上面有按钮)。这个有点意思