Bring in AAC!
project ive been working on for a while, just felt confident enough to move it here
This commit is contained in:
parent
e608e2a56b
commit
1d7052a258
209 changed files with 1561 additions and 74738 deletions
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 427c392dca21e4947ad9dc3872ba0db3
|
||||
guid: 978f6069cb1ad854a88aa108b19830e6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 019d258ba298fd64aa4323294de74515
|
||||
guid: da7e8c9875c7937418ca83b4ee80e8bc
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6b73bb805dd5f4547b50c99d7eb519a0
|
||||
guid: 4d93bb3c8aebb5a4980d314c9c09afb7
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
300
AAC/AACCore/Editor/AACCore.cs
Normal file
300
AAC/AACCore/Editor/AACCore.cs
Normal 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
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: bee19258cf09a8b469dd38850dcb5138
|
||||
guid: 130146287c9f763418ba1890a11f5633
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
27
AAC/AACCore/Editor/AACCoreEditor.asmdef
Normal file
27
AAC/AACCore/Editor/AACCoreEditor.asmdef
Normal 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
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: db37b7b64d44e2442ae3aed7b0759d8f
|
||||
guid: 8d0a4403a05276c4087dd785a3c7818d
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
31
AAC/AACCore/Editor/LayerGroup.cs
Normal file
31
AAC/AACCore/Editor/LayerGroup.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 51ac4f0bd9fb2f74e94a980e6acd756f
|
||||
guid: b62c5c48d33ff344184e9d2af6229e52
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
68
AAC/AACCore/Editor/Logger.cs
Normal file
68
AAC/AACCore/Editor/Logger.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
11
AAC/AACCore/Editor/Logger.cs.meta
Normal file
11
AAC/AACCore/Editor/Logger.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b4fd8b997bc1c544e83e5ed5014361c4
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1a56a58893574df45b8e4032a47fbc13
|
||||
guid: 7613e1079336b844dbd75b28c6cf9050
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"name": "PresetGeneratorRuntime",
|
||||
"name": "AACCoreRuntime",
|
||||
"rootNamespace": "",
|
||||
"references": [
|
||||
"VRC.SDK3A"
|
||||
"GUID:5718fb738711cd34ea54e9553040911d"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d3fbd56666ff1ee4da8101d622364046
|
||||
guid: 165b54f9f25c92d48859a4f1a962cac0
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
50
AAC/AACCore/Runtime/AACRoot.cs
Normal file
50
AAC/AACCore/Runtime/AACRoot.cs
Normal 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
|
||||
}
|
||||
}
|
||||
11
AAC/AACCore/Runtime/AACRoot.cs.meta
Normal file
11
AAC/AACCore/Runtime/AACRoot.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3a0c8f4a9a1d73e4ab34270b10988813
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e93e138efeaf9b6489552636afc5b88b
|
||||
guid: 02ed31c0bed0fd045b53f2a08b792152
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
23
AAC/AACCore/Template/Template.cs
Normal file
23
AAC/AACCore/Template/Template.cs
Normal 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!");
|
||||
}
|
||||
}
|
||||
}
|
||||
11
AAC/AACCore/Template/Template.cs.meta
Normal file
11
AAC/AACCore/Template/Template.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a63a02520572be74b9866f7c32915518
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
25
AAC/AACCore/Template/TemplateAAC.asmdef
Normal file
25
AAC/AACCore/Template/TemplateAAC.asmdef
Normal 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
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
fileFormatVersion: 2
|
||||
guid: cfdf6b6b0a6f37f4ebedd37bf0abdd05
|
||||
PrefabImporter:
|
||||
guid: b13df479673c65d4785814fc8079202f
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7fdf868af7702c44eb56c1e39908220d
|
||||
guid: 980779dd23e254847be872de3d0796f1
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
8
AAC/AACShared/Layers.meta
Normal file
8
AAC/AACShared/Layers.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fbd24b1ba03c78f4bbb7279612566919
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
27
AAC/AACShared/Layers/AACSharedLayers.asmdef
Normal file
27
AAC/AACShared/Layers/AACSharedLayers.asmdef
Normal 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
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5a814aef6bf84b74ebb28f705f84a8ef
|
||||
PrefabImporter:
|
||||
guid: 82ac5caf0663be04faa61ac94362fd55
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
217
AAC/AACShared/Layers/ChildToggle.cs
Normal file
217
AAC/AACShared/Layers/ChildToggle.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
11
AAC/AACShared/Layers/ChildToggle.cs.meta
Normal file
11
AAC/AACShared/Layers/ChildToggle.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2c428d7f31c05e0479683c9b1f17a05d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
156
AAC/AACShared/Layers/Floater.cs
Normal file
156
AAC/AACShared/Layers/Floater.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
11
AAC/AACShared/Layers/Floater.cs.meta
Normal file
11
AAC/AACShared/Layers/Floater.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8c1340bf8df44f24cabe4db762796c21
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
187
AAC/AACShared/Layers/LanternFlicker.cs
Normal file
187
AAC/AACShared/Layers/LanternFlicker.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
11
AAC/AACShared/Layers/LanternFlicker.cs.meta
Normal file
11
AAC/AACShared/Layers/LanternFlicker.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b23933d2d4383264e8a63812c8580be2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
114
AAC/AACShared/Layers/ParameterPreset.cs
Normal file
114
AAC/AACShared/Layers/ParameterPreset.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 708f2c2e0c8172048b9c1f1b19705dc6
|
||||
guid: 35b03c4eb985a2a489054b0738690d57
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
9
AAC/AACShared/README.md
Normal file
9
AAC/AACShared/README.md
Normal 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;`
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5e9e575cd3acc604eaec984aae71757b
|
||||
guid: 6b5e9937d32bd674fb0909528112acc2
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
8
AAC/AACShared/Runtime.meta
Normal file
8
AAC/AACShared/Runtime.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 71318e6f58f43d24b911579de721d22b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
16
AAC/AACShared/Runtime/AACSharedRuntime.asmdef
Normal file
16
AAC/AACShared/Runtime/AACSharedRuntime.asmdef
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"name": "AACSharedRuntime",
|
||||
"rootNamespace": "",
|
||||
"references": [
|
||||
"GUID:3456780c4fb2d324ab9c633d6f1b0ddb"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
7
AAC/AACShared/Runtime/AACSharedRuntime.asmdef.meta
Normal file
7
AAC/AACShared/Runtime/AACSharedRuntime.asmdef.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e73da13578f7b4d4fa785d6f8fe72ba3
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
36
AAC/AACShared/Runtime/ChildToggleDefinition.cs
Normal file
36
AAC/AACShared/Runtime/ChildToggleDefinition.cs
Normal 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
|
||||
}
|
||||
11
AAC/AACShared/Runtime/ChildToggleDefinition.cs.meta
Normal file
11
AAC/AACShared/Runtime/ChildToggleDefinition.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: be675dd25b2a8854687c05c2ab33af0c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
35
AAC/AACShared/Runtime/FloaterDefinition.cs
Normal file
35
AAC/AACShared/Runtime/FloaterDefinition.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
11
AAC/AACShared/Runtime/FloaterDefinition.cs.meta
Normal file
11
AAC/AACShared/Runtime/FloaterDefinition.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3b3b5f65ee33db24bbb5f0042bec1f87
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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
|
||||
}
|
||||
11
AAC/AACShared/Runtime/ParameterPresetDefinition.cs.meta
Normal file
11
AAC/AACShared/Runtime/ParameterPresetDefinition.cs.meta
Normal 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
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9c2e6d1bfd782264fba30d2a9a9228ef
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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: []
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 77d4b3fe64c721c42943fea5019cea16
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 580f932906bb5814e9706d200902099e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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: []
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b1b4d9aa0e7225e468c63bf311381187
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 947438966fe00b9438d7bc2d9de89fad
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -4,7 +4,8 @@
|
|||
"references": [
|
||||
"GUID:4713dd3cf2e7fa34cbc6bbb6fef3c7d0",
|
||||
"GUID:62ced99b048af7f4d8dfe4bed8373d76",
|
||||
"GUID:5718fb738711cd34ea54e9553040911d"
|
||||
"GUID:5718fb738711cd34ea54e9553040911d",
|
||||
"GUID:901e56b065a857d4483a77f8cae73588"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@
|
|||
"references": [
|
||||
"GUID:108c6ed81f83e074fa168f7087c2a246",
|
||||
"GUID:62ced99b048af7f4d8dfe4bed8373d76",
|
||||
"GUID:5718fb738711cd34ea54e9553040911d"
|
||||
"GUID:5718fb738711cd34ea54e9553040911d",
|
||||
"GUID:901e56b065a857d4483a77f8cae73588"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@
|
|||
"references": [
|
||||
"GUID:8a060350c9ddd424197c8fd1e0d63f72",
|
||||
"GUID:62ced99b048af7f4d8dfe4bed8373d76",
|
||||
"GUID:5718fb738711cd34ea54e9553040911d"
|
||||
"GUID:5718fb738711cd34ea54e9553040911d",
|
||||
"GUID:901e56b065a857d4483a77f8cae73588"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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: []
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4e06c7e56e0548e4a988213ea1d3f36d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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: []
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: eacbb58faaed63944934487f4a784a35
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9ecd699a8e53fb84282895934b68300c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9313ce98fff8c294db16ed4e5b9c8646
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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: []
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1d809dc98cc46ff49b67674778b8f167
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: dd839aaedeb7e88479f2db0250d003d4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: bfff3c3f9cc48b34a9c100d80d9337f5
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 678807767a302cc469643a3d2ba870ea
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b7aa586cce03bae40abad72be7af208e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a27cf3a54436d2d44a2a984c617c39f5
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
Shader "Moderation/Invisible"
|
||||
{
|
||||
SubShader
|
||||
{
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma vertex empty
|
||||
#pragma fragment empty
|
||||
#include "UnityCG.cginc"
|
||||
void empty() {}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5d9f7bd2430e335458d8bbbc102de1e1
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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: []
|
||||
|
|
@ -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 |
|
|
@ -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:
|
||||
|
|
@ -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: []
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e5e56919724453948ab703cd5d0cd5fd
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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: []
|
||||
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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:
|
||||
|
|
@ -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
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 24de212a46c514646b5d04ebe1dfa395
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -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}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 829ab82f8aad0fb4ca4b80224a906219
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 577356396febec949b7762d7c8af5e64
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue