ItemDisplayPlacementHelper
A mod/tool for item/character devs to simplify work with IDRS placement
截圖 共 8 張
模組介紹 作者原文
Description
A mod/tool to simplify process of item display placement for item/character developers.
General usage
Enter editing scene
First of all, you need to enter special scene where everything happens. This can be done by pressing F2 (You need to be in the main menu).
Pick a model
You can search for a model by localized name, body object name or model object name.
By default only models that are visible in logbook are included in list, but you can include everything from BodyCatalog by toggle Inlude all bodies from BodyCatalog.
Select DisplayRuleGroup to work with
You can search for an item/equipment by name.
Each item display can be enabled/disabled by clicking on corresponding checkbox.
Only one equipment display can be enabled at a time, so if you enable new equipment old one will be disabled.
Click on a gear to start/end item display placement (All changes will be lost when you disable item display, so be careful with that).
- Enable all - enable all item displays for current model (except equipment)
- Disable all - enable all item displays for current model (inluding equipment)
Select ItemDisplayRule
Click on a row with item display prefab name to start edit it.
Edit ItemDisplayRule
You can type in values in corresponding fields to see how item display will look on a character.
Or you can use Unity-like item editing on the scene:
Moving
Rotating
White circle will rotate object around to camera view axis.
Scaling
Gray cube in center will scale all axes simultaneously.
Copy values
When you placed your item where you want you can copy values for that position by clicking Copy IDR values button to paste these values in your code.
You can change copy format by clicking on the gear icon next to Copy IDR values
Available formats
- Block
Copied values will look something like that:
childName = "Head",
localPos = new Vector3(-0.0007F, 0.1699F, 0.028F),
localAngles = new Vector3(332.5399F, 359.8748F, 0.0883F),
localScale = new Vector3(0.7228F, 0.7228F, 0.7228F)
- Inline
Copied values will look something like that:
"Head", new Vector3(-0.0007F, 0.1699F, 0.028F), new Vector3(332.5399F, 359.8748F, 0.0883F), new Vector3(0.7228F, 0.7228F, 0.7228F)
- ForParsing
Copied values will look something like that:
Pelvis,-0.203,-0.058,0.058,63.11126,330.4519,181.0795,0.85025,0.85025,0.85025
- Custom
You can make your own format by using placeholders to specify where values should be placed.
Placeholders description
{m:childName} - Child name as "string"*
{m:modelName} - Model GameObject name as "string"*
{m:bodyName} - Body GameObject name as "string"*
{m:localPos.z:X} - Local position as new Vector3(...)*
{m:localAngles.z:X} - Local rotation as new Vector3(...)*
{m:localScale.z:X} - Local scale as new Vector3(...)*
{m:itemName} - ItemDef/EquipmentDef name as "string"*
{m:objectName} - Current IDR GameObject name as "string"*
{m:ruleType} - Rule type as ItemDisplayRuleType.Type*
{m:limbMask} - Limb mask as LimbFlags.Flags*
{m:guid} - FollowerPrefab's guid in Addressables as "string"*
{m:assetBundle} - FollowerPrefab's AssetBundle name as "string"*
{m:assetPath} - FollowerPrefab's asset path in the AssetBundle as "string"*
{m:skinName} - Selected skin name as "string"*
m: - Modificator for the output value. Available options:
- r - Output raw value:
- For a string will not add " around the value
- For a Vector3 fields will not add F after the value:X - Maximum digits after the decimal point. If not specified 5 will be used e.g. {localPos} is the same as {localPos:5}.z - For Vector3 fields you can access individual fields, not specifying any will print new Vector3(...)
Top panel
ConfigureSensitivity
- Fast Coefficient - camera movement speed multiplier when holding SHIFT
- Slow Coefficient - camera movement speed multiplier when holding CTRL
Enable fade
Toggle fade when you are close to objects.
Enable time
Toggle TimeScale between 0 and 1.
DynamicBones ignore TimeScale
Toggle if DynamicBones should work whe
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: