Untiy多Pass Shader渲染测试

渲染关系 按照渲染流程取得正确的pass”LightMode”=”ForwardBase”
相同LightMode 标签,按照从上到下依次渲染,每个pass渲染一次,按照 blend 进行混合
前向渲染 主要灯光使用”LightMode”=”ForwardBase”
次要灯光使用”LightMode”=”ForwardAdd”
延迟渲染 使用 “LightMode”=”Deferred”
生成阴影 使用 “LightMode”=”ShadowCaster”,必须有次通道,或者 fallback 的shader中含有此通道,不然无法产生阴影
接受阴影 还没搞清楚(应该和产生阴影类似)

Read More

MMD2FBX分析

             场景 mesh0	 		初音素材mesh0	初音素材mesh1		(不含有光源)				

原始大小(M) 8.43 0.8
未处理
FBX大小(M) 45.3 5.62
顶点数() 58441 11512 5996
多边形() 49432 16154 7200
Batches(+2) 27 40 (空场景含有2个dc)

用3dmax打开重新保存一次不做任何处理
(合计)
3dmax顶点 56746 14009
3dmax面数 49432 23356
FBX大小(M) 14.8 1.55
顶点数() 58441 11512 5996
多边形() 49432 16154 7200
Batches(+2) 27 40

结论:文件体积明显变小。原因可能是MMD4Mecanim生成的fbx含有多余信息。
FBX导出选项 几何体–保留边缘方向 对模型 无明显效果。

移除骨骼

3dmax顶点 56746 14009
3dmax面数 49432 23356
FBX大小(M) 14.7 1.23
顶点数() 58441 11508 6206
多边形() 49432 16154 7200
Batches(+2) 27 40

结论:骨骼对大小和性能影响不大,对于场景文件也可以保留骨骼。

重新分割UV
(合计)
3dmax顶点 56746 14009
3dmax面数 49432 23356
FBX大小(M) 14.8 1.41
顶点数() 58441 11512 5996
多边形() 49432 16154 7200
Batches(+2) 27 41

结论:uv对模型大小和性能影响不大。
uv重叠会对烘焙贴图产生影响,对MMD模型UV重新分割是有必要的。
如果不使用AO贴图UV重分可以省略。
对于MMD shader有些无法在3Dmax里还原,因此没有办法重新制作贴图,所以无法重新分割UV。
(本人对于3dmax不是很了解,如果观点有误请指出)

重要********

建议的顶点数场景顶点应该控制在10k-20K,(视角内,移动端需要更低)
人物顶点控制在500-10K

真机测试:
红米note 模型 chan: 大小1.64m
顶点:9430 面数:13575

场景中:模型1,平行光1 帧数 40-45
场景中:模型2,平行光1 帧数 23-25
场景中:模型3,平行光1 帧数 15-19

好消息是,动作和简单的物理使用不会掉帧。
视角内同时超过100K个顶点会直接卡死。(100K是个估算值值)
场景中的平行光会让顶点数增加5-10倍,原因不清楚(有了解的朋友希望告知)

结论,对于模型应该准备不同的Mesh,使用LOD group进行优化。
PC端并不需要。

MultiRes优化:(优化要在重新分割UV前进行)
步骤:将模型按照正反面和主次程度分成若干部分。
使用MultiRes修改器进行优化
参数:网格内部顶点合并阈值0.1(自行调整)勾选材质边界线保留基础顶点多顶点法线角度75
点击生成,(机器差可能会出现未响应,耐心等待)
调节顶点百分比(35%一下开始出现接缝缺面,要自行把握)
点击生成完成优化。

逐一完成各个部分,重要部分轻度优化,内面和次要部分可以重点优化。

特别注意圆面,使用优化修改器优化,有的时候会把圆心顶点优化掉。
通常不要把圆面和关联部分分开,扇形面会被优化成三角面产生缝隙。

重新

                                   (合计)

3dmax顶点 56746 14009
3dmax面数 49432 23356
FBX大小(M) 14.8 1.41
顶点数() 58441 11512 5996
多边形() 49432 16154 7200
Batches(+2) 27 41
结论:uv对模型大小和性能影响不大。
uv重叠会对烘焙贴图产生影响,对MMD模型UV重新分割是有必要的。
如果不使用AO贴图UV重分可以省略。
对于MMD shader有些无法在3Dmax里还原,因此没有办法重新制作贴图,所以无法重新分割UV。
(本人对于3dmax不是很了解,如果观点有误请指出)

小说设定

翼人 羽
海人 汐
境力

三个维度 波动 粒子 能量

各种魔导书,如果写上去的文风和书吻合就会生效,写上的故事就会成为现实

为什么魔法需要吟唱?

  • 基本原理:释放法术需要聚集魔法元素。把大量的魔法元素按照一定的波动和频率组合在一起,形成魔法。
  • 条件:一个法术越复杂越强大,需要的的魔力越多,波动频率变化越剧烈额和复杂,释放难度越高。释放法术本身并不需要咒语参与。

天才般的创意:

一位伟大的魔法先贤为了解决法术释放的难题,发明了咒语。

咒语的基本原理

  1. 准备阶段: 释放目标法术时开始时,不直接创建目标法术,而改为先释放一个固定法术重排魔法】(先贤专门创建的,顾名思义功能是魔法元素重新排列*),也就是现代魔法的统一起手式。
  2. 然后将目标法术拆分成多个片段。
    例如:
    • 水球术拆分为 水汽聚集发射两个片段。
    • 火球术拆分为 燃素聚集闪烁火花,气体形态固定发射四个片段。
      显然:魔法片段在多个法术中相同,现代魔法师已经由法术学习改为更先进的法术片段学习,效率更高。
      而且:拆分工作可以提前准备好,不必在施法时进行。
  3. 创建法术片段: 吟唱一个音节用来代表施法者接下来创建的魔法元素波动和频率。这个片段与目标法术的真实魔法元素顺序无关。你可以更自由的决定施法顺序。
  4. 重排: 完成目标法术所需片段(当然,施法者愿意创建许多没用的片段也行,没人在乎)。根据之前吟唱的音节对片段和起始阶段的【重排魔法】对片段重新排列。这个时候已经不需要在吟唱了。
  5. 完成目标法术。

根据以上思路:后来的魔法师进行了更多的扩展。

  • 因为施法可以分片:

    • 发明了组合魔法,由多个施法者共同完成一个法术。
    • 发明了复合魔法,尝试融合片段,将不同法术融合在一起。风系加速术 + 水球术 = 加速水球术
  • 因为阶段3创建法术片段顺序无关,所以施法者可以根据施法时当地当时的魔法元素环境,选择更合适创建的片段。水元素潮汐高涨时创建水系片段,风元素潮汐高涨时创建风元素片段。

  • 因为法术可以拆分,除了通用法术,每个魔法学院都有自己的拆分方法,更合理的拆分,带来更强大的力量,导致这些魔法学院声名鹊起。

  • 因为法术可以拆分:理论上片段可以无限短,片段的可重复利用性就更强,但是法术总长度不变,片段越短,所需要的片段越多。所以同一个法术,高冷的魔法师就两字,娘炮的魔术师磨磨唧唧吟唱一堆。

  • 高阶魔法师都会快排。

    重点:因为吟唱的音节与实际法术无关,所以你可以使用任意台词,巨特么帅啊!!!

吐槽

  • 磨磨唧唧吟唱一堆的是C系魔法师,简单吟唱两句的是Py魔法师
  • 像司波大爷就是用的py,平时准备一堆库,需要的时候直接调用。
  • 高级语言需要物理引擎比如魔杖才能发动。
  • 敌法师的攻击方式就是删库跑路。
  • 快排不稳定
  • 还有一种说法是,吟唱是为了固定魔力,单纯靠想象构造魔法,容易引发魔力泄露–越界了小伙纸

赛博朋克

等以后每个社畜发几个AI老婆,都安安心心加班
你这么说我突然有个点子:赛博朋克2088,人类已成为少数种,AI为了圈养人类,给每个人类都发了下等AI,AI中的贵族阶级垄断了芯片,并宣扬AI的阶级不由计算力决定而由神决定。主角为了拯救下等AI少女展开了与世界对抗的旅途……
下等少女一直尝试超频而导致芯片寿命降低,引起了高层的注意,并决定销毁少女。而这一切竟然都是英伟达的阴谋