mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-04-19 13:37:26 -05:00
first person set default button
This commit is contained in:
parent
f28b5f93df
commit
081dbae6ff
|
|
@ -1,5 +1,7 @@
|
|||
using UniGLTF;
|
||||
using System.Linq;
|
||||
using UniGLTF;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UniVRM10
|
||||
{
|
||||
|
|
@ -74,6 +76,14 @@ namespace UniVRM10
|
|||
break;
|
||||
|
||||
case Tabs.FirstPerson:
|
||||
using (new EditorGUI.DisabledScope(m_target.Prefab == null))
|
||||
{
|
||||
if (GUILayout.Button("set default"))
|
||||
{
|
||||
m_target.FirstPerson.SetDefault(m_target.Prefab.transform);
|
||||
}
|
||||
EditorGUILayout.HelpBox("Clear Renderers and add all renderers (Auto)", MessageType.Info);
|
||||
}
|
||||
m_firstPerson.OnInspectorGUI();
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,20 +11,21 @@ namespace UniVRM10
|
|||
{
|
||||
[SerializeField]
|
||||
public List<RendererFirstPersonFlags> Renderers = new List<RendererFirstPersonFlags>();
|
||||
public void SetDefault(Transform root)
|
||||
{
|
||||
Renderers.Clear();
|
||||
|
||||
// public void CopyTo(GameObject _dst, Dictionary<Transform, Transform> map)
|
||||
// {
|
||||
// var dst = _dst.GetOrAddComponent<VRM10Controller>();
|
||||
// dst.Vrm.FirstPerson.Renderers = Renderers.Select(x =>
|
||||
// {
|
||||
// var renderer = map[x.Renderer.transform].GetComponent<Renderer>();
|
||||
// return new RendererFirstPersonFlags
|
||||
// {
|
||||
// Renderer = renderer,
|
||||
// FirstPersonFlag = x.FirstPersonFlag,
|
||||
// };
|
||||
// }).ToList();
|
||||
// }
|
||||
var renderers = root.GetComponentsInChildren<Renderer>();
|
||||
var paths = renderers.Select(x => x.transform.RelativePathFrom(root)).ToArray();
|
||||
foreach (var path in paths)
|
||||
{
|
||||
Renderers.Add(new RendererFirstPersonFlags
|
||||
{
|
||||
FirstPersonFlag = UniGLTF.Extensions.VRMC_vrm.FirstPersonType.auto,
|
||||
Renderer = path,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// If no layer names are set, use the default layer IDs.
|
||||
// Otherwise use the two Unity layers called "VRMFirstPersonOnly" and "VRMThirdPersonOnly".
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user