WIP MetaView

This commit is contained in:
ousttrue
2025-03-18 03:23:56 +09:00
parent 0c9b765680
commit 18b16ddc46
8 changed files with 491 additions and 377 deletions

View File

@@ -1,4 +1,10 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<ui:UXML
xmlns:ui="UnityEngine.UIElements"
xmlns:uie="UnityEditor.UIElements"
xsi="http://www.w3.org/2001/XMLSchema-instance"
noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd"
editor-extension-mode="False"
>
<EmotionElement style="flex-shrink: 0;">
<ui:VisualElement style="flex-grow: 1; flex-direction: row;">
<ui:Slider label="Slider" high-value="100" name="Slider" style="flex-shrink: 1; flex-grow: 1;" />

View File

@@ -1,8 +1,9 @@
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
<ui:Template name="EmotionElement" src="./EmotionElement.uxml" />
<ui:Template name="ExpressionElement" src="./ExpressionElement.uxml" />
<ui:Template name="EmotionElement" src="project://database/Assets/VRM10_Samples/VRM10Viewer/UIToolkit/EmotionElement.uxml?fileID=9197481963319205126&amp;guid=e877eb3dcb0d99e4a99d40156a476bce&amp;type=3#EmotionElement" />
<ui:Template name="ExpressionElement" src="project://database/Assets/VRM10_Samples/VRM10Viewer/UIToolkit/ExpressionElement.uxml?fileID=9197481963319205126&amp;guid=f16ec41d6ac2e364f92a4de67b3f972a&amp;type=3#ExpressionElement" />
<ui:Template name="MetaView" src="project://database/Assets/VRM10_Samples/VRM10Viewer/UIToolkit/MetaView.uxml?fileID=9197481963319205126&amp;guid=fc89bbe262d980f4a9695319d2f9ed75&amp;type=3#MetaView" />
<ui:VisualElement style="flex-grow: 1; flex-direction: row;">
<ui:VisualElement name="left" style="flex-grow: 0; min-width: 200px; background-color: rgba(255, 255, 255, 0.35);">
<ui:VisualElement name="left" style="flex-grow: 0; background-color: rgba(255, 255, 255, 0.35); flex-shrink: 0; width: 200px;">
<ui:Toggle label="Show BoxMan" name="ShowBoxMan" value="true" style="flex-direction: row-reverse;" />
<ui:Label tabindex="-1" text="Model" parse-escape-sequences="true" display-tooltip-when-elided="true" name="__Model__" style="-unity-font-style: bold; -unity-text-align: upper-center;" />
<ui:Toggle label="Use CustomPbrMaterial" name="UseCustomPbrMaterial" value="true" style="flex-direction: row-reverse;" />
@@ -24,45 +25,46 @@
<ui:Label tabindex="-1" text="Expression" parse-escape-sequences="true" display-tooltip-when-elided="true" name="__Expression__" style="-unity-font-style: bold; -unity-text-align: upper-center;" />
<ui:Toggle label="AutoEmotions" name="AutoEmotions" style="flex-direction: row-reverse;" />
<ui:Instance template="EmotionElement" name="Happy" style="flex-shrink: 0;">
<ui:AttributeOverrides element-name="Slider" label="Happy" />
<AttributeOverrides element-name="Slider" label="Happy" />
</ui:Instance>
<ui:Instance template="EmotionElement" name="Angry" style="flex-shrink: 0;">
<ui:AttributeOverrides element-name="Slider" label="Angry" />
<AttributeOverrides element-name="Slider" label="Angry" />
</ui:Instance>
<ui:Instance template="EmotionElement" name="Sad" style="flex-shrink: 0;">
<ui:AttributeOverrides element-name="Slider" label="Sad" />
<AttributeOverrides element-name="Slider" label="Sad" />
</ui:Instance>
<ui:Instance template="EmotionElement" name="Relaxed" style="flex-shrink: 0;">
<ui:AttributeOverrides element-name="Slider" label="Relaxed" />
<AttributeOverrides element-name="Slider" label="Relaxed" />
</ui:Instance>
<ui:Instance template="EmotionElement" name="Surprised" style="flex-shrink: 0;">
<ui:AttributeOverrides element-name="Slider" label="Surprised" />
<AttributeOverrides element-name="Slider" label="Surprised" />
</ui:Instance>
<ui:Toggle label="AutoLipSync" name="AutoLipsync" />
<ui:Instance template="ExpressionElement" name="Aa" style="flex-shrink: 0;">
<ui:AttributeOverrides element-name="Slider" label="Aa" />
<AttributeOverrides element-name="Slider" label="Aa" />
</ui:Instance>
<ui:Instance template="ExpressionElement" name="Ih" style="flex-shrink: 0;">
<ui:AttributeOverrides element-name="Slider" label="Ih" />
<AttributeOverrides element-name="Slider" label="Ih" />
</ui:Instance>
<ui:Instance template="ExpressionElement" name="Ou" style="flex-shrink: 0;">
<ui:AttributeOverrides element-name="Slider" label="Ou" />
<AttributeOverrides element-name="Slider" label="Ou" />
</ui:Instance>
<ui:Instance template="ExpressionElement" name="Ee" style="flex-shrink: 0;">
<ui:AttributeOverrides element-name="Slider" label="Ee" />
<AttributeOverrides element-name="Slider" label="Ee" />
</ui:Instance>
<ui:Instance template="ExpressionElement" name="Oh" style="flex-shrink: 0;">
<ui:AttributeOverrides element-name="Slider" label="Oh" />
<AttributeOverrides element-name="Slider" label="Oh" />
</ui:Instance>
<ui:Toggle label="AutoBlink" name="AutoBlink" />
<ui:Instance template="ExpressionElement" name="Blink" style="flex-shrink: 0;">
<ui:AttributeOverrides element-name="Slider" label="Blink" />
<AttributeOverrides element-name="Slider" label="Blink" />
</ui:Instance>
<ui:Label tabindex="-1" text="LookAt" parse-escape-sequences="true" display-tooltip-when-elided="true" name="__LookAt__" style="-unity-font-style: bold; -unity-text-align: upper-center;" />
<ui:Toggle label="Lookat Target" name="LookatTarget" />
<ui:Slider label="Yaw" high-value="100" />
<ui:Slider label="Pitch" high-value="100" />
</ui:VisualElement>
<ui:VisualElement name="right" style="flex-grow: 1;" />
<ui:VisualElement style="flex-grow: 1;" />
<ui:Instance template="MetaView" name="Meta" style="background-color: rgba(255, 255, 255, 0.39);" />
</ui:VisualElement>
</ui:UXML>

View File

@@ -0,0 +1,11 @@
using System.Collections.Generic;
using UnityEngine.UIElements;
public class MetaView : VisualElement
{
public void Init()
{
}
public new class UxmlFactory : UxmlFactory<MetaView> { }
}

View File

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

View File

@@ -1,9 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<engine:UXML
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:engine="UnityEngine.UIElements"
xmlns:editor="UnityEditor.UIElements"
xsi:noNamespaceSchemaLocation="../../../../UIElementsSchema/UIElements.xsd"
>
</engine:UXML>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" noNamespaceSchemaLocation="../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<ui:VisualElement style="flex-grow: 1;">
<MetaView>
<ui:Label tabindex="-1" text="Model Information" parse-escape-sequences="true" display-tooltip-when-elided="true" style="-unity-font-style: bold; -unity-text-align: upper-center;" />
<ui:TextField picking-mode="Ignore" label="name" value="filler text" focusable="false" readonly="true" />
<ui:TextField picking-mode="Ignore" label="version" value="filler text" focusable="false" readonly="true" />
<ui:TextField picking-mode="Ignore" label="author" value="filler text" focusable="false" readonly="true" />
<ui:TextField picking-mode="Ignore" label="copyright" value="filler text" focusable="false" readonly="true" />
<ui:TextField picking-mode="Ignore" label="contact" value="filler text" focusable="false" readonly="true" />
<ui:TextField picking-mode="Ignore" label="reference" value="filler text" focusable="false" readonly="true" />
<ui:Label tabindex="-1" text="Avatar Permission" parse-escape-sequences="true" display-tooltip-when-elided="true" style="-unity-font-style: bold; -unity-text-align: upper-center;" />
<ui:Label tabindex="-1" text="Redistribution" parse-escape-sequences="true" display-tooltip-when-elided="true" style="-unity-font-style: bold; -unity-text-align: upper-center;" />
</MetaView>
</ui:VisualElement>
</ui:UXML>

