Bring in AAC!

project ive been working on for a while, just felt confident enough to move it here
This commit is contained in:
Lillith Rose 2025-12-09 21:40:28 -05:00
parent e608e2a56b
commit 1d7052a258
209 changed files with 1561 additions and 74738 deletions

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 427c392dca21e4947ad9dc3872ba0db3
guid: 978f6069cb1ad854a88aa108b19830e6
folderAsset: yes
DefaultImporter:
externalObjects: {}

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 019d258ba298fd64aa4323294de74515
guid: da7e8c9875c7937418ca83b4ee80e8bc
folderAsset: yes
DefaultImporter:
externalObjects: {}

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 6b73bb805dd5f4547b50c99d7eb519a0
guid: 4d93bb3c8aebb5a4980d314c9c09afb7
folderAsset: yes
DefaultImporter:
externalObjects: {}

View file

@ -0,0 +1,300 @@
using System.Linq;
using System.Diagnostics;
using AnimatorAsCode.V1;
using gay.lilyy.aaccore;
using nadena.dev.ndmf;
using AnimatorAsCode.V1.ModularAvatar;
using UnityEditor;
using UnityEngine;
using VRC.SDK3.Avatars.Components;
using VRC.SDK3.Dynamics.Constraint.Components;
using System.Collections.Generic;
using gay.lilyy.EditorNotes;
[assembly: ExportsPlugin(typeof(AACPlugin))]
namespace gay.lilyy.aaccore
{
public class AACAssets
{
public AacFlBase aac;
public AacFlController fx;
public AacFlClip emptyClip;
public BuildContext ctx;
public AACRoot root;
public MaAc modularAvatar;
public bool experimentalEnabled;
public bool isPC;
}
public static class AACUtils
{
public static GameObject FindChildRecursive(GameObject parent, string name)
{
return FindChildRecursive(parent.transform, name)?.gameObject;
}
public static Transform FindChildRecursive(Transform parent, string name)
{
Transform childTransform = parent.GetComponentsInChildren<Transform>()
.FirstOrDefault(t => t.gameObject.name == name);
return childTransform;
}
public static AacFlClip CreateConstraintWeightClip(AACAssets assets, VRCParentConstraint constraint, int index, int indexCount) {
return assets.aac.NewClip()
.Animating(action => {
action.Animates(constraint, $"Sources.source{index}.Weight").WithOneFrame(1f);
for (int i = 0; i < indexCount; i++) {
if (i == index) continue;
action.Animates(constraint, $"Sources.source{i}.Weight").WithOneFrame(0f);
}
});
}
public static AacFlClip CreateEmptyClipWithFrames(AACAssets assets, int frames) {
if (frames == 0) return assets.emptyClip;
var emptyGo = new GameObject();
emptyGo.name = "_EmptyClipInstant";
emptyGo.transform.SetParent(assets.ctx.AvatarRootTransform);
var clip = assets.aac.NewClip().Animating(action => {
action.Animates(emptyGo.transform, "m_LocalScale.z").WithFrameCountUnit(unit => {
unit.Constant(0, 0);
unit.Constant(frames, 1);
});
});
Object.DestroyImmediate(emptyGo);
return clip;
}
public static AacFlClip CreateEmptyClipWithSeconds(AACAssets assets, float seconds) {
if (seconds == 0) return assets.emptyClip;
var emptyGo = new GameObject();
emptyGo.name = "_EmptyClipInstant";
emptyGo.transform.SetParent(assets.ctx.AvatarRootTransform);
var clip = assets.aac.NewClip().Animating(action => {
action.Animates(emptyGo.transform, "m_LocalScale.z").WithFrameCountUnit(unit => {
unit.Constant(0, 0);
unit.Constant(seconds, 1);
});
});
Object.DestroyImmediate(emptyGo);
return clip;
}
public static List<SkinnedMeshRenderer> FindWithBlendshape(AACAssets assets, string shapeName) {
var list = new List<SkinnedMeshRenderer>();
foreach (var smr in assets.ctx.AvatarRootObject.GetComponentsInChildren<SkinnedMeshRenderer>(true)) {
var mesh = smr.sharedMesh;
if (!mesh) continue;
int count = mesh.blendShapeCount;
for (int i = 0; i < count; i++) {
if (mesh.GetBlendShapeName(i) == shapeName) {
list.Add(smr);
break;
}
}
}
return list;
}
public static List<T> FindNamedComponents<T>(Transform parent, string name) where T : Component {
var list = new List<T>();
foreach (var component in parent.GetComponentsInChildren<T>(true)) {
if (component.gameObject.name == name) {
list.Add(component);
}
}
UnityEngine.Debug.Log($"Found {list.Count} {name} components");
foreach (var component in list) {
UnityEngine.Debug.Log($"Component: {component.gameObject.name}");
}
return list;
}
public static List<T> FindNamedComponents<T>(AACAssets assets, string name) where T : Component {
return FindNamedComponents<T>(assets.ctx.AvatarRootTransform, name);
}
public static List<Transform> FindTransformWithNote(Transform parent, string tag) {
var notes = parent.GetComponentsInChildren<EditorNote>(true);
var matched = new List<Transform>();
foreach (var note in notes) {
if (note.valueType != EditorNote.ValueType.String) continue;
if (note.stringValue != "aactag") continue;
if (note.note == tag) {
matched.Add(note.transform);
}
}
return matched;
}
}
public class AACPlugin : Plugin<AACPlugin>
{
public override string QualifiedName => "gay.lilyy.aaccore.plugin";
public override string DisplayName => "AACCore";
private const string SystemName = "AACCore";
private const bool UseWriteDefaults = true;
protected override void Configure()
{
InPhase(BuildPhase.PlatformInit).BeforePlugin("nadena.dev.modular-avatar").Run($"Platform Init {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.PlatformInit));
InPhase(BuildPhase.Resolving).BeforePlugin("nadena.dev.modular-avatar").Run($"Resolving {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.Resolving));
InPhase(BuildPhase.Generating).BeforePlugin("nadena.dev.modular-avatar").Run($"Generating {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.Generating));
InPhase(BuildPhase.Transforming).BeforePlugin("nadena.dev.modular-avatar").Run($"Transforming {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.Transforming));
InPhase(BuildPhase.Optimizing).BeforePlugin("nadena.dev.modular-avatar").Run($"Optimizing {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.Optimizing));
InPhase(BuildPhase.PlatformFinish).BeforePlugin("nadena.dev.modular-avatar").Run($"Platform Finish {DisplayName}", (ctx) => RunPhase(ctx, BuildPhase.PlatformFinish));
}
private void RunPhase(BuildContext ctx, BuildPhase phase)
{
var allLayerGroups = LayerGroup.Instances.ToList();
var layerGroups = allLayerGroups
.Where(lg => lg.SystemName != "template" && lg.buildPhase == phase)
.ToList();
// Start overall timer
var overallStopwatch = Stopwatch.StartNew();
V5AACLogger.LogInfo("Starting Lillith V5 AAC generation...");
var root = ctx.AvatarRootObject.GetComponent<AACRoot>();
if (root == null)
{
V5AACLogger.LogInfo("No LillithV5AACRoot component found. Skipping.");
return;
}
// Skip if the root GameObject or the component itself is disabled
if (!root.enabled || !root.gameObject.activeInHierarchy)
{
V5AACLogger.LogInfo($"LillithV5AACRoot on GameObject '{root.name}' is disabled or inactive. Skipping.");
return;
}
AACAssets assets = new();
assets.ctx = ctx;
assets.root = root;
assets.modularAvatar = MaAc.Create(new GameObject(SystemName)
{
transform = { parent = ctx.AvatarRootTransform }
});
assets.isPC = EditorUserBuildSettings.activeBuildTarget == BuildTarget.StandaloneWindows
|| EditorUserBuildSettings.activeBuildTarget == BuildTarget.StandaloneWindows64;
// Time AAC initialization
var initStopwatch = Stopwatch.StartNew();
V5AACLogger.LogInfo("Initializing Animator As Code...");
assets.aac = AacV1.Create(new AacConfiguration
{
SystemName = SystemName,
AnimatorRoot = ctx.AvatarRootTransform,
DefaultValueRoot = ctx.AvatarRootTransform,
AssetKey = GUID.Generate().ToString(),
AssetContainer = ctx.AssetContainer,
ContainerMode = AacConfiguration.Container.OnlyWhenPersistenceRequired,
AssetContainerProvider = new NDMFContainerProvider(ctx),
DefaultsProvider = new AacDefaultsProvider(UseWriteDefaults)
});
assets.emptyClip = assets.aac.NewClip();
assets.fx = assets.aac.NewAnimatorController();
initStopwatch.Stop();
V5AACLogger.LogInfo($"AAC initialization completed in {initStopwatch.ElapsedMilliseconds}ms");
// Process layer groups with individual timing
// Filter out the template LayerGroup (by SystemName)
V5AACLogger.LogInfo($"Processing {layerGroups.Count} layer groups...");
var totalLayerGroupTime = 0L;
var processedCount = 0;
var skippedCount = 0;
if (root.experimentalPlayMode && Application.isPlaying)
{
assets.experimentalEnabled = true;
}
if (root.experimentalUpload && !Application.isPlaying)
{
assets.experimentalEnabled = true;
}
foreach (var layerGroup in layerGroups)
{
var layerStopwatch = Stopwatch.StartNew();
bool skipped = false;
if (!layerGroup.enabled)
{
V5AACLogger.LogWarning($"Skipping layer group: {layerGroup.DisplayName} (disabled)");
skipped = true;
}
else if (layerGroup.experimental && !assets.experimentalEnabled)
{
V5AACLogger.LogWarning($"Skipping layer group: {layerGroup.DisplayName} (Experimental)");
skipped = true;
}
else if (!layerGroup.IsApplicable(assets))
{
if (layerGroup.shouldWarnIfNotApplicable)
V5AACLogger.LogWarning($"Skipping layer group: {layerGroup.DisplayName} (Not applicable)");
skipped = true;
}
if (!skipped)
{
V5AACLogger.LogInfo($"Running layer group: {layerGroup.DisplayName}");
layerGroup.Run(assets);
processedCount++;
}
else
{
skippedCount++;
}
layerStopwatch.Stop();
totalLayerGroupTime += layerStopwatch.ElapsedMilliseconds;
V5AACLogger.LogInfo($"Layer group '{layerGroup.DisplayName}' completed in {layerStopwatch.ElapsedMilliseconds}ms");
}
// Time Modular Avatar setup
var maStopwatch = Stopwatch.StartNew();
V5AACLogger.LogInfo("Creating Modular Avatar merge animator...");
assets.modularAvatar.NewMergeAnimator(assets.fx.AnimatorController, VRCAvatarDescriptor.AnimLayerType.FX);
maStopwatch.Stop();
V5AACLogger.LogInfo($"Modular Avatar setup completed in {maStopwatch.ElapsedMilliseconds}ms");
// Final timing summary
overallStopwatch.Stop();
V5AACLogger.LogSuccess($"Lillith V5 AAC generation completed successfully!");
V5AACLogger.LogInfo($"=== TIMING SUMMARY ===");
V5AACLogger.LogInfo($"Total time: {overallStopwatch.ElapsedMilliseconds}ms ({overallStopwatch.Elapsed.TotalSeconds:F2}s)");
V5AACLogger.LogInfo($"AAC initialization: {initStopwatch.ElapsedMilliseconds}ms");
V5AACLogger.LogInfo($"Layer groups: {totalLayerGroupTime}ms (processed: {processedCount}, skipped: {skippedCount})");
V5AACLogger.LogInfo($"Modular Avatar: {maStopwatch.ElapsedMilliseconds}ms");
V5AACLogger.LogInfo($"Average per layer group: {(processedCount > 0 ? totalLayerGroupTime / processedCount : 0)}ms");
}
}
internal class NDMFContainerProvider : IAacAssetContainerProvider
{
private readonly BuildContext _ctx;
public NDMFContainerProvider(BuildContext ctx) => _ctx = ctx;
public void SaveAsPersistenceRequired(Object objectToAdd) => _ctx.AssetSaver.SaveAsset(objectToAdd);
public void SaveAsRegular(Object objectToAdd) { } // Let NDMF crawl our assets when it finishes
public void ClearPreviousAssets() { } // ClearPreviousAssets is never used in non-destructive contexts
}
}

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: bee19258cf09a8b469dd38850dcb5138
guid: 130146287c9f763418ba1890a11f5633
MonoImporter:
externalObjects: {}
serializedVersion: 2

View file

@ -0,0 +1,27 @@
{
"name": "AACCoreEditor",
"rootNamespace": "",
"references": [
"GUID:165b54f9f25c92d48859a4f1a962cac0",
"GUID:5718fb738711cd34ea54e9553040911d",
"GUID:b906909fcc54f634db50f2cad0f988d9",
"GUID:d689052aa981bf8459346a530f6e6678",
"GUID:71d9dcc7d30ab1c45866d01afa59b6cf",
"GUID:62ced99b048af7f4d8dfe4bed8373d76",
"GUID:901e56b065a857d4483a77f8cae73588",
"GUID:04a7e5cf006503242b1db329a84d694d",
"GUID:95124d49b8c897e4286f0bf6c6e57f4d",
"GUID:a65a5779a3702144986d83fca255f5da"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: db37b7b64d44e2442ae3aed7b0759d8f
guid: 8d0a4403a05276c4087dd785a3c7818d
AssemblyDefinitionImporter:
externalObjects: {}
userData:

View file

@ -0,0 +1,31 @@
using System.Collections.Generic;
using nadena.dev.ndmf;
namespace gay.lilyy.aaccore {
public abstract class LayerGroup
{
public virtual bool enabled { get { return true; } }
public virtual bool experimental { get { return false; } }
private V5AACLayerGroupLogger _logger;
protected V5AACLayerGroupLogger Logger => _logger ??= new V5AACLayerGroupLogger(SystemName);
private static readonly List<LayerGroup> instances = new();
protected LayerGroup() => instances.Add(this);
public static IEnumerable<LayerGroup> Instances => instances;
public virtual bool shouldWarnIfNotApplicable => true;
public virtual BuildPhase buildPhase => BuildPhase.Generating;
public virtual bool IsApplicable(AACAssets assets) {
return true;
}
public abstract string DisplayName { get; }
public abstract string SystemName { get; }
public abstract void Run(AACAssets assets);
}
}

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 51ac4f0bd9fb2f74e94a980e6acd756f
guid: b62c5c48d33ff344184e9d2af6229e52
MonoImporter:
externalObjects: {}
serializedVersion: 2

View file

@ -0,0 +1,68 @@
using System.Collections.Generic;
using gay.lilyy.logger;
using UnityEngine;
namespace gay.lilyy.aaccore {
public class V5AACLogger : BaseLogger
{
private static V5AACLogger _instance;
public static V5AACLogger Instance => _instance ??= new V5AACLogger();
protected override string SystemName => "AACCore";
protected override Dictionary<LogLevel, string> LogColors => new()
{
{ LogLevel.Info, "#87CEEB" }, // Sky Blue
{ LogLevel.Warning, "#FFA500" }, // Orange
{ LogLevel.Error, "#FF6B6B" }, // Red
{ LogLevel.Success, "#90EE90" }, // Light Green
{ LogLevel.Debug, "#DDA0DD" } // Plum
};
protected override Dictionary<LogLevel, string> LogPrefixes => new()
{
{ LogLevel.Info, "" },
{ LogLevel.Warning, "⚠️" },
{ LogLevel.Error, "❌" },
{ LogLevel.Success, "✅" },
{ LogLevel.Debug, "🐛" }
};
// Static convenience methods for easy access
public static void LogInfo(string message, Object context = null) => Instance.Info(message, context);
public static void LogWarning(string message, Object context = null) => Instance.Warning(message, context);
public static void LogError(string message, Object context = null) => Instance.Error(message, context);
public static void LogSuccess(string message, Object context = null) => Instance.Success(message, context);
public static void LogDebug(string message, Object context = null) => Instance.Debug(message, context);
}
public class V5AACLayerGroupLogger : BaseLogger
{
private readonly string _layerName;
public V5AACLayerGroupLogger(string layerName)
{
_layerName = layerName;
}
protected override string SystemName => $"AACCore [{_layerName}] ";
protected override Dictionary<LogLevel, string> LogColors => new()
{
{ LogLevel.Info, "#87CEEB" },
{ LogLevel.Warning, "#FFA500" },
{ LogLevel.Error, "#FF6B6B" },
{ LogLevel.Success, "#90EE90" },
{ LogLevel.Debug, "#DDA0DD" }
};
protected override Dictionary<LogLevel, string> LogPrefixes => new();
// Convenience methods for easy access
public void LogInfo(string message, Object context = null) => Info(message, context);
public void LogWarning(string message, Object context = null) => Warning(message, context);
public void LogError(string message, Object context = null) => Error(message, context);
public void LogSuccess(string message, Object context = null) => Success(message, context);
public void LogDebug(string message, Object context = null) => Debug(message, context);
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b4fd8b997bc1c544e83e5ed5014361c4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1a56a58893574df45b8e4032a47fbc13
guid: 7613e1079336b844dbd75b28c6cf9050
folderAsset: yes
DefaultImporter:
externalObjects: {}

View file

@ -1,8 +1,8 @@
{
"name": "PresetGeneratorRuntime",
"name": "AACCoreRuntime",
"rootNamespace": "",
"references": [
"VRC.SDK3A"
"GUID:5718fb738711cd34ea54e9553040911d"
],
"includePlatforms": [],
"excludePlatforms": [],

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d3fbd56666ff1ee4da8101d622364046
guid: 165b54f9f25c92d48859a4f1a962cac0
AssemblyDefinitionImporter:
externalObjects: {}
userData:

View file

@ -0,0 +1,50 @@
using UnityEditor;
using UnityEngine;
using VRC.SDKBase;
namespace gay.lilyy.aaccore {
/// <summary>
/// Adding this to the avatar root will build the FX layer.
/// </summary>
public class AACRoot : MonoBehaviour, IEditorOnly {
public bool experimentalPlayMode = true;
public bool experimentalUpload = false;
// unity needs this to show the enable/disable box
void Start(){}
#if UNITY_EDITOR
[CustomEditor(typeof(AACRoot))]
private class Editor : UnityEditor.Editor
{
public override void OnInspectorGUI()
{
// Draw the default message
EditorGUILayout.HelpBox(
"Adding this to the avatar root will build the FX layer.",
MessageType.Info
);
// Draw the 'Enable Experimental Layers' toggle
var component = (AACRoot)target;
EditorGUI.BeginChangeCheck();
bool newValPlay = EditorGUILayout.Toggle("Enable Experimental Layers in Play Mode", component.experimentalPlayMode);
if (EditorGUI.EndChangeCheck())
{
Undo.RecordObject(component, "Toggle Experimental Layers in Play Mode");
component.experimentalPlayMode = newValPlay;
EditorUtility.SetDirty(component);
}
EditorGUI.BeginChangeCheck();
bool newValUpload = EditorGUILayout.Toggle("Enable Experimental Layers in Uploads", component.experimentalUpload);
if (EditorGUI.EndChangeCheck())
{
Undo.RecordObject(component, "Toggle Experimental Layers in Uploads");
component.experimentalPlayMode = newValUpload;
EditorUtility.SetDirty(component);
}
}
}
#endif
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3a0c8f4a9a1d73e4ab34270b10988813
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: e93e138efeaf9b6489552636afc5b88b
guid: 02ed31c0bed0fd045b53f2a08b792152
folderAsset: yes
DefaultImporter:
externalObjects: {}

View file

@ -0,0 +1,23 @@
using gay.lilyy.aaccore;
using UnityEditor;
namespace gay.lilyy.avatarname.version.aac {
[InitializeOnLoad]
public class Template : LayerGroup
{
// remove when ready for uploaded
public override bool experimental => true;
private static readonly Template _instance = new();
static Template() {}
public override string DisplayName => "Template";
public override string SystemName => "template";
public override void Run(AACAssets assets)
{
Logger.LogInfo("LayerGroup Template.Run() Called!");
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a63a02520572be74b9866f7c32915518
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,25 @@
{
"name": "TemplateAAC",
"rootNamespace": "",
"references": [
"GUID:8d0a4403a05276c4087dd785a3c7818d",
"GUID:95124d49b8c897e4286f0bf6c6e57f4d",
"GUID:5718fb738711cd34ea54e9553040911d",
"GUID:b906909fcc54f634db50f2cad0f988d9",
"GUID:d689052aa981bf8459346a530f6e6678",
"GUID:71d9dcc7d30ab1c45866d01afa59b6cf",
"GUID:04a7e5cf006503242b1db329a84d694d",
"GUID:62ced99b048af7f4d8dfe4bed8373d76"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View file

@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: cfdf6b6b0a6f37f4ebedd37bf0abdd05
PrefabImporter:
guid: b13df479673c65d4785814fc8079202f
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 7fdf868af7702c44eb56c1e39908220d
guid: 980779dd23e254847be872de3d0796f1
folderAsset: yes
DefaultImporter:
externalObjects: {}

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fbd24b1ba03c78f4bbb7279612566919
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,27 @@
{
"name": "AACSharedLayers",
"rootNamespace": "",
"references": [
"GUID:8d0a4403a05276c4087dd785a3c7818d",
"GUID:95124d49b8c897e4286f0bf6c6e57f4d",
"GUID:5718fb738711cd34ea54e9553040911d",
"GUID:b906909fcc54f634db50f2cad0f988d9",
"GUID:d689052aa981bf8459346a530f6e6678",
"GUID:71d9dcc7d30ab1c45866d01afa59b6cf",
"GUID:04a7e5cf006503242b1db329a84d694d",
"GUID:62ced99b048af7f4d8dfe4bed8373d76",
"GUID:e73da13578f7b4d4fa785d6f8fe72ba3",
"GUID:fc900867c0f47cd49b6e2ae4ef907300"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View file

@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 5a814aef6bf84b74ebb28f705f84a8ef
PrefabImporter:
guid: 82ac5caf0663be04faa61ac94362fd55
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:

View file

@ -0,0 +1,217 @@
using System.Collections.Generic;
using System.Linq;
using AnimatorAsCode.V1;
using gay.lilyy.aaccore;
using gay.lilyy.aacshared.runtimecomponents;
using UnityEditor;
using UnityEngine;
using VRC.SDK3.Avatars.ScriptableObjects;
using AnimatorAsCode.V1.ModularAvatar;
using nadena.dev.modular_avatar.core;
namespace gay.lilyy.aacshared.layers {
[InitializeOnLoad]
public class ChildToggle : LayerGroup
{
// remove when ready for uploaded
public override bool experimental => false;
public override bool shouldWarnIfNotApplicable => false;
private static readonly ChildToggle _instance = new();
static ChildToggle() {}
public override string DisplayName => "Child Toggle";
public override string SystemName => "childtoggle";
private static ChildToggleDefinition[] getDefinitions(AACAssets assets)
{
return assets.ctx.AvatarRootObject.GetComponentsInChildren<ChildToggleDefinition>();
}
public override bool IsApplicable(AACAssets assets)
{
return getDefinitions(assets).Length > 0;
}
private AacFlBoolParameter createLayer(AACAssets assets, ChildToggleDefinition definition, Transform transform)
{
var layer = assets.fx.NewLayer($"Child toggle {definition.name} {transform.name}");
var toggle = layer.BoolParameter($"child_{definition.name}_{transform.name}");
var idle = layer.NewState("Idle").WithAnimation(assets.emptyClip);
var flipped = layer.NewState("Flipped").WithAnimation(assets.aac.NewClip().Toggling(transform.gameObject, !transform.gameObject.activeSelf));
idle.TransitionsTo(flipped).When(toggle.IsEqualTo(true));
flipped.TransitionsTo(idle).When(toggle.IsEqualTo(false));
return toggle;
}
/**
<summary>
im gonna be so honest i got cursor to hack together my MusicPlayer's menu creator into this monstrosity. im so sorry.
</summary>
<param name="assets">The AACAssets instance.</param>
<param name="definition">The ChildToggleDefinition instance.</param>
<param name="childParameters">A dictionary of child transforms and their corresponding toggle parameters.</param>
<param name="sharedFolderHierarchy">A shared dictionary of folder paths to GameObjects across all definitions.</param>
*/
private GameObject FindOrCreateFolder(GameObject parent, string folderName, Dictionary<string, GameObject> sharedFolderHierarchy, string fullPath, Transform definitionTransform, HashSet<GameObject> allRootMenus)
{
// Check if folder already exists in shared hierarchy
if (sharedFolderHierarchy.ContainsKey(fullPath))
{
var existingFolder = sharedFolderHierarchy[fullPath];
// Verify it still exists and is accessible
if (existingFolder != null)
{
return existingFolder;
}
else
{
// Remove stale entry
sharedFolderHierarchy.Remove(fullPath);
}
}
// Check if a folder with the same name already exists as a sibling in current parent
foreach (Transform child in parent.transform)
{
var existingMenuItem = child.GetComponent<ModularAvatarMenuItem>();
if (existingMenuItem != null && existingMenuItem.label == folderName)
{
// Found existing folder, add it to shared hierarchy and return it
sharedFolderHierarchy[fullPath] = child.gameObject;
return child.gameObject;
}
}
// Check all other root menus for a folder with the same name at the same level
// This prevents duplicate folders when multiple definitions share the same MenuPath prefix
foreach (var rootMenu in allRootMenus)
{
if (rootMenu == parent) continue; // Skip current menu
// If we're at root level (parent is a Menu_*), check root level of other menus
// If we're in a nested folder, check the same nesting level
if (parent.name.StartsWith("Menu_") && rootMenu.name.StartsWith("Menu_"))
{
// Check root level folders
foreach (Transform child in rootMenu.transform)
{
var existingMenuItem = child.GetComponent<ModularAvatarMenuItem>();
if (existingMenuItem != null && existingMenuItem.label == folderName)
{
// Found existing folder in another root menu, reuse it
sharedFolderHierarchy[fullPath] = child.gameObject;
return child.gameObject;
}
}
}
}
// Create new folder
var folderGo = new GameObject($"Folder_{folderName}");
folderGo.transform.SetParent(parent.transform);
var folderMenuItem = folderGo.AddComponent<ModularAvatarMenuItem>();
folderMenuItem.label = folderName;
folderMenuItem.Control.type = VRCExpressionsMenu.Control.ControlType.SubMenu;
folderMenuItem.MenuSource = SubmenuSource.Children;
sharedFolderHierarchy[fullPath] = folderGo;
return folderGo;
}
private void CreateMenu(AACAssets assets, ChildToggleDefinition definition, Dictionary<Transform, AacFlBoolParameter> childParameters, Dictionary<string, GameObject> sharedFolderHierarchy, HashSet<GameObject> allRootMenus)
{
if (childParameters.Count == 0) return;
var menuGo = new GameObject($"Menu_{definition.name}");
menuGo.transform.SetParent(definition.transform);
var menuItem = menuGo.AddComponent<ModularAvatarMenuItem>();
menuItem.label = "Child Toggle";
menuItem.Control.type = VRCExpressionsMenu.Control.ControlType.SubMenu;
menuItem.MenuSource = SubmenuSource.Children;
allRootMenus.Add(menuGo);
GameObject firstFolder = null;
foreach (var kvp in childParameters)
{
var childTransform = kvp.Key;
var toggleParam = kvp.Value;
GameObject currentParent = menuGo;
// Create folder hierarchy if MenuPath is specified
if (!string.IsNullOrEmpty(definition.MenuPath))
{
string[] folderPath = definition.MenuPath.Split('/');
// Create nested folder structure
for (int i = 0; i < folderPath.Length; i++)
{
string folderName = folderPath[i];
string fullPath = string.Join("/", folderPath, 0, i + 1);
currentParent = FindOrCreateFolder(currentParent, folderName, sharedFolderHierarchy, fullPath, definition.transform, allRootMenus);
// Store the first folder for MenuInstaller
if (firstFolder == null && i == 0)
{
firstFolder = currentParent;
}
}
}
// Create the toggle menu item
var go = new GameObject($"Toggle_{childTransform.name}");
go.transform.SetParent(currentParent.transform);
assets.modularAvatar.EditMenuItem(go).Toggle(toggleParam).Name(childTransform.name);
}
// Place MenuInstaller on the first folder if it exists, otherwise on root menu
if (firstFolder != null)
{
// Only add MenuInstaller if it doesn't already exist
if (firstFolder.GetComponent<ModularAvatarMenuInstaller>() == null)
{
firstFolder.AddComponent<ModularAvatarMenuInstaller>();
}
}
else
{
menuGo.AddComponent<ModularAvatarMenuInstaller>();
}
}
private void runDefinition(AACAssets assets, ChildToggleDefinition definition, Dictionary<string, GameObject> sharedFolderHierarchy, HashSet<GameObject> allRootMenus)
{
var childParameters = new Dictionary<Transform, AacFlBoolParameter>();
foreach (Transform child in definition.transform)
{
var toggleParam = createLayer(assets, definition, child);
childParameters[child] = toggleParam;
}
CreateMenu(assets, definition, childParameters, sharedFolderHierarchy, allRootMenus);
}
public override void Run(AACAssets assets)
{
var definitions = getDefinitions(assets);
Logger.LogDebug($"Child Toggle system: Found {definitions.Length} child toggle definitions");
// Shared folder hierarchy across all definitions to prevent duplicates
var sharedFolderHierarchy = new Dictionary<string, GameObject>();
// Track all root menus to check for duplicate folders
var allRootMenus = new HashSet<GameObject>();
foreach (var definition in definitions)
{
runDefinition(assets, definition, sharedFolderHierarchy, allRootMenus);
}
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2c428d7f31c05e0479683c9b1f17a05d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,156 @@
using System.Collections.Generic;
using System.Linq;
using gay.lilyy.aaccore;
using gay.lilyy.aacshared.runtimecomponents;
using UnityEditor;
using UnityEngine;
namespace gay.lilyy.aacshared.layers {
[InitializeOnLoad]
public class Floater : LayerGroup
{
// remove when ready for uploaded
public override bool experimental => false;
public override bool shouldWarnIfNotApplicable => false;
private static readonly Floater _instance = new();
static Floater() {}
public override string DisplayName => "Floater";
public override string SystemName => "floater";
private static FloaterDefinition[] getDefinitions(AACAssets assets)
{
return assets.ctx.AvatarRootObject.GetComponentsInChildren<FloaterDefinition>();
}
public override bool IsApplicable(AACAssets assets)
{
return getDefinitions(assets).Length > 0;
}
private void createLayer(AACAssets assets, MultiTransformDefinition multiDef)
{
var layer = assets.fx.NewLayer($"Floater {multiDef.Definition.name} and {multiDef.Transforms.Count - 1} more");
if (!new[] { "x", "y", "z" }.Contains(multiDef.Definition.spinAxis.ToLower()))
{
Logger.LogWarning($"Floater system: Invalid spin axis '{multiDef.Definition.spinAxis}' in definition '{multiDef.Definition.name}'. Must be one of 'x', 'y', or 'z'. Skipping.");
return;
}
var state = layer.NewState("Floater").WithAnimation(assets.aac.NewClip().Animating(action =>
{
Logger.LogInfo($"Floater system: Creating animation for definition '{multiDef.Definition.name}' with {multiDef.Transforms.Count} transforms");
foreach (var t in multiDef.Transforms)
{
if (multiDef.Definition.floatHeight != 0f)
{
action.Animates(t, "m_LocalPosition.y").WithSecondsUnit(unit =>
{
unit
.Easing(0, t.transform.localPosition.y);
unit
.Easing(multiDef.Definition.loopInSeconds / 2f, t.transform.localPosition.y + multiDef.Definition.floatHeight)
.Easing(multiDef.Definition.loopInSeconds, t.transform.localPosition.y);
});
}
if (multiDef.Definition.spinCycles > 0)
{
string axis = multiDef.Definition.spinAxis.ToLower();
string prop = $"m_LocalEulerAngles.{axis}";
float segment = multiDef.Definition.loopInSeconds / multiDef.Definition.spinCycles;
for (int cycle = 0; cycle < multiDef.Definition.spinCycles; cycle++)
{
action.Animates(t, prop).WithSecondsUnit(unit =>
{
float baseAngle = 0f; // ignore quaternion components entirely
float startTime = cycle * segment;
float endTime = (cycle + 1) * segment;
float startAngle = baseAngle + 360f * cycle;
float endAngle = baseAngle + 360f * (cycle + 1);
Logger.LogDebug($"Floater system: Animating {t.name} {prop} on cycle {cycle} from {startAngle} to {endAngle} between {startTime}s and {endTime}s");
unit
.Linear(startTime, startAngle)
.Linear(endTime, endAngle);
Logger.LogDebug($"unit.Linear({startTime}, {startAngle}).Linear({endTime}, {endAngle})");
});
}
// Fill OTHER Euler axes with constant values
foreach (var other in new[] { "x", "y", "z" })
{
if (other == axis) continue;
float current =
other == "x" ? t.transform.localEulerAngles.x :
other == "y" ? t.transform.localEulerAngles.y :
t.transform.localEulerAngles.z;
Logger.LogDebug($"Floater system: Setting constant {t.name} {other} to {current}");
action.Animates(t, $"m_LocalEulerAngles.{other}")
.WithSecondsUnit(unit =>
{
unit
.Linear(0f, current)
.Linear(multiDef.Definition.loopInSeconds, current);
});
}
}
}
}).Looping());
if (multiDef.Definition.toggleParamName != "")
{
var param = layer.BoolParameter(multiDef.Definition.toggleParamName);
var offState = layer.NewState("Floater Off").WithAnimation(assets.emptyClip);
layer.WithDefaultState(offState);
offState.TransitionsTo(state).When(param.IsTrue());
state.TransitionsTo(offState).When(param.IsFalse());
}
}
private struct MultiTransformDefinition
{
public List<Transform> Transforms { get; set; }
public FloaterDefinition Definition { get; set; }
}
public override void Run(AACAssets assets)
{
var definitions = getDefinitions(assets);
Logger.LogDebug($"Floater system: Found {definitions.Length} floater definitions");
var matchedDefinitions = new Dictionary<int, MultiTransformDefinition>();
foreach (var def in definitions)
{
if (!def.enabled) continue;
if (!def.enableOnPC && assets.isPC) continue;
if (!def.enableOnMobile && !assets.isPC) continue;
Logger.LogInfo($"Floater system: Found definition '{def.name}'");
var hash = def.GetHashCode();
if (!matchedDefinitions.ContainsKey(hash))
{
matchedDefinitions[hash] = new MultiTransformDefinition
{
Definition = def,
Transforms = new List<Transform>()
};
} else
{
Logger.LogInfo($"Floater system: Adding additional transform to definition '{def.name}'");
}
matchedDefinitions[hash].Transforms.Add(def.transform);
}
foreach (var multiDef in matchedDefinitions.Values)
{
createLayer(assets, multiDef);
}
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8c1340bf8df44f24cabe4db762796c21
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,187 @@
using UnityEditor;
using UnityEngine;
using AnimatorAsCode.V1;
using System.Collections.Generic;
using gay.lilyy.aaccore;
namespace gay.lilyy.aacshared.layers
{
/**
<summary>
ported from v5
</summary>
*/
[InitializeOnLoad]
public class LanternFlicker : LayerGroup
{
private static readonly LanternFlicker _instance = new();
static LanternFlicker() { }
public override string DisplayName => "Lantern Flicker";
public override string SystemName => "lantern_flicker";
public override bool shouldWarnIfNotApplicable => false;
private Transform GetLantern(AACAssets assets)
{
return AACUtils.FindChildRecursive(assets.ctx.AvatarRootTransform, "Lantern Floater");
}
public override bool IsApplicable(AACAssets assets)
{
var lamp = GetLantern(assets);
if (lamp == null)
{
Logger.LogWarning("Lamp Light could not be found!");
return false;
}
var light = lamp.GetComponentInChildren<Light>();
return light != null;
}
private void CreateFlickerLayer(AACAssets assets)
{
var lamp = GetLantern(assets);
var light = lamp.GetComponentInChildren<Light>();
var layer = assets.fx.NewLayer("Lantern Flicker");
var flickerParam = layer.BoolParameter("LanternFlicker");
var off = layer.NewState("Off").WithAnimation(
assets.aac.NewClip().Animating(anim =>
{
if (light != null) {
anim.Animates(light, "m_Enabled").WithFrameCountUnit(sec =>
{
sec.Constant(0, 0);
});
anim.Animates(light, "m_Intensity").WithFrameCountUnit(sec =>
{
sec.Constant(0, light.intensity);
});
}
})
);
layer.WithDefaultState(off);
var on = layer.NewState("Flicker").WithAnimation(
assets.aac.NewClip().Animating(anim =>
{
AnimateLantern(assets, anim, lamp);
}).Looping()
);
off.TransitionsTo(on).When(flickerParam.IsEqualTo(true));
on.TransitionsTo(off).When(flickerParam.IsEqualTo(false));
}
private void CreateBrightnessLayer(AACAssets assets)
{
var lamp = GetLantern(assets);
var light = lamp.GetComponentInChildren<Light>();
if (light == null) return;
var layer = assets.fx.NewLayer("Lantern Brightness");
var brightnessParam = layer.FloatParameter("LanternBrightness");
var state = layer.NewState("Brightness").WithAnimation(
assets.aac.NewClip().Animating(anim =>
{
anim.Animates(light, "m_Enabled").WithUnit(AacFlUnit.Frames, sec =>
{
sec.Linear(0, 0);
sec.Linear(1, 1);
});
anim.AnimatesColor(light, "m_Color").WithUnit(AacFlUnit.Frames, sec =>
{
sec.Linear(0, light.color * 0);
sec.Linear(100, light.color);
});
})
).WithMotionTime(brightnessParam);
}
private void AnimateLantern(AACAssets assets, AacFlEditClip anim, Transform lantern)
{
var renderer = lantern.GetComponent<MeshRenderer>();
var light = lantern.GetComponentInChildren<Light>();
if (renderer == null)
{
Logger.LogWarning("AnimateLantern: Missing renderer on lantern");
return;
}
var rng = new System.Random("lillithlanternrandomseed".GetHashCode());
var keyframes = new List<(float time, double value)>();
float time = 0;
while (time < 60)
{
double value = rng.NextDouble();
keyframes.Add((time, value));
time += (float)(rng.NextDouble() * (0.3 - 0.05) + 0.05);
}
if (keyframes.Count == 0)
{
Logger.LogWarning("AnimateLantern: No keyframes generated");
}
if (light != null)
{
anim.Animates(light, "m_Intensity").WithSecondsUnit(sec =>
{
foreach (var (t, v) in keyframes)
{
sec.Easing(t, (float)v * light.intensity);
}
});
}
if (assets.isPC) {
Logger.LogInfo("Using PC material for lantern flicker");
Color initialColor = renderer.sharedMaterial.GetColor("_Emission_Color");
// ValueFactory Orbits
var prop = "material._Emission_Color";
void animateChannel(string suffix, float initial)
{
anim.Animates(renderer, $"{prop}.{suffix}").WithSecondsUnit(sec =>
{
foreach (var (t, v) in keyframes)
{
sec.Easing(t, initial * (float)v);
}
});
}
animateChannel("x", initialColor.r);
animateChannel("y", initialColor.g);
animateChannel("z", initialColor.b);
animateChannel("w", initialColor.a);
}
else
{
// Toon Standard
Logger.LogInfo("Using Non-PC material for lantern flicker");
// float initialStrength = renderer.sharedMaterial.GetFloat("_EmissionStrength");
// this still isnt running before vqt for some cursed reason so im just gonna hardcode this
var initialStrength = 2;
anim.Animates(renderer, "material._EmissionStrength").WithSecondsUnit(sec =>
{
foreach (var (t, v) in keyframes)
{
sec.Easing(t, initialStrength * (float)v);
}
});
}
}
public override void Run(AACAssets assets)
{
CreateFlickerLayer(assets);
CreateBrightnessLayer(assets);
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b23933d2d4383264e8a63812c8580be2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,114 @@
using System.Collections.Generic;
using AnimatorAsCode.V1;
using AnimatorAsCode.V1.VRC;
using gay.lilyy.aaccore;
using gay.lilyy.aacshared.runtimecomponents;
using UnityEditor;
using UnityEngine;
using VRC.SDK3.Avatars.ScriptableObjects;
namespace gay.lilyy.aacshared.layers
{
[InitializeOnLoad]
public class ParameterPreset : LayerGroup
{
private static readonly ParameterPreset _instance = new();
static ParameterPreset() { }
public override string DisplayName => "Parameter Preset";
public override string SystemName => "parameter_preset";
public override bool shouldWarnIfNotApplicable => false;
private static ParameterPresetDefinition[] getDefinitions(AACAssets assets)
{
return assets.ctx.AvatarRootObject.GetComponents<ParameterPresetDefinition>();
}
public override bool IsApplicable(AACAssets assets)
{
return getDefinitions(assets).Length > 0;
}
private void RunGroup(AACAssets assets, List<ParameterPresetDefinition> presets)
{
if (presets.Count == 0) return; // If there are none in the avatar, skip this entirely.
var layer = assets.fx.NewLayer("Presets " + presets[0].Group);
var presetParam = layer.IntParameter("Preset " + presets[0].Group);
Dictionary<string, AacFlParameter<int>> intParams = new();
Dictionary<string, AacFlParameter<float>> floatParams = new();
Dictionary<string, AacFlParameter<bool>> boolParams = new();
var idle = layer.NewState("Idle").WithAnimation(assets.emptyClip);
layer.WithDefaultState(idle);
var presetIndex = 0;
foreach (var preset in presets)
{
presetIndex++;
var state = layer.NewState("Preset " + preset.Name)
.WithAnimation(assets.emptyClip);
foreach (var param in preset.Parameters)
{
if (!param.shouldChange) continue;
switch (param.valueType)
{
case VRCExpressionParameters.ValueType.Int:
{
if (!intParams.ContainsKey(param.name))
{
intParams[param.name] = layer.IntParameter(param.name);
}
var layerParam = intParams[param.name];
state.Drives(layerParam, (int)param.setTo);
break;
}
case VRCExpressionParameters.ValueType.Float:
{
if (!floatParams.ContainsKey(param.name))
{
floatParams[param.name] = layer.FloatParameter(param.name);
}
var layerParam = floatParams[param.name];
state.Drives(layerParam, param.setTo);
break;
}
case VRCExpressionParameters.ValueType.Bool:
{
if (!boolParams.ContainsKey(param.name))
{
boolParams[param.name] = layer.BoolParameter(param.name);
}
var layerParam = boolParams[param.name];
state.Drives(layerParam, param.setTo > 0.5f);
break;
}
}
}
idle.TransitionsTo(state).When(presetParam.IsEqualTo(presetIndex));
state.TransitionsTo(idle).When(presetParam.IsEqualTo(0));
}
}
public override void Run(AACAssets assets)
{
var presets = getDefinitions(assets);
Dictionary<string, List<ParameterPresetDefinition>> groupedPresets = new();
foreach (var preset in presets)
{
if (!groupedPresets.ContainsKey(preset.Group))
{
groupedPresets[preset.Group] = new List<ParameterPresetDefinition>();
}
groupedPresets[preset.Group].Add(preset);
}
foreach (var group in groupedPresets)
{
RunGroup(assets, group.Value);
}
}
}
}

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 708f2c2e0c8172048b9c1f1b19705dc6
guid: 35b03c4eb985a2a489054b0738690d57
MonoImporter:
externalObjects: {}
serializedVersion: 2

9
AAC/AACShared/README.md Normal file
View file

@ -0,0 +1,9 @@
# AACShared
A group of AACCore layers that arent avatar specific
lillith if u dont make all of these togglable / configurable im going to commit
im so fr
also MAKE SURE ALL LAYERS HAVE `public override bool shouldWarnIfNotApplicable => false;`

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5e9e575cd3acc604eaec984aae71757b
guid: 6b5e9937d32bd674fb0909528112acc2
TextScriptImporter:
externalObjects: {}
userData:

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 71318e6f58f43d24b911579de721d22b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,16 @@
{
"name": "AACSharedRuntime",
"rootNamespace": "",
"references": [
"GUID:3456780c4fb2d324ab9c633d6f1b0ddb"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e73da13578f7b4d4fa785d6f8fe72ba3
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,36 @@
using System;
using UnityEngine;
using VRC.SDKBase;
#if UNITY_EDITOR
using UnityEditor;
#endif
namespace gay.lilyy.aacshared.runtimecomponents
{
public class ChildToggleDefinition : MonoBehaviour, IEditorOnly {
// unity needs this to show the enable/disable box
void Start(){}
public string MenuPath = "";
}
#if UNITY_EDITOR
[CustomEditor(typeof(ChildToggleDefinition))]
public class ChildToggleDefinitionInspector : Editor
{
public override void OnInspectorGUI()
{
EditorGUILayout.HelpBox(
"Any direct children of this object will have a toggle in the menu",
MessageType.Info
);
EditorGUILayout.Space();
// Draw the default inspector to show the 'enable' field
DrawDefaultInspector();
}
}
#endif
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: be675dd25b2a8854687c05c2ab33af0c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,35 @@
using System;
using UnityEngine;
using VRC.SDKBase;
namespace gay.lilyy.aacshared.runtimecomponents
{
public class FloaterDefinition: MonoBehaviour, IEditorOnly {
// unity needs this to show the enable/disable box
void Start(){}
public float floatHeight = 0;
[Tooltip("Time in seconds for one full spin cycle")]
public float loopInSeconds = 10f;
[Tooltip("Number of times object spins in one loop")]
public int spinCycles = 2;
[Tooltip("Axis to spin around (x, y, or z)")]
public string spinAxis = "z";
public bool enableOnPC = true;
[Tooltip("Quest, Pico, Android/iOS Mobile, etc.")]
public bool enableOnMobile = true;
[Tooltip("If set, this parameter will toggle the floater on/off")]
public string toggleParamName = "";
/** <summary>
Compares two FloaterDefinitions for equality based on their properties.
Used for chunking similar floaters into one animation layer
</summary> */
public override int GetHashCode()
{
return HashCode.Combine(floatHeight, loopInSeconds, spinCycles, enableOnPC, enableOnMobile, toggleParamName);
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3b3b5f65ee33db24bbb5f0042bec1f87
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,28 +1,53 @@
using UnityEditor;
using UnityEngine;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using VRC.SDK3.Avatars.ScriptableObjects;
using VRC.SDKBase;
#if UNITY_EDITOR
using UnityEditor;
using System.Linq;
using VRC.SDK3.Avatars.Components;
#endif
namespace gay.lilyy.PresetGenerator
namespace gay.lilyy.aacshared.runtimecomponents
{
[CustomEditor(typeof(ParameterPreset))]
public class ParameterPresetInspector : UnityEditor.Editor
[System.Serializable]
public class PresetParameter
{
private ParameterPreset preset;
public string name;
public VRCExpressionParameters.ValueType valueType;
public float setTo;
public bool shouldChange = false;
}
[AddComponentMenu("LillithRosePup/Parameter Preset")]
public class ParameterPresetDefinition : MonoBehaviour, IEditorOnly
{
public string Name = "New Preset";
public string Group = "Default";
[HideInInspector] // custom inspector
public List<PresetParameter> Parameters;
// unity needs this to show the enable/disable box
void Start() { }
}
#if UNITY_EDITOR
[CustomEditor(typeof(ParameterPresetDefinition))]
public class ParameterPresetDefinitionInspector : Editor
{
private ParameterPresetDefinition preset;
private bool parametersLoaded = false;
private void OnEnable()
{
preset = (ParameterPreset)target;
preset = (ParameterPresetDefinition)target;
LoadMissingParameters();
}
private void LoadMissingParameters()
{
VRCAvatarDescriptor aviDesc = preset.gameObject.GetComponent<VRCAvatarDescriptor>();
if (aviDesc.expressionParameters == null || parametersLoaded)
if (aviDesc == null || aviDesc.expressionParameters == null || parametersLoaded)
return;
// Initialize Parameters list if it's null
@ -36,13 +61,13 @@ namespace gay.lilyy.PresetGenerator
// Create a dictionary of source parameters for quick lookup
var sourceParamDict = sourceParameters.ToDictionary(p => p.name, p => p);
// Create a set of source parameter names
var sourceParameterNames = new HashSet<string>(sourceParamDict.Keys);
// Remove parameters that exist in preset but not in source
bool hasChanges = false;
preset.Parameters.RemoveAll(presetParam =>
preset.Parameters.RemoveAll(presetParam =>
{
if (!sourceParameterNames.Contains(presetParam.name))
{
@ -56,7 +81,7 @@ namespace gay.lilyy.PresetGenerator
foreach (var sourceParam in sourceParameters)
{
var existingParam = preset.Parameters.FirstOrDefault(p => p.name == sourceParam.name);
if (existingParam == null)
{
// Add new parameter
@ -91,6 +116,23 @@ namespace gay.lilyy.PresetGenerator
parametersLoaded = true;
}
private int GetPresetIndex()
{
VRCAvatarDescriptor aviDesc = preset.gameObject.GetComponent<VRCAvatarDescriptor>();
if (aviDesc == null)
return -1;
var presets = aviDesc.GetComponentsInChildren<ParameterPresetDefinition>().ToList().Where(p => p.Group == preset.Group).ToList();
for (int i = 0; i < presets.Count; i++)
{
if (presets[i] == preset)
{
return i + 1; // 1-based index matching ParameterPreset.cs
}
}
return -1;
}
public override void OnInspectorGUI()
{
// Ensure parameters are loaded when inspector is drawn
@ -99,26 +141,39 @@ namespace gay.lilyy.PresetGenerator
// Draw the default inspector
DrawDefaultInspector();
// Display preset index
int presetIndex = GetPresetIndex();
if (presetIndex > 0)
{
EditorGUILayout.Space();
EditorGUILayout.HelpBox($"Preset Index: {presetIndex}\n(This preset will be activated when the 'Preset {preset.Group}' parameter equals {presetIndex})", MessageType.Info);
}
if (GUILayout.Button("Copy Parameter Name")) {
GUIUtility.systemCopyBuffer = "Preset " + preset.Group;
EditorGUILayout.LabelField("Parameter Name Copied to Clipboard", EditorStyles.boldLabel);
}
// Custom parameter list rendering
if (preset.Parameters != null && preset.Parameters.Count > 0)
{
EditorGUILayout.Space();
EditorGUILayout.LabelField("Parameters", EditorStyles.boldLabel);
for (int i = 0; i < preset.Parameters.Count; i++)
{
var param = preset.Parameters[i];
EditorGUILayout.BeginHorizontal();
// Parameter name
EditorGUILayout.LabelField(param.name, GUILayout.Width(150));
// Parameter type (read-only)
EditorGUILayout.LabelField($"Type: {param.valueType}", GUILayout.Width(100));
// Should change toggle
param.shouldChange = EditorGUILayout.Toggle(param.shouldChange, GUILayout.Width(60));
// Set to value (only show if shouldChange is true)
if (param.shouldChange)
{
@ -139,7 +194,7 @@ namespace gay.lilyy.PresetGenerator
{
EditorGUILayout.LabelField("(unchanged)", GUILayout.Width(80));
}
EditorGUILayout.EndHorizontal();
}
}
@ -155,8 +210,8 @@ namespace gay.lilyy.PresetGenerator
// Add a button to clear all parameters
if (GUILayout.Button("Clear All Parameters"))
{
if (EditorUtility.DisplayDialog("Clear Parameters",
"Are you sure you want to clear all parameters from this preset?",
if (EditorUtility.DisplayDialog("Clear Parameters",
"Are you sure you want to clear all parameters from this preset?",
"Yes", "No"))
{
preset.Parameters.Clear();
@ -165,4 +220,5 @@ namespace gay.lilyy.PresetGenerator
}
}
}
}
#endif
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d6a5ecef749799144819cc07612056ef
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load diff

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 9c2e6d1bfd782264fba30d2a9a9228ef
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,76 +0,0 @@
%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: []

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 77d4b3fe64c721c42943fea5019cea16
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,21 +0,0 @@
%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

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 580f932906bb5814e9706d200902099e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,96 +0,0 @@
%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: []

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: b1b4d9aa0e7225e468c63bf311381187
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,121 +0,0 @@
%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

View file

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 947438966fe00b9438d7bc2d9de89fad
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -4,7 +4,8 @@
"references": [
"GUID:4713dd3cf2e7fa34cbc6bbb6fef3c7d0",
"GUID:62ced99b048af7f4d8dfe4bed8373d76",
"GUID:5718fb738711cd34ea54e9553040911d"
"GUID:5718fb738711cd34ea54e9553040911d",
"GUID:901e56b065a857d4483a77f8cae73588"
],
"includePlatforms": [
"Editor"

View file

@ -1,6 +1,7 @@
using System.Collections.Generic;
using gay.lilyy.MenuIconRemover;
using nadena.dev.ndmf;
using nadena.dev.ndmf.vrchat;
using UnityEditor;
using UnityEngine;
using VRC.SDK3.Avatars.ScriptableObjects;
@ -34,7 +35,8 @@ namespace gay.lilyy.MenuIconRemover
}
if (shouldRemove)
{
ctx.AvatarDescriptor.expressionsMenu = DuplicateMenu(obj, ctx.AvatarDescriptor.expressionsMenu);
var descriptor = ctx.VRChatAvatarDescriptor();
descriptor.expressionsMenu = DuplicateMenu(obj, descriptor.expressionsMenu);
Object.DestroyImmediate(obj);
}
}

View file

@ -4,7 +4,8 @@
"references": [
"GUID:108c6ed81f83e074fa168f7087c2a246",
"GUID:62ced99b048af7f4d8dfe4bed8373d76",
"GUID:5718fb738711cd34ea54e9553040911d"
"GUID:5718fb738711cd34ea54e9553040911d",
"GUID:901e56b065a857d4483a77f8cae73588"
],
"includePlatforms": [
"Editor"

View file

@ -1,6 +1,7 @@
using System.Collections.Generic;
using gay.lilyy.MenuIconReplacer;
using nadena.dev.ndmf;
using nadena.dev.ndmf.vrchat;
using NUnit.Framework.Constraints;
using UnityEditor;
using UnityEngine;
@ -23,7 +24,8 @@ namespace gay.lilyy.MenuIconReplacer
var obj = ctx.AvatarRootObject.GetComponent<MenuIconReplacerConfig>();
if (obj != null)
{
ctx.AvatarDescriptor.expressionsMenu = RecurseMenu(obj, ctx.AvatarDescriptor.expressionsMenu);
var descriptor = ctx.VRChatAvatarDescriptor();
descriptor.expressionsMenu = RecurseMenu(obj, descriptor.expressionsMenu);
Object.DestroyImmediate(obj);
}
});

View file

@ -4,7 +4,8 @@
"references": [
"GUID:8a060350c9ddd424197c8fd1e0d63f72",
"GUID:62ced99b048af7f4d8dfe4bed8373d76",
"GUID:5718fb738711cd34ea54e9553040911d"
"GUID:5718fb738711cd34ea54e9553040911d",
"GUID:901e56b065a857d4483a77f8cae73588"
],
"includePlatforms": [
"Editor"

View file

@ -1,6 +1,7 @@
using System.Collections.Generic;
using gay.lilyy.MenuStyling;
using nadena.dev.ndmf;
using nadena.dev.ndmf.vrchat;
using UnityEngine;
using VRC.SDK3.Avatars.ScriptableObjects;
using static VRC.SDK3.Avatars.ScriptableObjects.VRCExpressionsMenu;
@ -20,8 +21,9 @@ namespace gay.lilyy.MenuStyling
var obj = ctx.AvatarRootObject.GetComponent<MenuStylingConfig>();
if (obj != null)
{
ctx.AvatarDescriptor.expressionsMenu = DuplicateMenu(ctx.AvatarDescriptor.expressionsMenu);
WalkMenu(obj, ctx.AvatarDescriptor.expressionsMenu);
var descriptor = ctx.VRChatAvatarDescriptor();
descriptor.expressionsMenu = DuplicateMenu(descriptor.expressionsMenu);
WalkMenu(obj, descriptor.expressionsMenu);
Object.DestroyImmediate(obj);
}
});

View file

@ -1,66 +0,0 @@
%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: HOSCY Media Controls
m_EditorClassIdentifier:
Parameters: {fileID: 11400000, guid: 9ecd699a8e53fb84282895934b68300c, type: 2}
controls:
- name: Skip
icon: {fileID: 0}
type: 0
parameter:
name: MediaSkip
value: 1
style: 0
subMenu: {fileID: 0}
subParameters: []
labels: []
- name: Unpause
icon: {fileID: 0}
type: 0
parameter:
name: MediaUnpause
value: 1
style: 0
subMenu: {fileID: 0}
subParameters: []
labels: []
- name: Toggle Pause
icon: {fileID: 0}
type: 0
parameter:
name: MediaToggle
value: 1
style: 0
subMenu: {fileID: 0}
subParameters: []
labels: []
- name: Pause
icon: {fileID: 0}
type: 0
parameter:
name: MediaPause
value: 1
style: 0
subMenu: {fileID: 0}
subParameters: []
labels: []
- name: Back
icon: {fileID: 0}
type: 0
parameter:
name: MediaRewind
value: 1
style: 0
subMenu: {fileID: 0}
subParameters: []
labels: []

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 4e06c7e56e0548e4a988213ea1d3f36d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,46 +0,0 @@
%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: HOSCY Menu
m_EditorClassIdentifier:
Parameters: {fileID: 11400000, guid: 9ecd699a8e53fb84282895934b68300c, type: 2}
controls:
- name: Toggle Mute
icon: {fileID: 0}
type: 0
parameter:
name: ToolMute
value: 1
style: 0
subMenu: {fileID: 0}
subParameters: []
labels: []
- name: Clear Chatbox
icon: {fileID: 0}
type: 0
parameter:
name: ToolSkipBox
value: 1
style: 0
subMenu: {fileID: 0}
subParameters: []
labels: []
- name: Media
icon: {fileID: 0}
type: 103
parameter:
name:
value: 1
style: 0
subMenu: {fileID: 11400000, guid: 4e06c7e56e0548e4a988213ea1d3f36d, type: 2}
subParameters: []
labels: []

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: eacbb58faaed63944934487f4a784a35
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,66 +0,0 @@
%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: HOSCY Params
m_EditorClassIdentifier:
isEmpty: 0
parameters:
- name: ToolMute
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0
- name: ToolSkipBox
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0
- name: MediaInfo
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0
- name: MediaToggle
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0
- name: MediaPause
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0
- name: MediaUnpause
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0
- name: MediaSkip
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0
- name: MediaRewind
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0
- name: ToolEnableReplacements
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0
- name: ToolEnableBox
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 9ecd699a8e53fb84282895934b68300c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,849 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &207573495
GameObject:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 207573497}
- component: {fileID: 207573496}
m_Layer: 0
m_Name: nadena.dev.ndmf__Activator
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &207573496
MonoBehaviour:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 207573495}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c432a5ed00a04259997c23712bcf2186, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &207573497
Transform:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 207573495}
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: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &741937902
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1196135828297054, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
propertyPath: m_Name
value: GestureManager
objectReference: {fileID: 0}
- target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4364010554535032, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 2cd7c2d73a12a214b930125a1ca4ed33, type: 3}
--- !u!1 &1408084239
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1408084242}
- component: {fileID: 1408084241}
- component: {fileID: 1408084240}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &1408084240
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1408084239}
m_Enabled: 1
--- !u!20 &1408084241
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1408084239}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &1408084242
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1408084239}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1746243705
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1746243706}
- component: {fileID: 1746243709}
- component: {fileID: 1746243708}
- component: {fileID: 1746243707}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1746243706
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1746243705}
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: 0
m_Children: []
m_Father: {fileID: 2067042381}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!65 &1746243707
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1746243705}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &1746243708
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1746243705}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &1746243709
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1746243705}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &1993829427
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1993829429}
- component: {fileID: 1993829428}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &1993829428
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1993829427}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &1993829429
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1993829427}
serializedVersion: 2
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &2067042378
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2067042381}
- component: {fileID: 2067042380}
- component: {fileID: 2067042379}
- component: {fileID: 2067042382}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &2067042379
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2067042378}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -1427037861, guid: 4ecd63eff847044b68db9453ce219299, type: 3}
m_Name:
m_EditorClassIdentifier:
launchedFromSDKPipeline: 0
completedSDKPipeline: 0
blueprintId:
contentType: 0
assetBundleUnityVersion:
fallbackStatus: 0
--- !u!114 &2067042380
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2067042378}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 542108242, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3}
m_Name:
m_EditorClassIdentifier:
Name:
ViewPosition: {x: 0, y: 1.6, z: 0.2}
Animations: 0
ScaleIPD: 1
lipSync: 0
lipSyncJawBone: {fileID: 0}
lipSyncJawClosed: {x: 0, y: 0, z: 0, w: 1}
lipSyncJawOpen: {x: 0, y: 0, z: 0, w: 1}
VisemeSkinnedMesh: {fileID: 0}
MouthOpenBlendShapeName: Facial_Blends.Jaw_Down
VisemeBlendShapes: []
unityVersion:
portraitCameraPositionOffset: {x: 0, y: 0, z: 0}
portraitCameraRotationOffset: {x: 0, y: 1, z: 0, w: -0.00000004371139}
networkIDs: []
customExpressions: 1
expressionsMenu: {fileID: 11400000, guid: eacbb58faaed63944934487f4a784a35, type: 2}
expressionParameters: {fileID: 11400000, guid: 9ecd699a8e53fb84282895934b68300c, type: 2}
enableEyeLook: 0
customEyeLookSettings:
eyeMovement:
confidence: 0.5
excitement: 0.5
leftEye: {fileID: 0}
rightEye: {fileID: 0}
eyesLookingStraight:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
eyesLookingUp:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
eyesLookingDown:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
eyesLookingLeft:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
eyesLookingRight:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
eyelidType: 0
upperLeftEyelid: {fileID: 0}
upperRightEyelid: {fileID: 0}
lowerLeftEyelid: {fileID: 0}
lowerRightEyelid: {fileID: 0}
eyelidsDefault:
upper:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
lower:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
eyelidsClosed:
upper:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
lower:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
eyelidsLookingUp:
upper:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
lower:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
eyelidsLookingDown:
upper:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
lower:
linked: 1
left: {x: 0, y: 0, z: 0, w: 0}
right: {x: 0, y: 0, z: 0, w: 0}
eyelidsSkinnedMesh: {fileID: 0}
eyelidsBlendshapes:
customizeAnimationLayers: 1
baseAnimationLayers:
- isEnabled: 0
type: 0
animatorController: {fileID: 0}
mask: {fileID: 0}
isDefault: 1
- isEnabled: 0
type: 4
animatorController: {fileID: 0}
mask: {fileID: 0}
isDefault: 1
- isEnabled: 0
type: 5
animatorController: {fileID: 9100000, guid: 0968be0196d1a824194709765dd0428d, type: 2}
mask: {fileID: 0}
isDefault: 0
specialAnimationLayers:
- isEnabled: 0
type: 6
animatorController: {fileID: 0}
mask: {fileID: 0}
isDefault: 1
- isEnabled: 0
type: 7
animatorController: {fileID: 0}
mask: {fileID: 0}
isDefault: 1
- isEnabled: 0
type: 8
animatorController: {fileID: 0}
mask: {fileID: 0}
isDefault: 1
AnimationPreset: {fileID: 0}
animationHashSet: []
autoFootsteps: 1
autoLocomotion: 1
collider_head:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_torso:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_footR:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_footL:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_handR:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_handL:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_fingerIndexL:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_fingerMiddleL:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_fingerRingL:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_fingerLittleL:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_fingerIndexR:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_fingerMiddleR:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_fingerRingR:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
collider_fingerLittleR:
isMirrored: 1
state: 0
transform: {fileID: 0}
radius: 0
height: 0
position: {x: 0, y: 0, z: 0}
rotation: {x: 0, y: 0, z: 0, w: 1}
--- !u!4 &2067042381
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2067042378}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1.0064211, y: 0.7215953, z: -3.148621}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1746243706}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &2067042382
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2067042378}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 0}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 1408084242}
- {fileID: 1993829429}
- {fileID: 207573497}
- {fileID: 2067042381}
- {fileID: 741937902}

View file

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 9313ce98fff8c294db16ed4e5b9c8646
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,71 +0,0 @@
%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: VM Menu
m_EditorClassIdentifier:
Parameters: {fileID: 11400000, guid: dd839aaedeb7e88479f2db0250d003d4, type: 2}
controls:
- name: VAIO
icon: {fileID: 0}
type: 203
parameter:
name:
value: 1
style: 0
subMenu: {fileID: 0}
subParameters:
- name: sm/gain/VAIO
labels: []
- name: AUX
icon: {fileID: 0}
type: 203
parameter:
name:
value: 1
style: 0
subMenu: {fileID: 0}
subParameters:
- name: sm/gain/AUX
labels: []
- name: VAIO3
icon: {fileID: 0}
type: 203
parameter:
name:
value: 1
style: 0
subMenu: {fileID: 0}
subParameters:
- name: sm/gain/VAIO3
labels: []
- name: AUX > B1
icon: {fileID: 0}
type: 102
parameter:
name: sm/strip/AUX/B1
value: 1
style: 0
subMenu: {fileID: 0}
subParameters:
- name: sm/strip/AUX/B1
labels: []
- name: AUX Mute
icon: {fileID: 0}
type: 102
parameter:
name: sm/strip/AUX/Mute
value: 1
style: 0
subMenu: {fileID: 0}
subParameters:
- name: sm/strip/AUX/B1
labels: []

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 1d809dc98cc46ff49b67674778b8f167
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,41 +0,0 @@
%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: VM Params
m_EditorClassIdentifier:
isEmpty: 0
parameters:
- name: sm/gain/VAIO
valueType: 1
saved: 0
defaultValue: 0
networkSynced: 0
- name: sm/gain/AUX
valueType: 1
saved: 0
defaultValue: 0
networkSynced: 0
- name: sm/gain/VAIO3
valueType: 1
saved: 0
defaultValue: 0
networkSynced: 0
- name: sm/strip/AUX/B1
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0
- name: sm/strip/AUX/Mute
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 0

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: dd839aaedeb7e88479f2db0250d003d4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,111 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1718541793057240430
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3001921875864114090}
- component: {fileID: 5925253330340304942}
m_Layer: 0
m_Name: Voicemeeter
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3001921875864114090
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1718541793057240430}
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 &5925253330340304942
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1718541793057240430}
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.1234.0
somethingIsBroken: 0
config:
features: []
content:
rid: 50338559674024121
references:
version: 2
RefIds:
- rid: 50338559674024121
type: {class: FullController, ns: VF.Model.Feature, asm: VRCFury}
data:
version: 4
controllers: []
menus:
- menu:
version: 1
fileID: 0
guid:
id: 1d809dc98cc46ff49b67674778b8f167|Assets/! LillithRosePup/Mixer Controls/STEAMEETER/Menu.asset
objRef: {fileID: 11400000, guid: 1d809dc98cc46ff49b67674778b8f167, type: 2}
prefix: Utils/Mixers/Voicemeeter
prms:
- parameters:
version: 1
fileID: 0
guid:
id: dd839aaedeb7e88479f2db0250d003d4|Assets/! LillithRosePup/Mixer Controls/STEAMEETER/Params.asset
objRef: {fileID: 11400000, guid: dd839aaedeb7e88479f2db0250d003d4, type: 2}
smoothedPrms: []
globalParams:
- '*'
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

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: bfff3c3f9cc48b34a9c100d80d9337f5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 678807767a302cc469643a3d2ba870ea
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,322 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1107 &-7831323369560185897
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Set InvisRemote
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 3138549469001800764}
m_Position: {x: 280, y: 80, z: 0}
- serializedVersion: 1
m_State: {fileID: -5476205041597225641}
m_Position: {x: 560, y: 30, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 3138549469001800764}
--- !u!1102 &-5476205041597225641
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: InvisibleRemote
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 3471562930407511474}
- {fileID: 6724418095391302561}
- {fileID: -3774455353007183083}
m_StateMachineBehaviours:
- {fileID: 2569663486387394592}
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: b79ec9865705bd44f9faabad23644aa4, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1107 &-5219735088411767839
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates: []
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 0}
--- !u!1101 &-3774455353007183083
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: IsLocal
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 3138549469001800764}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Invisible FX
serializedVersion: 5
m_AnimatorParameters:
- m_Name: Invisible
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: InvisibleRemote
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: IsOnFriendsList
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: IsLocal
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -5219735088411767839}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
- serializedVersion: 5
m_Name: Set InvisRemote
m_StateMachine: {fileID: -7831323369560185897}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!114 &2569663486387394592
MonoBehaviour:
m_ObjectHideFlags: 1
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: -706344726, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3}
m_Name:
m_EditorClassIdentifier:
parameters:
- type: 0
name: InvisibleRemote
source:
value: 1
valueMin: 0
valueMax: 0
chance: 0
convertRange: 0
sourceMin: 0
sourceMax: 0
destMin: 0
destMax: 0
localOnly: 0
debugString:
--- !u!1102 &3138549469001800764
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Idle
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 3239796703156259868}
m_StateMachineBehaviours:
- {fileID: 6113640900114223699}
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: b79ec9865705bd44f9faabad23644aa4, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &3239796703156259868
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Invisible
m_EventTreshold: 0
- m_ConditionMode: 2
m_ConditionEvent: IsLocal
m_EventTreshold: 0
- m_ConditionMode: 2
m_ConditionEvent: IsOnFriendsList
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -5476205041597225641}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.0000000013601877
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &3471562930407511474
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: Invisible
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 3138549469001800764}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!114 &6113640900114223699
MonoBehaviour:
m_ObjectHideFlags: 1
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: -706344726, guid: 67cc4cb7839cd3741b63733d5adf0442, type: 3}
m_Name:
m_EditorClassIdentifier:
parameters:
- type: 0
name: InvisibleRemote
source:
value: 0
valueMin: 0
valueMax: 0
chance: 0
convertRange: 0
sourceMin: 0
sourceMax: 0
destMin: 0
destMax: 0
localOnly: 0
debugString:
--- !u!1101 &6724418095391302561
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: IsOnFriendsList
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 3138549469001800764}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: b7aa586cce03bae40abad72be7af208e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,26 +0,0 @@
%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: Invisible Params
m_EditorClassIdentifier:
isEmpty: 0
parameters:
- name: Invisible
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 1
- name: InvisibleRemote
valueType: 2
saved: 0
defaultValue: 0
networkSynced: 1

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: a27cf3a54436d2d44a2a984c617c39f5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,308 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1479440316466235434
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8243039990407949806}
- component: {fileID: 4745843038337549744}
- component: {fileID: 2597030702768941624}
m_Layer: 0
m_Name: AlwaysShow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8243039990407949806
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1479440316466235434}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -0.0365, z: 0}
m_LocalScale: {x: 0.0001, y: 0.0001, z: 0.0001}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 4582736907970903416}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4745843038337549744
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1479440316466235434}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &2597030702768941624
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1479440316466235434}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: e5e56919724453948ab703cd5d0cd5fd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &2554665527660486042
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4582736907970903416}
- component: {fileID: 2143511496118359044}
- component: {fileID: 9068299591713625195}
m_Layer: 0
m_Name: Invisible Toggle - READ SETUP
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4582736907970903416
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2554665527660486042}
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:
- {fileID: 8243039990407949806}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2143511496118359044
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2554665527660486042}
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.1172.0
somethingIsBroken: 0
config:
features: []
content:
rid: 1818413187195470221
references:
version: 2
RefIds:
- rid: 1818413187195470221
type: {class: FullController, ns: VF.Model.Feature, asm: VRCFury}
data:
version: 4
controllers:
- controller:
version: 1
fileID: 0
guid:
id: b7aa586cce03bae40abad72be7af208e|Assets/! lillithkt/Moderation Toolkit/Invisible/Invisible
FX.controller
objRef: {fileID: 9100000, guid: b7aa586cce03bae40abad72be7af208e, type: 2}
type: 5
menus: []
prms:
- parameters:
version: 1
fileID: 0
guid:
id: a27cf3a54436d2d44a2a984c617c39f5|Assets/! lillithkt/Moderation Toolkit/Invisible/Invisible
Params.asset
objRef: {fileID: 11400000, guid: a27cf3a54436d2d44a2a984c617c39f5, type: 2}
smoothedPrms: []
globalParams:
- Invisible
- InvisibleRemote
- IsOnFriendsList
- IsLocal
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
--- !u!114 &9068299591713625195
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2554665527660486042}
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.1172.0
somethingIsBroken: 0
config:
features: []
content:
rid: 1818413187195470103
references:
version: 2
RefIds:
- rid: 1818413187195470103
type: {class: Toggle, ns: VF.Model.Feature, asm: VRCFury}
data:
version: 3
name: Moderation/Invisible
state:
actions:
- rid: 1818413187195470144
saved: 0
slider: 0
sliderInactiveAtZero: 0
securityEnabled: 0
defaultOn: 0
includeInRest: 0
exclusiveOffState: 0
enableExclusiveTag: 0
exclusiveTag:
resetPhysbones: []
hasExitTime: 0
enableIcon: 0
icon:
version: 1
fileID: 0
guid:
id:
objRef: {fileID: 0}
enableDriveGlobalParam: 0
driveGlobalParam:
separateLocal: 0
localState:
actions:
- rid: 1818413187195470128
hasTransition: 0
transitionStateIn:
actions: []
transitionStateOut:
actions: []
transitionTimeIn: 0
transitionTimeOut: 0
localTransitionStateIn:
actions: []
localTransitionStateOut:
actions: []
localTransitionTimeIn: 0
localTransitionTimeOut: 0
simpleOutTransition: 1
defaultSliderValue: 0
useGlobalParam: 1
globalParam: Invisible
holdButton: 0
invertRestLogic: 0
expandIntoTransition: 1
- rid: 1818413187195470128
type: {class: MaterialPropertyAction, ns: VF.Model.StateAction, asm: VRCFury}
data:
version: 2
desktopActive: 0
androidActive: 0
localOnly: 0
remoteOnly: 0
renderer: {fileID: 0}
renderer2: {fileID: 0}
affectAllMeshes: 1
propertyName: _Color
propertyType: 1
value: 0
valueVector: {x: 0, y: 0, z: 0, w: 0}
valueColor: {r: 1, g: 0, b: 0, a: 1}
- rid: 1818413187195470144
type: {class: MaterialPropertyAction, ns: VF.Model.StateAction, asm: VRCFury}
data:
version: 2
desktopActive: 0
androidActive: 0
localOnly: 0
remoteOnly: 0
renderer: {fileID: 0}
renderer2: {fileID: 0}
affectAllMeshes: 1
propertyName: _Color
propertyType: 1
value: 0
valueVector: {x: 0, y: 0, z: 0, w: 0}
valueColor: {r: 1, g: 0, b: 0, a: 1}

