Merge branch 'main' of ssh://git.lilyy.gay/lillith/SharedVRCStuff
This commit is contained in:
commit
95b05f9a14
25 changed files with 6747 additions and 3 deletions
8
Deira Manual Gestures.meta
Normal file
8
Deira Manual Gestures.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 427c392dca21e4947ad9dc3872ba0db3
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
6068
Deira Manual Gestures/Manual Expressions FX.controller
Normal file
6068
Deira Manual Gestures/Manual Expressions FX.controller
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9c2e6d1bfd782264fba30d2a9a9228ef
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
76
Deira Manual Gestures/Manual Expressions Next.asset
Normal file
76
Deira Manual Gestures/Manual Expressions Next.asset
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: -340790334, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3}
|
||||
m_Name: Manual Gestures Next
|
||||
m_EditorClassIdentifier:
|
||||
Parameters: {fileID: 11400000, guid: 465c429fc22a98b4e987f0f36c97d6db, type: 2}
|
||||
controls:
|
||||
- name: Kirakira
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 7
|
||||
style: 0
|
||||
subMenu: {fileID: 0}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: Lewd
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 8
|
||||
style: 0
|
||||
subMenu: {fileID: 0}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: Rage
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 9
|
||||
style: 0
|
||||
subMenu: {fileID: 0}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: Smile
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 10
|
||||
style: 0
|
||||
subMenu: {fileID: 0}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: Surprise
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 11
|
||||
style: 0
|
||||
subMenu: {fileID: 0}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: Wink
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 12
|
||||
style: 0
|
||||
subMenu: {fileID: 0}
|
||||
subParameters: []
|
||||
labels: []
|
||||
8
Deira Manual Gestures/Manual Expressions Next.asset.meta
Normal file
8
Deira Manual Gestures/Manual Expressions Next.asset.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 77d4b3fe64c721c42943fea5019cea16
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
21
Deira Manual Gestures/Manual Expressions Params.asset
Normal file
21
Deira Manual Gestures/Manual Expressions Params.asset
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: -1506855854, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3}
|
||||
m_Name: Manual Expressions Params
|
||||
m_EditorClassIdentifier:
|
||||
isEmpty: 0
|
||||
parameters:
|
||||
- name: ManualGestures
|
||||
valueType: 0
|
||||
saved: 1
|
||||
defaultValue: 0
|
||||
networkSynced: 1
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 580f932906bb5814e9706d200902099e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
96
Deira Manual Gestures/Manual Expressions.asset
Normal file
96
Deira Manual Gestures/Manual Expressions.asset
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: -340790334, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3}
|
||||
m_Name: Manual Gestures
|
||||
m_EditorClassIdentifier:
|
||||
Parameters: {fileID: 11400000, guid: 465c429fc22a98b4e987f0f36c97d6db, type: 2}
|
||||
controls:
|
||||
- name: Idle
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 20
|
||||
style: 0
|
||||
subMenu: {fileID: 11400000, guid: 77d4b3fe64c721c42943fea5019cea16, type: 2}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: Bored
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 1
|
||||
style: 0
|
||||
subMenu: {fileID: 0}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: Cheeky Smile
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 2
|
||||
style: 0
|
||||
subMenu: {fileID: 0}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: CloseEye
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 3
|
||||
style: 0
|
||||
subMenu: {fileID: 0}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: Cry
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 4
|
||||
style: 0
|
||||
subMenu: {fileID: 11400000, guid: 77d4b3fe64c721c42943fea5019cea16, type: 2}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: Fluster
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 5
|
||||
style: 0
|
||||
subMenu: {fileID: 0}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: Grimace
|
||||
icon: {fileID: 0}
|
||||
type: 102
|
||||
parameter:
|
||||
name: ManualGestures
|
||||
value: 6
|
||||
style: 0
|
||||
subMenu: {fileID: 0}
|
||||
subParameters: []
|
||||
labels: []
|
||||
- name: Next
|
||||
icon: {fileID: 0}
|
||||
type: 103
|
||||
parameter:
|
||||
name:
|
||||
value: 1
|
||||
style: 0
|
||||
subMenu: {fileID: 11400000, guid: 77d4b3fe64c721c42943fea5019cea16, type: 2}
|
||||
subParameters: []
|
||||
labels: []
|
||||
8
Deira Manual Gestures/Manual Expressions.asset.meta
Normal file
8
Deira Manual Gestures/Manual Expressions.asset.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b1b4d9aa0e7225e468c63bf311381187
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
121
Deira Manual Gestures/Manual Expressions.prefab
Normal file
121
Deira Manual Gestures/Manual Expressions.prefab
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1401281518449365313
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3124411546753572658}
|
||||
- component: {fileID: 8773857123632308849}
|
||||
m_Layer: 0
|
||||
m_Name: Manual Gestures
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3124411546753572658
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1401281518449365313}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 1
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8773857123632308849
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1401281518449365313}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d9e94e501a2d4c95bff3d5601013d923, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
version: 3
|
||||
unityVersion: 2022.3.22f1
|
||||
vrcfuryVersion: 1.1151.0
|
||||
somethingIsBroken: 0
|
||||
config:
|
||||
features: []
|
||||
content:
|
||||
rid: 1818413120295272595
|
||||
references:
|
||||
version: 2
|
||||
RefIds:
|
||||
- rid: 1818413120295272595
|
||||
type: {class: FullController, ns: VF.Model.Feature, asm: VRCFury}
|
||||
data:
|
||||
version: 4
|
||||
controllers:
|
||||
- controller:
|
||||
version: 1
|
||||
fileID: 0
|
||||
guid:
|
||||
id: 9c2e6d1bfd782264fba30d2a9a9228ef|Assets/Deira Manual Gestures/Manual
|
||||
Gestures FX.controller
|
||||
objRef: {fileID: 9100000, guid: 9c2e6d1bfd782264fba30d2a9a9228ef, type: 2}
|
||||
type: 5
|
||||
menus:
|
||||
- menu:
|
||||
version: 1
|
||||
fileID: 0
|
||||
guid:
|
||||
id: b1b4d9aa0e7225e468c63bf311381187|Assets/Deira Manual Gestures/Manual
|
||||
Gestures.asset
|
||||
objRef: {fileID: 11400000, guid: b1b4d9aa0e7225e468c63bf311381187, type: 2}
|
||||
prefix: Manual Gestures
|
||||
prms:
|
||||
- parameters:
|
||||
version: 1
|
||||
fileID: 0
|
||||
guid:
|
||||
id: 580f932906bb5814e9706d200902099e|Assets/Deira Manual Gestures/Manual
|
||||
Expressions Params.asset
|
||||
objRef: {fileID: 11400000, guid: 580f932906bb5814e9706d200902099e, type: 2}
|
||||
smoothedPrms: []
|
||||
globalParams:
|
||||
- ManualGestures
|
||||
allNonsyncedAreGlobal: 0
|
||||
ignoreSaved: 0
|
||||
toggleParam:
|
||||
rootObjOverride: {fileID: 0}
|
||||
rootBindingsApplyToAvatar: 0
|
||||
rewriteBindings: []
|
||||
allowMissingAssets: 0
|
||||
injectSpsDepthParam:
|
||||
injectSpsVelocityParam:
|
||||
controller:
|
||||
version: 1
|
||||
fileID: 0
|
||||
guid:
|
||||
id:
|
||||
objRef: {fileID: 0}
|
||||
menu:
|
||||
version: 1
|
||||
fileID: 0
|
||||
guid:
|
||||
id:
|
||||
objRef: {fileID: 0}
|
||||
parameters:
|
||||
version: 1
|
||||
fileID: 0
|
||||
guid:
|
||||
id:
|
||||
objRef: {fileID: 0}
|
||||
submenu:
|
||||
removePrefixes: []
|
||||
addPrefix:
|
||||
useSecurityForToggle: 0
|
||||
7
Deira Manual Gestures/Manual Expressions.prefab.meta
Normal file
7
Deira Manual Gestures/Manual Expressions.prefab.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 947438966fe00b9438d7bc2d9de89fad
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
EditorNotes.meta
Normal file
8
EditorNotes.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b46f5926760e80147ae27026dcffc881
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
67
EditorNotes/EditorNote.cs
Normal file
67
EditorNotes/EditorNote.cs
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
using UnityEngine;
|
||||
using VRC.SDKBase;
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
#endif
|
||||
|
||||
namespace gay.lilyy.EditorNotes {
|
||||
|
||||
public class EditorNote : MonoBehaviour, IEditorOnly
|
||||
{
|
||||
public enum ValueType { Int, Float, Vector3, String, All, None }
|
||||
|
||||
public ValueType valueType = ValueType.Int;
|
||||
|
||||
public int intValue;
|
||||
public float floatValue;
|
||||
public Vector3 vector3Value;
|
||||
|
||||
public string stringValue;
|
||||
|
||||
[TextArea]
|
||||
public string note;
|
||||
}
|
||||
|
||||
#if UNITY_EDITOR
|
||||
|
||||
[CustomEditor(typeof(EditorNote))]
|
||||
public class EditorNoteInspector : Editor
|
||||
{
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
var script = (EditorNote)target;
|
||||
|
||||
script.valueType = (EditorNote.ValueType)EditorGUILayout.EnumPopup("Type", script.valueType);
|
||||
|
||||
switch (script.valueType)
|
||||
{
|
||||
case EditorNote.ValueType.Int:
|
||||
script.intValue = EditorGUILayout.IntField("Int Value", script.intValue);
|
||||
break;
|
||||
case EditorNote.ValueType.Float:
|
||||
script.floatValue = EditorGUILayout.FloatField("Float Value", script.floatValue);
|
||||
break;
|
||||
case EditorNote.ValueType.Vector3:
|
||||
script.vector3Value = EditorGUILayout.Vector3Field("Vector3 Value", script.vector3Value);
|
||||
break;
|
||||
case EditorNote.ValueType.String:
|
||||
script.stringValue = EditorGUILayout.TextField("String Value", script.stringValue);
|
||||
break;
|
||||
}
|
||||
if (script.valueType == EditorNote.ValueType.All) {
|
||||
script.intValue = EditorGUILayout.IntField("Int Value", script.intValue);
|
||||
script.floatValue = EditorGUILayout.FloatField("Float Value", script.floatValue);
|
||||
script.vector3Value = EditorGUILayout.Vector3Field("Vector3 Value", script.vector3Value);
|
||||
script.stringValue = EditorGUILayout.TextField("String Value", script.stringValue);
|
||||
}
|
||||
|
||||
EditorGUILayout.LabelField("Note");
|
||||
script.note = EditorGUILayout.TextArea(script.note);
|
||||
|
||||
if (GUI.changed)
|
||||
EditorUtility.SetDirty(script);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
11
EditorNotes/EditorNote.cs.meta
Normal file
11
EditorNotes/EditorNote.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 353cc3d6f30a43a4689be04e919b90f0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
16
EditorNotes/EditorNotes.asmdef
Normal file
16
EditorNotes/EditorNotes.asmdef
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"name": "EditorNotes",
|
||||
"rootNamespace": "",
|
||||
"references": [
|
||||
"GUID:3456780c4fb2d324ab9c633d6f1b0ddb"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
7
EditorNotes/EditorNotes.asmdef.meta
Normal file
7
EditorNotes/EditorNotes.asmdef.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a65a5779a3702144986d83fca255f5da
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
10
EditorNotes/GameObjectReference.cs
Normal file
10
EditorNotes/GameObjectReference.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
using UnityEngine;
|
||||
using VRC.SDKBase;
|
||||
namespace gay.lilyy.EditorNotes {
|
||||
public class GameObjectReference : MonoBehaviour, IEditorOnly
|
||||
{
|
||||
public GameObject gObject;
|
||||
[TextArea]
|
||||
public string note;
|
||||
}
|
||||
}
|
||||
11
EditorNotes/GameObjectReference.cs.meta
Normal file
11
EditorNotes/GameObjectReference.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 62a8eeb35a66e0f468016f12604da829
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -51,16 +51,21 @@ namespace gay.lilyy.MeshCompression
|
|||
|
||||
if (mesh == null) continue;
|
||||
|
||||
var localConfig = renderer.GetComponent<MeshCompressionConfig>();
|
||||
var effectiveConfig = localConfig != null ? localConfig : defaultConfig;
|
||||
if (effectiveConfig == null) continue;
|
||||
|
||||
|
||||
var path = AssetDatabase.GetAssetPath(mesh);
|
||||
if (string.IsNullOrEmpty(path) || !path.EndsWith(".fbx", System.StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
if (localConfig != null) Debug.LogError($"[NDMF] Could not find FBX for {renderer.gameObject.name}");
|
||||
continue;
|
||||
}
|
||||
|
||||
var importer = AssetImporter.GetAtPath(path) as ModelImporter;
|
||||
if (importer == null) continue;
|
||||
|
||||
var localConfig = renderer.GetComponent<MeshCompressionConfig>();
|
||||
var effectiveConfig = localConfig != null ? localConfig : defaultConfig;
|
||||
if (effectiveConfig == null) continue;
|
||||
|
||||
var targetCompression = GetTargetCompression(effectiveConfig);
|
||||
var unityCompression = GetCompression(targetCompression);
|
||||
|
|
|
|||
8
ThirdParty.meta
Normal file
8
ThirdParty.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0d1b2d7432aa7a848a2d7d5887d41bdb
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
ThirdParty/VRCBuildSizeViewer.meta
vendored
Normal file
8
ThirdParty/VRCBuildSizeViewer.meta
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1286154de09416a41ab4a4cd45f64b35
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
145
ThirdParty/VRCBuildSizeViewer/BuildSizeViewer.cs
vendored
Normal file
145
ThirdParty/VRCBuildSizeViewer/BuildSizeViewer.cs
vendored
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
/**
|
||||
* VRC Build Size Viewer
|
||||
* Created by MunifiSense
|
||||
* https://github.com/MunifiSense/VRChat-Build-Size-Viewer
|
||||
*/
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using System.IO;
|
||||
|
||||
public class BuildSizeViewer : EditorWindow {
|
||||
|
||||
public class BuildObject {
|
||||
public string size;
|
||||
public string percent;
|
||||
public string path;
|
||||
}
|
||||
|
||||
List<BuildObject> buildObjectList;
|
||||
List<string> uncompressedList;
|
||||
string buildLogPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData) + "/Unity/Editor/Editor.log";
|
||||
private char[] delimiterChars = { ' ', '\t' };
|
||||
float win;
|
||||
float w1;
|
||||
float w2;
|
||||
float w3;
|
||||
string totalSize;
|
||||
bool buildLogFound = false;
|
||||
Vector2 scrollPos;
|
||||
|
||||
[MenuItem("Window/Muni/VRC Build Size Viewer")]
|
||||
|
||||
public static void ShowWindow() {
|
||||
EditorWindow.GetWindow(typeof(BuildSizeViewer));
|
||||
}
|
||||
|
||||
void OnGUI() {
|
||||
win = (float)(position.width * 0.6);
|
||||
float w1 = (float)(win * 0.15);
|
||||
float w2 = (float)(win * 0.15);
|
||||
float w3 = (float)(win * 0.35);
|
||||
EditorGUILayout.LabelField("VRC Build Size Viewer", EditorStyles.boldLabel);
|
||||
EditorGUILayout.LabelField("Create a build of your world/avatar and click the button!", EditorStyles.label);
|
||||
if (GUILayout.Button("Read Build Log")) {
|
||||
buildLogFound = false;
|
||||
buildLogFound = getBuildSize();
|
||||
}
|
||||
if (buildLogFound) {
|
||||
if (uncompressedList != null && uncompressedList.Count != 0) {
|
||||
EditorGUILayout.LabelField("Total Compressed Build Size: " + totalSize);
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.Separator();
|
||||
EditorGUILayout.EndHorizontal();
|
||||
//EditorGUILayout.LabelField("Uncompressed Build Size by Category: ");
|
||||
foreach (string s in uncompressedList) {
|
||||
EditorGUILayout.LabelField(s);
|
||||
}
|
||||
}
|
||||
if (buildObjectList != null && buildObjectList.Count != 0) {
|
||||
scrollPos = EditorGUILayout.BeginScrollView(scrollPos);
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.Separator();
|
||||
EditorGUILayout.EndHorizontal();
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField("Size%", GUILayout.Width(w1));
|
||||
EditorGUILayout.LabelField("Size", GUILayout.Width(w2));
|
||||
EditorGUILayout.LabelField("Path", GUILayout.Width(w3));
|
||||
EditorGUILayout.EndHorizontal();
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.Separator();
|
||||
EditorGUILayout.EndHorizontal();
|
||||
foreach (BuildObject buildObject in buildObjectList) {
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
EditorGUILayout.LabelField(buildObject.percent, GUILayout.Width(w1));
|
||||
EditorGUILayout.LabelField(buildObject.size, GUILayout.Width(w2));
|
||||
EditorGUILayout.LabelField(buildObject.path);
|
||||
if(buildObject.path != "Resources/unity_builtin_extra") {
|
||||
if (GUILayout.Button("Go", GUILayout.Width(w1))) {
|
||||
UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath(buildObject.path, typeof(UnityEngine.Object));
|
||||
Selection.activeObject = obj;
|
||||
EditorGUIUtility.PingObject(obj);
|
||||
}
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
EditorGUILayout.EndScrollView();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool getBuildSize() {
|
||||
//Read the text from log
|
||||
FileUtil.ReplaceFile(buildLogPath, buildLogPath + "copy");
|
||||
StreamReader reader = new StreamReader(buildLogPath + "copy");
|
||||
|
||||
if(reader == null) {
|
||||
Debug.LogWarning("Could not read build file.");
|
||||
FileUtil.DeleteFileOrDirectory(buildLogPath + "copy");
|
||||
return false;
|
||||
}
|
||||
|
||||
string line = reader.ReadLine();
|
||||
while(line != null) {
|
||||
if ((line.Contains("scene-") && line.Contains(".vrcw"))
|
||||
|| (line.Contains("avtr") && line.Contains(".prefab.unity3d"))) {
|
||||
//Debug.Log("Build found!");
|
||||
buildObjectList = new List<BuildObject>();
|
||||
uncompressedList = new List<string>();
|
||||
line = reader.ReadLine();
|
||||
//Debug.Log(line);
|
||||
while (!line.Contains("Compressed Size"))
|
||||
{
|
||||
line = reader.ReadLine();
|
||||
}
|
||||
totalSize = line.Split(':')[1];
|
||||
line = reader.ReadLine();
|
||||
while (line != "Used Assets and files from the Resources folder, sorted by uncompressed size:") {
|
||||
uncompressedList.Add(line);
|
||||
line = reader.ReadLine();
|
||||
}
|
||||
line = reader.ReadLine();
|
||||
while (line != "-------------------------------------------------------------------------------") {
|
||||
string[] splitLine = line.Split(delimiterChars);
|
||||
BuildObject temp = new BuildObject();
|
||||
temp.size = splitLine[1]+splitLine[2];
|
||||
temp.percent = splitLine[4];
|
||||
temp.path = splitLine[5];
|
||||
for (int i=6; i<splitLine.Length; i++) {
|
||||
temp.path += (" " + splitLine[i]);
|
||||
}
|
||||
buildObjectList.Add(temp);
|
||||
line = reader.ReadLine();
|
||||
}
|
||||
}
|
||||
line = reader.ReadLine();
|
||||
}
|
||||
FileUtil.DeleteFileOrDirectory(buildLogPath + "copy");
|
||||
reader.Close();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
11
ThirdParty/VRCBuildSizeViewer/BuildSizeViewer.cs.meta
vendored
Normal file
11
ThirdParty/VRCBuildSizeViewer/BuildSizeViewer.cs.meta
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 69c81a2438b0c514480fca52d504f429
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1
ThirdParty/VRCBuildSizeViewer/SOURCE.txt
vendored
Normal file
1
ThirdParty/VRCBuildSizeViewer/SOURCE.txt
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
https://github.com/MunifiSense/VRChat-Build-Size-Viewer
|
||||
7
ThirdParty/VRCBuildSizeViewer/SOURCE.txt.meta
vendored
Normal file
7
ThirdParty/VRCBuildSizeViewer/SOURCE.txt.meta
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6f66f5cb8c7e4a344b9941ff3ff99a99
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Loading…
Add table
Add a link
Reference in a new issue