RimWorld

RimWorld

89 ratings
NareisLib
5
   
Award
Favorite
Favorited
Unfavorite
Mod, 1.4, 1.5
File Size
Posted
Updated
4.979 MB
Jul 5, 2023 @ 11:32am
Nov 14, 2024 @ 11:51pm
5 Change Notes ( view )

Subscribe to download
NareisLib

Description
NareisLib
这是一个基于原版和外星人模组HumanAlienRace的自定义多层级渲染模组
------但是和原版功能重叠,都怪泰南(




1.针对原版的Def定义其图像
例如:
  • 对于一个defName为Test_Hair的HairDef;
  • 我们在另一个xml文件中定义一个MultiTexDef,defName随意,设置其originalDef属性为Test_Hair;
  • 这表示此MultiTexDef是针对这个名为Test_Hair的HairDef创建的,现在它们被关联在了一起;
  • 我们可以在MultiTexDef里设置许多图层,当游戏渲染我们关联的HairDef的时候,就会自动检测到我们在MultiTexDef里定义的图层并一起渲染。
*此为大致举例流程,实际使用请看:wiki操作介绍[github.com]*
可以作用于pawn身上的Def包括:BodyDef,HeadDef,HairDef,Apparel(衣服) ,HandTypeDef



2.自定义多层图像------目前这功能和原版重叠了,都怪泰南(
如字面意思,可以在MultiTexDef中定义多个相同或不同图层的图像;
但在列举图层之前需要先简单了解一些RimWorld对于Pawn(小人)的渲染机制:
  1. RimWorld对于Pawn的渲染主要使用来自Unity引擎的DrawMesh函数;
  2. 一个Pawn大致由两个部分组成,即头(Head)和身子(Body);
  3. 而如同函数字面意思,每个部分对应一种Mesh(网格),贴图需要绘制在Mesh上,Mesh来自游戏内部的网格池或者即时创建;
    ps:原版RimWorld无法渲染非常大的贴图即是因为网格的大小限制;
  4. 原版在绘制网格时,每层网格的间距非常小(小数点后两个零到三个零左右)而在间距小于gpu能处理的最高精度时,将由函数的执行顺序决定渲染顺序(即先执行的在底部);
  5. Rimworld的的渲染轴相较于传统unity游戏的区别是,它使用y轴作为高度轴(正常情况下为z),即x和z为图像的宽和高,y确定该图像的显示高度。
本模组通过对原版的渲染函数进行补充和修改,定义了一些可以指定的图层:
图层高度顺序由上往下递增
  1. BottomOverlay
  2. BottomHair
  3. BottomShell
  4. Body
  5. Apparel
  6. Hand
  7. Head
  8. FaceMask
  9. Hair
  10. FrontShell
  11. HeadMask
  12. Hat
  13. Overlay
其中的Body、Apparel、Head、FaceMask、Hair均为原版Pawn的身体部件,它们分别代表Pawn的身体、服装/装备/头部装备、头、脸妆/胡须、头发,而其他图层则是围绕这几个部件展开的。它们的默认渲染顺序也同上方展示的一致。
以上列出的图层并不是指最多只能设置13个层,以上层所起的作用是确定图层的y轴偏移基准。
通过在xml里指定图像为以上的任意图层,然后修改它的各项属性,由此达到多图层渲染的目的即为本模组的功能。



3.模组加载顺序
  • Harmony
  • Core
  • 各DLC
  • HugsLib
  • Human Alien Races
  • NareisLib(本模组)
  • 使用了NareisLib的模组
理论上未使用NareisLib的模组都可以排在它的前面。



4.已知问题(仅1.4)
与大部分修改了渲染逻辑的模组冲突;
已知冲突的有:
Hats Display Selection (影响帽子/头发渲染)
[CAT]Show Hair With Hats or Hide All Hats (影响帽子/头发渲染)
Combat Extended (影响帽子/头发渲染)
Vanilla Factions Expanded - Pirates (战棺影响全局人物渲染)
Dubs Apparel Tweaks (修改帽子和头发显示的功能影响帽子/头发渲染)
Stylish Rim (影响全局人物渲染)
RJW Animation Framework (影响全局人物渲染)

针对头发渲染部分的不兼容,目前此框架使游戏内的所有头发强制显示,后续会加入自定义设置。
1.5由于更改为与原版一致的渲染逻辑因此上述模组(理论上)是兼容的------谢谢泰南()



5.目前使用了本框架的模组
Annelitrice-3.0



6.关于本框架
Github[github.com]
wiki操作介绍[github.com]
18 Comments
verniy709 Oct 29, 2024 @ 6:59am 
@清蒸五香龙 能不能详细讲一下问题是什么,我这边测试是没有问题。
清蒸五香龙 Oct 27, 2024 @ 9:13am 
似乎1.5的渲染依然与各类帽子显示冲突,使用帽子是否显示的mod后会导致安妮特莉丝渲染出现一些问题。希望可以修复一下。目前看来cat与ab的两种都有问题,别的没有测试。
Oct 26, 2024 @ 11:06am 
大佬NB
Device Oct 26, 2024 @ 5:42am 
张庭秀 Oct 24, 2024 @ 1:43pm 
好呀好呀,爱死你了大佬!
URL Oct 24, 2024 @ 7:52am 
Thx. bro
张庭秀 Oct 21, 2024 @ 6:06am 
支持支持,大佬加油!
青丘白狐殿下 Oct 17, 2024 @ 1:50pm 
好的
kamijouko  [author] Oct 17, 2024 @ 4:57am 
最近会更新(这个月内
青丘白狐殿下 Oct 8, 2024 @ 2:48am 
更新的怎么样了大佬,报一下进度稳一下军心:FlyingFlat: