这里算是前一段工作中的一个小教训。
对于engineer来说,主要工作在于算法的实现,机制的建立,然后把接口开放给artist或者designer,这个没问题。
lesson:
在调节出production级别的效果的情况下,才算是实现的一个结束。
连续几个东西给我的教训就是在做一个没有做过的,尤其是没有可以参考的未知东西的时候,机制的实现到一个比较令人满意的效果之间还有很大的距离,尽管这部分工作可能不是那么的困难,但是在掉以轻心的情况下,耗时却不低,做计划的时候一定要把这一块考虑进去。
然后是和artist的交流问题,在做一些artist不熟悉的东西的时候,一定要和artist一道把东西调出来,这个过程中把内部的机制讲解清楚。
这个过程中我也遇到一个疑问:把参数放出去,然后告诉什么意思不就行了么?
这种情况只是适用于美术已经了解这个feature的实现机制前提下可以,比如normalmapping, rim lighting大家耳熟能详,心里想的效果,立刻就知道应该调节什么。
但是如果不是理解的很清楚就会有:
- 不知道其中蕴含的技术点是那些
- 不知道每个技术点能带来的最棒的效果是什么样
- 不知道能做到什么程度----无法展现出最佳效果,artist应该做的是在最佳效果前提下去调节风格
- 想改一个效果的时候抓不住关键点,倾向于试参数的方法,这就像打boss的时候最伤血的亮点摆在那里,我们却拿着霰弹乱打其他地方,显然不给力还速度慢----很低的工作效率
engineer这边也会犯一些错误:
- 有些参数没有必要去open,否则反而给artist增加理解的难度,搞不好就是调了个莫名其妙的效果出来
- open的参数不够确切
简而言之,达到恰到好处,少而精是关键。
这两点的达成需要在prototype收尾阶段,engineer和artist一起调节做到artist充分理解技术,engineer恰到好处的open参数和接口,效果达到了一个标杆给接下来的工作或者演示有很好的知道作用。这时候文档log什么的做齐,prototype结束。
小结:
实际开发和自己练习算法写demo有几点不同:
开发:
- 关心效果好性价(运行效率,开发时间)比高,技术含量只有在带来前两者的进步前提下才有意义。
- 关心数据制作效率高
练习技术的demo:
- 主要集中在技术上
两者侧重点不同,做的时候甚至选择的时候也截然不同,开发更像街头乱战,大量的不可预料的事情产生,尤其是对于完全原创的feature。
天下武功,无坚不破,唯快不破,保证质量的前提下做的快会让一切事情容易很多。