近期工作与学习技术总结

  • 色彩表现力
    • 这个是一些小引擎容易忽略的地方. 可能引擎各种功能都有, 但是为什么做出来的东西不够出彩呢? 除去美术自身的原因, 程序也要好好与美术进行沟通. 很多时候美术有一些很不错的想法, 确总是做不出来, 这个就是程序的责任了. 以WOW的技术为一个起始点, 我想可以从这些方面来改善:
      • 法线贴图. 这个只是用来做一些假的几何细节, 最重要的是高光的体现. 不过从另一个角度来说, 高光太多虽然画面看着很"次世代", 但是容易让玩家眼睛疲劳, 需要把握一个度.
      • 更换光照模型. Phone的材质表现力比较有限, 可以尝试使用CookTorrance等其它光照模型
      • RimLight, 增强模型体积感
      • 自发光/Glow等效果应用, 可以做出比较炫丽的灯光效果
      • 颜色精度的控制, 如果想做对比度比较强的色彩, LDR空间是不够的, 需要HDR(float)颜色的支持. 另外, Bloom/HDR的后处理也需要配合时行调整.
      • Gamma校正. 如果不做, 你就会听到美术抱怨: 为什么我画的贴图放到游戏里不打光颜色也会变-_-
      • Color grading, 后期的校色, 有助于美术调整整个场景的气氛
      • 补光, 避免暗面死黑或单调. 一个方向光是不够的
      • 纹理精度, 在保正空间占用尽量小的情况下提高纹理的细节, 可以尝试分mip加载, DXT压缩
      • GI/AO, 至于实时还是预计算, 那是方案问题
      • 次表面散射, 比较适合皮肤, 树叶, 玉石等
  • 物理应用
    • 最近几个月一直断断续续地跟Havok打交道, 越用越喜欢. 无论是代码还是工具, 无论功能还是性能, 都非常不错. 虽然很多游戏没有物理引擎也做得挺好, 但是我觉得很有必要集成的. 总结一下, 大概有这么几个方面可以应用:
      • 碰撞检测. 这几乎是所有集成了物理引擎的人都会去用的, 甚至有些人就是为了碰撞检测才集成的. 很多只是做一下三角面/碰撞体的检测而已, 根本都不加动态的物理模拟
      • 射线查询. 既然有了物理引擎, 这个功能不用白不用
      • 区域触发器. 当地面逻辑上从2D向3D转变时, 事件区域的定义就是一个立体几何体了
      • 刚体模拟. 最典型的, 乒乓球
      • 约束应用. 比如做波斯猴子那种荡竹竿的动作
      • 力场模拟. 比如风, 重力, 浮力等
      • 布料. 这个算是比较高级的应用, 但是很少见游戏用. 除去性能的原因, 就是效果总是不能让美术满意, 他们宁愿用动画做...
      • 破坏. 高级的物理应用了. 评估了Havok Destruction, 共有3种表现: 解体, 破碎, 变形. 当然, 全动态可破碎场景确实很酷, 代价也不小, 不管从金钱上还是人力上. PhysX那个Destruction就是个玩具, 没得比...
      • AI. 其实没有直接关系, 只是3D寻路需要NavMesh的支持, 这个跟物理碰撞是密切相关的.
      • 动画. 很多动画都是可以用物理去模拟, 比如人物Ragdoll, 可以省掉死亡动作. 物理骨骼与骨骼动画的混合, 可以做出比较自然的受击, IK等效果. 还有绳索, 飘带, 头发等模拟, 比直接用动画做效果好得多, 美术成本也可以节省不少
    • 总的来说, 除去碰撞这中传统的物理应用, 与动画的结合才是物理引擎真正能够发挥其表现力的地方, 要想做动作类的游戏, 这一块不得不深入.
  • 时间成本
    • 现在越来越觉得时间才是让人比较容易忽略的因素. 往往天分什么的是次要的.
    • 当技术不再是瓶颈后, 如何有效的去分配自己的时间与别人的时间, 才是值得好好考虑的事情.
    • 做事要考虑成本, 分解成/人/日能做多少事, 把时间用在该用的地方.
    • 代码不值钱, 如果一个程序花一天能节省美术每人十分钟的重复劳动, 那也是值得的. Pipeline的设计, 要从人力成本上考虑, 尽量高效率
    • 大神们不一定是天才, 他们只是把时间更多地花费在他们所专注的事情上, 从另一个方面讲, 他们可能是弱者, 不解风情, 不会享受, 生活打理得很差之类.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值