六六の魔法世界

注册

引擎技术贴 - 技术分享 - 模型技术贴 - 2021年8月30日

Obj normal 转/存 tangent

Obj 怎么把 normal 转/存 tangent

微信公众号 HYTN
Q群369748859

  • k神:
    ash,obj怎么把 normal存tangent,但他们说可以dcc里干,obj里没有tangent信息啊,dcc里怎么干

    1. 虾哥:
      直接第三方转不行吗?houdini是可以,直接复制。

      多么沙雕的操作,是跟着面走的

      一个节点完事
      k神:
      不是说咋转,转多好转啊,是说咋用obj存
      射惠虾:
      obj可以保存切线?
      k神:
      对啊,我不也在问这个吗
      射惠虾:
      你写进顶点色或者uv试试
      k神:
      所以他们用dcc干这个事情总不能自己造一个格式去引擎load吧
      射惠虾:
      unity识别负数吗

      这样子咋样,就写进uv呗
      k神:
      那句 把第二套法线存入tangent通道,只是单纯的说把法向量分解成切线空间下的二维向量,没说存哪,存哪我们自己想,是这个意思?
      射惠虾:
      只要输出引擎可读数据就行吧,反正到shader里面都要重新组合的
      k神:
      那也不能把uv通道用了啊。。
      射惠虾:
      第二套uv啊,第一套我没动他,反正都是倒腾各种数据啥的
      k神:
      那到可以
  1. ash:
    Maya里可以自己计算切线。有切线了你就存UV里。先把法线转换到切线空间再把B通道去掉,这样就跟UV一样只有2个通道了。
    k神:
    但obj里uv点和vertex点数不一样吧,虽然unity里是一样的
  2. 卡布奇诺的咖啡:
    写个FBX的导出插件,我之前使用FBX Extension处理的,我之前存的是顶点色
    k神:
    fbx可以存切线哇?咖啡
    咖啡:
    应该可以吧
  • 题外知识点

    破石头:
    存切线是要做什么?在引擎里拿法线算不就好了0 0
    k神:
    引擎里也能算,主要dcc方便美术diy