View file

@ -1,15 +0,0 @@
Shader "Moderation/Invisible"
{
SubShader
{
Pass
{
CGPROGRAM
#pragma vertex empty
#pragma fragment empty
#include "UnityCG.cginc"
void empty() {}
ENDCG
}
}
}

View file

@ -1,9 +0,0 @@
fileFormatVersion: 2
guid: 5d9f7bd2430e335458d8bbbc102de1e1
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,53 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: _empty
serializedVersion: 7
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings: []
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 1
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: b79ec9865705bd44f9faabad23644aa4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 B

View file

@ -1,127 +0,0 @@
fileFormatVersion: 2
guid: 349b68600cbbac4478155d482306f7cc
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 1
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,83 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: invis
m_Shader: {fileID: 4800000, guid: 5d9f7bd2430e335458d8bbbc102de1e1, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 349b68600cbbac4478155d482306f7cc, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: e5e56919724453948ab703cd5d0cd5fd
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,83 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: quest invis
m_Shader: {fileID: 4800000, guid: 9200bec112b65ec4fbbbd33fa89c20f4, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 349b68600cbbac4478155d482306f7cc, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 744f98bd72211cd46a60f5dfa6ec4f84
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View file

@ -1,127 +0,0 @@
fileFormatVersion: 2
guid: 1e676babe7acc2741ada83aec27c1115
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

View file

@ -1,127 +0,0 @@
fileFormatVersion: 2
guid: d14a04ac3e11acc498547bdaa55495e8
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,6 +0,0 @@
create a vrcfury toggle on the root of your avatar that follows the structure of setup.png
for quest, change the material of the AlwaysShow object to the quest invis material
if you would like your impostor to be invisible, place the VRCImpostorSettings component on your avatar root and add everything to ignored transforms
see "setup impostor.png" for an example

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 24de212a46c514646b5d04ebe1dfa395
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,224 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &6667526059442258137
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 324223086297402364, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: latestValidExecutionGroupIndex
value: 0
objectReference: {fileID: 0}
- target: {fileID: 846282828178280192, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: m_Name
value: IkeHud Astral
objectReference: {fileID: 0}
- target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1242393311438045446, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3683154404670319890, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: latestValidExecutionGroupIndex
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4286954533968518729, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: latestValidExecutionGroupIndex
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5093139689808635344, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: latestValidExecutionGroupIndex
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5470642297624394295, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: cachedExecutionGroupIndex
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5470642297624394295, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: latestValidExecutionGroupIndex
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6393878351333368133, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: cachedExecutionGroupIndex
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6393878351333368133, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
propertyPath: latestValidExecutionGroupIndex
value: 0
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 7613312378549862579, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
- {fileID: 2769584058788660028, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 846282828178280192, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
insertIndex: -1
addedObject: {fileID: 2459264407843859199}
- targetCorrespondingSourceObject: {fileID: 846282828178280192, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
insertIndex: -1
addedObject: {fileID: 2510541009628165955}
m_SourcePrefab: {fileID: 100100000, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
--- !u!1 &6285149452133142489 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 846282828178280192, guid: 6e20fcb1a9fa4124c9cf775658c038d8, type: 3}
m_PrefabInstance: {fileID: 6667526059442258137}
m_PrefabAsset: {fileID: 0}
--- !u!114 &2459264407843859199
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6285149452133142489}
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: 1466765678302461952
references:
version: 2
RefIds:
- rid: 1466765678302461952
type: {class: FullController, ns: VF.Model.Feature, asm: VRCFury}
data:
version: 4
controllers:
- controller:
version: 1
fileID: 0
guid:
id: ac79ce810203c54429f4666ebd235d6b|Assets/Ikeiwa/IkeHUD/Assets/Huds/Astral/Animations/FXHudAnimator_Astral.controller
objRef: {fileID: 9100000, guid: ac79ce810203c54429f4666ebd235d6b, type: 2}
type: 5
menus:
- menu:
version: 1
fileID: 0
guid:
id: ec02051e86d6f1c4890f4f3cd768208f|Assets/Ikeiwa/IkeHUD/Assets/VRC/HUDMainSubMenu.asset
objRef: {fileID: 11400000, guid: ec02051e86d6f1c4890f4f3cd768208f, type: 2}
prefix: Moderation/HUD
prms:
- parameters:
version: 1
fileID: 0
guid:
id: 20a518ab23a96d14fb38efc6c1e50f23|Assets/Ikeiwa/IkeHUD/Assets/VRC/HUDParameters.asset
objRef: {fileID: 11400000, guid: 20a518ab23a96d14fb38efc6c1e50f23, type: 2}
smoothedPrms: []
globalParams:
- HUDSettings/State/HUDEnabled
- HUDSettings/Contacts/HUDEnabled
- HUDSettings/State/Overlay
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
--- !u!114 &2510541009628165955
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6285149452133142489}
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: 1466765691889123354
references:
version: 2
RefIds:
- rid: 1466765691889123354
type: {class: SetIcon, ns: VF.Model.Feature, asm: VRCFury}
data:
version: 1
path: Moderation/HUD
icon:
version: 1
fileID: 0
guid:
id: fb8f30e51da45ae47883215767ea0191|Assets/Ikeiwa/IkeHUD/Assets/Textures/Icons/Icon_HUD.png
objRef: {fileID: 2800000, guid: fb8f30e51da45ae47883215767ea0191, type: 3}

View file

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 829ab82f8aad0fb4ca4b80224a906219
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 577356396febec949b7762d7c8af5e64
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show more