3D视角的 UI上 (因为可能和文字、Mask等组合)的sprite , 想让其转动 然后受光照影响,
方案一
用 sprite组件,然后shader用 自带的legacy\standard.effect为基础 改了一下,
主要遇到2个问题:
一个顶点算pos时不对,渲染位置 平移了一定空间。 对照sprite的shader代码 改了一下pos的计算, 位置对了。
一个 发现图片发黑, 发现是不受光(场景的环境光当时是黑的), 推测应该是normal 没值(一直是0?), 强制先改成 (0,0,1) 能受光,也能实现漫反射一样的效果了。
编辑器下运行 没问题,但网页上 颜色却发灰, 显示不出图。 暂时无头绪了。
方案二
后来用SpiteRender, 因为之前一直被UI挡住,所以没用它, 发现只要加UIMeshRenderer组件 渲染顺序就对了。
不过光照还是有点问题,normal值不对, 强制改输入normal为 (0,0,1) 好像也正常了?
后面又发现 3D模型 只要加 UIMeshRenderer组件 也会按照UI的渲染顺序。 好像能解决不少问题。
问题
但如果图片想有动效(比如想用spine做), 就又不知道怎么实现了, 估计改造shader也会遇到不少问题。