View File

@@ -46,7 +46,7 @@ namespace UniVRM10.VRM10Viewer
(m_mtoonMaterialOpaque != null && m_mtoonMaterialAlphaBlend != null) ? new TinyMToonrMaterialImporter(m_mtoonMaterialOpaque, m_mtoonMaterialAlphaBlend) : null,
(m_pbrOpaqueMaterial != null && m_pbrAlphaBlendMaterial != null) ? new TinyPbrMaterialImporter(m_pbrOpaqueMaterial, m_pbrAlphaBlendMaterial) : null
);
// m_controller.OnUpdateMeta += UpdateMeta;
m_controller.OnUpdateMeta += UpdateMeta;
m_controller.OnLoaded += OnLoaded;
// The UXML is already instantiated by the UIDocument component
@@ -254,5 +254,47 @@ namespace UniVRM10.VRM10Viewer
// m_lipOh.OnLoad(loaded.Instance.Vrm.Expression.Oh);
// m_blink.OnLoad(loaded.Instance.Vrm.Expression.Blink);
}
public void UpdateMeta(Texture2D thumbnail, UniGLTF.Extensions.VRMC_vrm.Meta meta, Migration.Vrm0Meta meta0)
{
// m_thumbnail.texture = thumbnail;
if (meta != null)
{
m_textModelTitle.text = meta.Name;
// m_textModelVersion.text = meta.Version;
// m_textModelAuthor.text = meta.Authors[0];
// m_textModelCopyright.text = meta.CopyrightInformation;
// m_textModelContact.text = meta.ContactInformation;
// if (meta.References != null && meta.References.Count > 0)
// {
// m_textModelReference.text = meta.References[0];
// }
// m_textPermissionAllowed.text = meta.AvatarPermission.ToString();
// m_textPermissionViolent.text = meta.AllowExcessivelyViolentUsage.ToString();
// m_textPermissionSexual.text = meta.AllowExcessivelySexualUsage.ToString();
// m_textPermissionCommercial.text = meta.CommercialUsage.ToString();
// // m_textPermissionOther.text = meta.OtherPermissionUrl;
// // m_textDistributionLicense.text = meta.ModificationLicense.ToString();
// m_textDistributionOther.text = meta.OtherLicenseUrl;
}
if (meta0 != null)
{
// m_textModelTitle.text = meta0.title;
// m_textModelVersion.text = meta0.version;
// m_textModelAuthor.text = meta0.author;
// m_textModelContact.text = meta0.contactInformation;
// m_textModelReference.text = meta0.reference;
// m_textPermissionAllowed.text = meta0.allowedUser.ToString();
// m_textPermissionViolent.text = meta0.violentUsage.ToString();
// m_textPermissionSexual.text = meta0.sexualUsage.ToString();
// m_textPermissionCommercial.text = meta0.commercialUsage.ToString();
// m_textPermissionOther.text = meta0.otherPermissionUrl;
// // m_textDistributionLicense.text = meta0.ModificationLicense.ToString();
// m_textDistributionOther.text = meta0.otherLicenseUrl;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -114,6 +114,42 @@ namespace UniVRM10.VRM10Viewer
[SerializeField]
UIFields m_ui = default;
//
// right
//
// [SerializeField]
// Text m_textModelTitle = default;
// [SerializeField]
// Text m_textModelVersion = default;
// [SerializeField]
// Text m_textModelAuthor = default;
// [SerializeField]
// Text m_textModelCopyright = default;
// [SerializeField]
// Text m_textModelContact = default;
// [SerializeField]
// Text m_textModelReference = default;
// [SerializeField]
// RawImage m_thumbnail = default;
// [SerializeField, Header("CharacterPermission")]
// Text m_textPermissionAllowed = default;
// [SerializeField]
// Text m_textPermissionViolent = default;
// [SerializeField]
// Text m_textPermissionSexual = default;
// [SerializeField]
// Text m_textPermissionCommercial = default;
// [SerializeField]
// Text m_textPermissionOther = default;
// [SerializeField, Header("DistributionLicense")]
// Text m_textDistributionLicense = default;
// [SerializeField]
// Text m_textDistributionOther = default;
//
VRM10ViewerController m_controller;
VRM10AutoExpression m_autoEmotion;
VRM10Blinker m_autoBlink;