Compare commits
3 Commits
versions/2
...
versions/2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dfdcd0fd7f | ||
|
|
5ac252bf2e | ||
|
|
fa1969a087 |
4
LICENSE.txt
Normal file
4
LICENSE.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
Copyright © HTC Corporation, LLC and its affiliates. All rights reserved.
|
||||
|
||||
Your use of this SDK, sample, or tool is subject to HTC VIVE SDK License Agreement, available at https://developer.vive.com/resources/downloads/licenses-and-agreements/
|
||||
|
||||
@@ -359,10 +359,10 @@ namespace VIVE.OpenXR.CompositionLayer.Passthrough
|
||||
#if UNITY_STANDALONE
|
||||
private static void SubmitLayer()
|
||||
{
|
||||
XR_HTC_passthrough.Interop.GetOriginEndFrameLayerList(out List<IntPtr> layerList);//GetOriginEndFrameLayers
|
||||
foreach(var passthrough in passthrough2IsUnderLay.Keys)
|
||||
{
|
||||
//Get and submit layer list
|
||||
XR_HTC_passthrough.Interop.GetOriginEndFrameLayerList(out List<IntPtr> layerList);//GetOriginEndFrameLayers
|
||||
if (layerList.Count != 0)
|
||||
{
|
||||
Marshal.StructureToPtr(passthrough2Layer[passthrough], passthrough2LayerPtr[passthrough], false);
|
||||
@@ -370,10 +370,10 @@ namespace VIVE.OpenXR.CompositionLayer.Passthrough
|
||||
layerList.Insert(0, passthrough2LayerPtr[passthrough]);
|
||||
else
|
||||
layerList.Insert(1, passthrough2LayerPtr[passthrough]);
|
||||
}
|
||||
}
|
||||
XR_HTC_passthrough.Interop.SubmitLayers(layerList);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
@@ -393,21 +393,23 @@ namespace VIVE.OpenXR.CompositionLayer.Passthrough
|
||||
ERROR("HTC_Passthrough feature instance not found.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!passthroughFeature.PassthroughIDList.Contains(passthroughID))
|
||||
{
|
||||
ERROR("Passthrough to be destroyed not found");
|
||||
return false;
|
||||
}
|
||||
#if UNITY_STANDALONE
|
||||
XrPassthroughHTC passthrough = (XrPassthroughHTC)(ulong)passthroughID;
|
||||
passthrough2Layer.Remove(passthroughID);
|
||||
Marshal.FreeHGlobal(passthrough2LayerPtr[passthroughID]);
|
||||
passthrough2LayerPtr.Remove(passthroughID);
|
||||
XrPassthroughHTC passthrough = passthrough2Layer[passthroughID].passthrough;
|
||||
XR_HTC_passthrough.xrDestroyPassthroughHTC(passthrough);
|
||||
passthrough2IsUnderLay.Remove(passthroughID);
|
||||
Marshal.FreeHGlobal(passthrough2meshTransformInfoPtr[passthroughID]);
|
||||
SubmitLayer();
|
||||
passthrough2Layer.Remove(passthroughID);
|
||||
if(passthrough2LayerPtr.ContainsKey(passthroughID)) Marshal.FreeHGlobal(passthrough2LayerPtr[passthroughID]);
|
||||
passthrough2LayerPtr.Remove(passthroughID);
|
||||
if(passthrough2meshTransformInfoPtr.ContainsKey(passthroughID)) Marshal.FreeHGlobal(passthrough2meshTransformInfoPtr[passthroughID]);
|
||||
passthrough2meshTransformInfoPtr.Remove(passthroughID);
|
||||
passthrough2meshTransform.Remove(passthroughID);
|
||||
|
||||
return true;
|
||||
#endif
|
||||
#if UNITY_ANDROID
|
||||
|
||||
@@ -527,7 +527,10 @@ namespace VIVE.OpenXR.CompositionLayer.Passthrough
|
||||
|
||||
XrResult res = xrCreatePassthroughHTC(m_XrSession, createInfo, out passthrough);
|
||||
if (res == XrResult.XR_SUCCESS)
|
||||
{
|
||||
passthroughList.Add(passthrough);
|
||||
passthroughIDList.Add(((int)(ulong)passthrough));
|
||||
}
|
||||
else
|
||||
ERROR("CreatePassthroughHTC() "+res);
|
||||
return res;
|
||||
@@ -541,6 +544,7 @@ namespace VIVE.OpenXR.CompositionLayer.Passthrough
|
||||
if (res == XrResult.XR_SUCCESS)
|
||||
{
|
||||
passthroughList.Remove(passthrough);
|
||||
passthroughIDList.Remove(((int)(ulong)passthrough));
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
8
com.htc.upm.vive.openxr/Runtime/Features/EyeTracker.meta
Normal file
8
com.htc.upm.vive.openxr/Runtime/Features/EyeTracker.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 65a24dbb45287c244bce088cb4a0a8aa
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,676 @@
|
||||
// Copyright HTC Corporation All Rights Reserved.
|
||||
|
||||
using UnityEngine.XR.OpenXR;
|
||||
using UnityEngine.XR.OpenXR.Features;
|
||||
using UnityEngine;
|
||||
using System.Runtime.InteropServices;
|
||||
using System;
|
||||
using AOT;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
using UnityEditor.XR.OpenXR.Features;
|
||||
#endif
|
||||
|
||||
namespace VIVE.OpenXR.EyeTracker
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
[OpenXRFeature(UiName = "VIVE XR Eye Tracker",
|
||||
BuildTargetGroups = new[] { BuildTargetGroup.Standalone },
|
||||
Company = "HTC",
|
||||
Desc = "Support the eye tracker extension.",
|
||||
DocumentationLink = "..\\Documentation",
|
||||
OpenxrExtensionStrings = kOpenxrExtensionString,
|
||||
Version = "1.0.0",
|
||||
FeatureId = featureId)]
|
||||
#endif
|
||||
public class ViveEyeTracker : OpenXRFeature
|
||||
{
|
||||
const string LOG_TAG = "VIVE.OpenXR.Eye.ViveEyeTracker";
|
||||
void DEBUG(string msg) { Debug.Log(LOG_TAG + " " + msg); }
|
||||
void WARNING(string msg) { Debug.LogWarning(LOG_TAG + " " + msg); }
|
||||
void ERROR(string msg) { Debug.LogError(LOG_TAG + " " + msg); }
|
||||
|
||||
public const string kOpenxrExtensionString = "XR_HTC_eye_tracker";
|
||||
|
||||
/// <summary>
|
||||
/// The feature id string. This is used to give the feature a well known id for reference.
|
||||
/// </summary>
|
||||
public const string featureId = "vive.openxr.feature.eye.tracker";
|
||||
|
||||
#region OpenXR Life Cycle
|
||||
private bool m_XrInstanceCreated = false;
|
||||
private XrInstance m_XrInstance = 0;
|
||||
private static IntPtr xrGetInstanceProcAddr_prev;
|
||||
private static IntPtr WaitFrame_prev;
|
||||
private static XrFrameWaitInfo m_frameWaitInfo;
|
||||
private static XrFrameState m_frameState;
|
||||
protected override IntPtr HookGetInstanceProcAddr(IntPtr func)
|
||||
{
|
||||
UnityEngine.Debug.Log("EXT: registering our own xrGetInstanceProcAddr");
|
||||
xrGetInstanceProcAddr_prev = func;
|
||||
return Marshal.GetFunctionPointerForDelegate(m_intercept_xrWaitFrame_xrGetInstanceProcAddr);
|
||||
}
|
||||
[MonoPInvokeCallback(typeof(OpenXRHelper.xrGetInstanceProcAddrDelegate))]
|
||||
private static XrResult intercept_xrWaitFrame_xrGetInstanceProcAddr(XrInstance instance, string name, out IntPtr function)
|
||||
{
|
||||
if (xrGetInstanceProcAddr_prev == null || xrGetInstanceProcAddr_prev == IntPtr.Zero)
|
||||
{
|
||||
UnityEngine.Debug.LogError("xrGetInstanceProcAddr_prev is null");
|
||||
function = IntPtr.Zero;
|
||||
return XrResult.XR_ERROR_VALIDATION_FAILURE;
|
||||
}
|
||||
|
||||
// Get delegate of old xrGetInstanceProcAddr.
|
||||
var xrGetProc = Marshal.GetDelegateForFunctionPointer<OpenXRHelper.xrGetInstanceProcAddrDelegate>(xrGetInstanceProcAddr_prev);
|
||||
XrResult result = xrGetProc(instance, name, out function);
|
||||
if (name == "xrWaitFrame")
|
||||
{
|
||||
WaitFrame_prev = function;
|
||||
m_intercept_xrWaitFrame = intercepted_xrWaitFrame;
|
||||
function = Marshal.GetFunctionPointerForDelegate(m_intercept_xrWaitFrame); ;
|
||||
UnityEngine.Debug.Log("Getting xrWaitFrame func");
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
[MonoPInvokeCallback(typeof(OpenXRHelper.xrWaitFrameDelegate))]
|
||||
private static int intercepted_xrWaitFrame(ulong session, ref XrFrameWaitInfo frameWaitInfo, ref XrFrameState frameState)
|
||||
{
|
||||
// Get delegate of prev xrWaitFrame.
|
||||
var xrWaitFrame = Marshal.GetDelegateForFunctionPointer<OpenXRHelper.xrWaitFrameDelegate>(WaitFrame_prev);
|
||||
int res = xrWaitFrame(session, ref frameWaitInfo, ref frameState);
|
||||
m_frameWaitInfo = frameWaitInfo;
|
||||
m_frameState = frameState;
|
||||
return res;
|
||||
}
|
||||
/// <summary>
|
||||
/// Called when <see href="https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#xrCreateInstance">xrCreateInstance</see> is done.
|
||||
/// </summary>
|
||||
/// <param name="xrInstance">The created instance.</param>
|
||||
/// <returns>True for valid <see cref="XrInstance">XrInstance</see></returns>
|
||||
protected override bool OnInstanceCreate(ulong xrInstance)
|
||||
{
|
||||
if (!OpenXRRuntime.IsExtensionEnabled(kOpenxrExtensionString))
|
||||
{
|
||||
WARNING("OnInstanceCreate() " + kOpenxrExtensionString + " is NOT enabled.");
|
||||
return false;
|
||||
}
|
||||
|
||||
m_XrInstanceCreated = true;
|
||||
m_XrInstance = xrInstance;
|
||||
DEBUG("OnInstanceCreate() " + m_XrInstance);
|
||||
return GetXrFunctionDelegates(m_XrInstance);
|
||||
}
|
||||
/// <summary>
|
||||
/// Called when <see href="https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#xrDestroyInstance">xrDestroyInstance</see> is done.
|
||||
/// </summary>
|
||||
/// <param name="xrInstance">The instance to destroy.</param>
|
||||
protected override void OnInstanceDestroy(ulong xrInstance)
|
||||
{
|
||||
m_XrInstanceCreated = false;
|
||||
m_XrInstance = 0;
|
||||
DEBUG("OnInstanceDestroy() " + xrInstance);
|
||||
}
|
||||
|
||||
private XrSystemId m_XrSystemId = 0;
|
||||
/// <summary>
|
||||
/// Called when the <see cref="XrSystemId">XrSystemId</see> retrieved by <see href="https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#xrGetSystem">xrGetSystem</see> is changed.
|
||||
/// </summary>
|
||||
/// <param name="xrSystem">The system id.</param>
|
||||
protected override void OnSystemChange(ulong xrSystem)
|
||||
{
|
||||
m_XrSystemId = xrSystem;
|
||||
DEBUG("OnSystemChange() " + m_XrSystemId);
|
||||
}
|
||||
|
||||
private bool m_XrSessionCreated = false;
|
||||
private XrSession m_XrSession = 0;
|
||||
private bool hasEyeTracker = false;
|
||||
private XrEyeTrackerHTC m_EyeTracker = 0;
|
||||
/// <summary>
|
||||
/// Called when <see href="https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#xrCreateSession">xrCreateSession</see> is done.
|
||||
/// </summary>
|
||||
/// <param name="xrSession">The created session ID.</param>
|
||||
protected override void OnSessionCreate(ulong xrSession)
|
||||
{
|
||||
m_XrSession = xrSession;
|
||||
m_XrSessionCreated = true;
|
||||
DEBUG("OnSessionCreate() " + m_XrSession);
|
||||
|
||||
if (CreateEyeTracker()) { DEBUG("OnSessionCreate() m_EyeTracker " + m_EyeTracker); }
|
||||
}
|
||||
/// <summary>
|
||||
/// Called when <see href="https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#xrDestroySession">xrDestroySession</see> is done.
|
||||
/// </summary>
|
||||
/// <param name="xrSession">The session ID to destroy.</param>
|
||||
protected override void OnSessionDestroy(ulong xrSession)
|
||||
{
|
||||
DEBUG("OnSessionDestroy() " + xrSession);
|
||||
|
||||
// Eye Tracking is binding with xrSession so we destroy the trackers when xrSession is destroyed.
|
||||
DestroyEyeTracker();
|
||||
|
||||
m_XrSession = 0;
|
||||
m_XrSessionCreated = false;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region OpenXR function delegates
|
||||
private static readonly OpenXRHelper.xrGetInstanceProcAddrDelegate m_intercept_xrWaitFrame_xrGetInstanceProcAddr
|
||||
= new OpenXRHelper.xrGetInstanceProcAddrDelegate(intercept_xrWaitFrame_xrGetInstanceProcAddr);
|
||||
private static OpenXRHelper.xrWaitFrameDelegate m_intercept_xrWaitFrame;
|
||||
/// xrGetInstanceProcAddr
|
||||
OpenXRHelper.xrGetInstanceProcAddrDelegate XrGetInstanceProcAddr;
|
||||
|
||||
/// xrGetSystemProperties
|
||||
OpenXRHelper.xrGetSystemPropertiesDelegate xrGetSystemProperties;
|
||||
private XrResult GetSystemProperties(ref XrSystemProperties properties)
|
||||
{
|
||||
if (!m_XrSessionCreated)
|
||||
{
|
||||
ERROR("GetSystemProperties() XR_ERROR_SESSION_LOST.");
|
||||
return XrResult.XR_ERROR_SESSION_LOST;
|
||||
}
|
||||
if (!m_XrInstanceCreated)
|
||||
{
|
||||
ERROR("GetSystemProperties() XR_ERROR_INSTANCE_LOST.");
|
||||
return XrResult.XR_ERROR_INSTANCE_LOST;
|
||||
}
|
||||
|
||||
return xrGetSystemProperties(m_XrInstance, m_XrSystemId, ref properties);
|
||||
}
|
||||
|
||||
/// xrDestroySpace
|
||||
OpenXRHelper.xrDestroySpaceDelegate xrDestroySpace;
|
||||
private XrResult DestroySpace(XrSpace space)
|
||||
{
|
||||
if (!m_XrSessionCreated)
|
||||
{
|
||||
ERROR("DestroySpace() XR_ERROR_SESSION_LOST.");
|
||||
return XrResult.XR_ERROR_SESSION_LOST;
|
||||
}
|
||||
if (!m_XrInstanceCreated)
|
||||
{
|
||||
ERROR("DestroySpace() XR_ERROR_INSTANCE_LOST.");
|
||||
return XrResult.XR_ERROR_INSTANCE_LOST;
|
||||
}
|
||||
|
||||
return xrDestroySpace(space);
|
||||
}
|
||||
|
||||
ViveEyeTrackerHelper.xrCreateEyeTrackerHTCDelegate xrCreateEyeTrackerHTC;
|
||||
private XrResult CreateEyeTrackerHTC(ref XrEyeTrackerCreateInfoHTC createInfo, out XrEyeTrackerHTC eyeTracker)
|
||||
{
|
||||
if (!m_XrSessionCreated)
|
||||
{
|
||||
ERROR("CreateEyeTrackerHTC() XR_ERROR_SESSION_LOST.");
|
||||
eyeTracker = 0;
|
||||
return XrResult.XR_ERROR_SESSION_LOST;
|
||||
}
|
||||
if (!m_XrInstanceCreated)
|
||||
{
|
||||
ERROR("CreateEyeTrackerHTC() XR_ERROR_INSTANCE_LOST.");
|
||||
eyeTracker = 0;
|
||||
return XrResult.XR_ERROR_INSTANCE_LOST;
|
||||
}
|
||||
|
||||
return xrCreateEyeTrackerHTC(m_XrSession, ref createInfo, out eyeTracker);
|
||||
}
|
||||
|
||||
ViveEyeTrackerHelper.xrDestroyEyeTrackerHTCDelegate xrDestroyEyeTrackerHTC;
|
||||
private XrResult DestroyEyeTrackerHTC(XrEyeTrackerHTC eyeTracker)
|
||||
{
|
||||
if (!m_XrSessionCreated)
|
||||
{
|
||||
ERROR("DestroyEyeTrackerHTC() XR_ERROR_SESSION_LOST.");
|
||||
return XrResult.XR_ERROR_SESSION_LOST;
|
||||
}
|
||||
if (!m_XrInstanceCreated)
|
||||
{
|
||||
ERROR("DestroyEyeTrackerHTC() XR_ERROR_INSTANCE_LOST.");
|
||||
return XrResult.XR_ERROR_INSTANCE_LOST;
|
||||
}
|
||||
|
||||
return xrDestroyEyeTrackerHTC(eyeTracker);
|
||||
}
|
||||
|
||||
ViveEyeTrackerHelper.xrGetEyeGazeDataHTCDelegate xrGetEyeGazeDataHTC;
|
||||
private XrResult GetEyeGazeDataHTC(XrEyeTrackerHTC eyeTracker,ref XrEyeGazeDataInfoHTC gazeInfo, ref XrEyeGazeDataHTC eyeGazes)
|
||||
{
|
||||
if (!m_XrSessionCreated)
|
||||
{
|
||||
ERROR("GetEyeGazeDataHTC() XR_ERROR_SESSION_LOST.");
|
||||
return XrResult.XR_ERROR_SESSION_LOST;
|
||||
}
|
||||
if (!m_XrInstanceCreated)
|
||||
{
|
||||
ERROR("GetEyeGazeDataHTC() XR_ERROR_INSTANCE_LOST.");
|
||||
return XrResult.XR_ERROR_INSTANCE_LOST;
|
||||
}
|
||||
|
||||
XrResult res = xrGetEyeGazeDataHTC(eyeTracker,ref gazeInfo,ref eyeGazes);
|
||||
return res;
|
||||
}
|
||||
ViveEyeTrackerHelper.xrGetEyePupilDataHTCDelegate xrGetEyePupilDataHTC;
|
||||
|
||||
private XrResult GetEyePupilDataHTC(XrEyeTrackerHTC eyeTracker,ref XrEyePupilDataInfoHTC pupilDataInfo,ref XrEyePupilDataHTC pupilData)
|
||||
{
|
||||
if (!m_XrSessionCreated)
|
||||
{
|
||||
ERROR("GetEyePupilData() XR_ERROR_SESSION_LOST.");
|
||||
return XrResult.XR_ERROR_SESSION_LOST;
|
||||
}
|
||||
if (!m_XrInstanceCreated)
|
||||
{
|
||||
ERROR("GetEyePupilData() XR_ERROR_INSTANCE_LOST.");
|
||||
return XrResult.XR_ERROR_INSTANCE_LOST;
|
||||
}
|
||||
return xrGetEyePupilDataHTC(eyeTracker,ref pupilDataInfo, ref pupilData);
|
||||
}
|
||||
ViveEyeTrackerHelper.xrGetEyeGeometricDataHTC xrGetEyeGeometricDataHTC;
|
||||
private XrResult GetEyeGeometricDataHTC(XrEyeTrackerHTC eyeTracker,
|
||||
ref XrEyeGeometricDataInfoHTC info,
|
||||
ref XrEyeGeometricDataHTC eyeGeometricData)
|
||||
{
|
||||
if (!m_XrSessionCreated)
|
||||
{
|
||||
ERROR("GetEyeGeometricData() XR_ERROR_SESSION_LOST.");
|
||||
return XrResult.XR_ERROR_SESSION_LOST;
|
||||
}
|
||||
if (!m_XrInstanceCreated)
|
||||
{
|
||||
ERROR("GetEyeGeometricData() XR_ERROR_INSTANCE_LOST.");
|
||||
return XrResult.XR_ERROR_INSTANCE_LOST;
|
||||
}
|
||||
return xrGetEyeGeometricDataHTC(eyeTracker,ref info, ref eyeGeometricData);
|
||||
}
|
||||
|
||||
private bool GetXrFunctionDelegates(XrInstance xrInstance)
|
||||
{
|
||||
/// xrGetInstanceProcAddr
|
||||
if (xrGetInstanceProcAddr != null && xrGetInstanceProcAddr != IntPtr.Zero)
|
||||
{
|
||||
DEBUG("Get function pointer of xrGetInstanceProcAddr.");
|
||||
XrGetInstanceProcAddr = Marshal.GetDelegateForFunctionPointer(
|
||||
xrGetInstanceProcAddr,
|
||||
typeof(OpenXRHelper.xrGetInstanceProcAddrDelegate)) as OpenXRHelper.xrGetInstanceProcAddrDelegate;
|
||||
}
|
||||
else
|
||||
{
|
||||
ERROR("xrGetInstanceProcAddr is null");
|
||||
return false;
|
||||
}
|
||||
|
||||
IntPtr funcPtr = IntPtr.Zero;
|
||||
/// xrGetSystemProperties
|
||||
if (XrGetInstanceProcAddr(xrInstance, "xrGetSystemProperties", out funcPtr) == XrResult.XR_SUCCESS)
|
||||
{
|
||||
if (funcPtr != IntPtr.Zero)
|
||||
{
|
||||
DEBUG("Get function pointer of xrGetSystemProperties.");
|
||||
xrGetSystemProperties = Marshal.GetDelegateForFunctionPointer(
|
||||
funcPtr,
|
||||
typeof(OpenXRHelper.xrGetSystemPropertiesDelegate)) as OpenXRHelper.xrGetSystemPropertiesDelegate;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ERROR("xrGetSystemProperties");
|
||||
return false;
|
||||
}
|
||||
/// xrDestroySpace
|
||||
if (XrGetInstanceProcAddr(xrInstance, "xrDestroySpace", out funcPtr) == XrResult.XR_SUCCESS)
|
||||
{
|
||||
if (funcPtr != IntPtr.Zero)
|
||||
{
|
||||
DEBUG("Get function pointer of xrDestroySpace.");
|
||||
xrDestroySpace = Marshal.GetDelegateForFunctionPointer(
|
||||
funcPtr,
|
||||
typeof(OpenXRHelper.xrDestroySpaceDelegate)) as OpenXRHelper.xrDestroySpaceDelegate;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ERROR("xrDestroySpace");
|
||||
return false;
|
||||
}
|
||||
|
||||
/// xrCreateEyeTrackerHTC
|
||||
if (XrGetInstanceProcAddr(xrInstance, "xrCreateEyeTrackerHTC", out funcPtr) == XrResult.XR_SUCCESS)
|
||||
{
|
||||
if (funcPtr != IntPtr.Zero)
|
||||
{
|
||||
DEBUG("Get function pointer of xrCreateEyeTrackerHTC.");
|
||||
xrCreateEyeTrackerHTC = Marshal.GetDelegateForFunctionPointer(
|
||||
funcPtr,
|
||||
typeof(ViveEyeTrackerHelper.xrCreateEyeTrackerHTCDelegate)) as ViveEyeTrackerHelper.xrCreateEyeTrackerHTCDelegate;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ERROR("xrCreateEyeTrackerHTC");
|
||||
return false;
|
||||
}
|
||||
/// xrDestroyEyeTrackerHTC
|
||||
if (XrGetInstanceProcAddr(xrInstance, "xrDestroyEyeTrackerHTC", out funcPtr) == XrResult.XR_SUCCESS)
|
||||
{
|
||||
if (funcPtr != IntPtr.Zero)
|
||||
{
|
||||
DEBUG("Get function pointer of xrDestroyEyeTrackerHTC.");
|
||||
xrDestroyEyeTrackerHTC = Marshal.GetDelegateForFunctionPointer(
|
||||
funcPtr,
|
||||
typeof(ViveEyeTrackerHelper.xrDestroyEyeTrackerHTCDelegate)) as ViveEyeTrackerHelper.xrDestroyEyeTrackerHTCDelegate;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ERROR("xrDestroyEyeTrackerHTC");
|
||||
return false;
|
||||
}
|
||||
/// xrGetEyeGazeDataHTC
|
||||
if (XrGetInstanceProcAddr(xrInstance, "xrGetEyeGazeDataHTC", out funcPtr) == XrResult.XR_SUCCESS)
|
||||
{
|
||||
if (funcPtr != IntPtr.Zero)
|
||||
{
|
||||
DEBUG("Get function pointer of xrGetEyeGazeDataHTC.");
|
||||
xrGetEyeGazeDataHTC = Marshal.GetDelegateForFunctionPointer(
|
||||
funcPtr,
|
||||
typeof(ViveEyeTrackerHelper.xrGetEyeGazeDataHTCDelegate)) as ViveEyeTrackerHelper.xrGetEyeGazeDataHTCDelegate;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ERROR("xrGetEyeGazeDataHTC");
|
||||
return false;
|
||||
}
|
||||
/// xrGetEyePupilDataHTC
|
||||
if (XrGetInstanceProcAddr(xrInstance, "xrGetEyePupilDataHTC", out funcPtr) == XrResult.XR_SUCCESS)
|
||||
{
|
||||
if (funcPtr != IntPtr.Zero)
|
||||
{
|
||||
DEBUG("Get function pointer of xrGetEyePupilDataHTC.");
|
||||
xrGetEyePupilDataHTC = Marshal.GetDelegateForFunctionPointer(
|
||||
funcPtr,
|
||||
typeof(ViveEyeTrackerHelper.xrGetEyePupilDataHTCDelegate)) as ViveEyeTrackerHelper.xrGetEyePupilDataHTCDelegate;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ERROR("xrGetEyePupilDataHTC");
|
||||
return false;
|
||||
}
|
||||
/// xrGetEyeGeometricDataHTC
|
||||
if (XrGetInstanceProcAddr(xrInstance, "xrGetEyeGeometricDataHTC", out funcPtr) == XrResult.XR_SUCCESS)
|
||||
{
|
||||
if (funcPtr != IntPtr.Zero)
|
||||
{
|
||||
DEBUG("Get function pointer of xrGetEyeGeometricDataHTC.");
|
||||
xrGetEyeGeometricDataHTC = Marshal.GetDelegateForFunctionPointer(
|
||||
funcPtr,
|
||||
typeof(ViveEyeTrackerHelper.xrGetEyeGeometricDataHTC)) as ViveEyeTrackerHelper.xrGetEyeGeometricDataHTC;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ERROR("xrGetEyeGeometricDataHTC");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
XrSystemEyeTrackingPropertiesHTC eyeTrackingSystemProperties;
|
||||
XrSystemProperties systemProperties;
|
||||
private bool IsEyeTrackingSupported()
|
||||
{
|
||||
if (!m_XrSessionCreated)
|
||||
{
|
||||
ERROR("IsEyeTrackingSupported() session is not created.");
|
||||
return false;
|
||||
}
|
||||
|
||||
eyeTrackingSystemProperties.type = XrStructureType.XR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_HTC;
|
||||
systemProperties.type = XrStructureType.XR_TYPE_SYSTEM_PROPERTIES;
|
||||
systemProperties.next = Marshal.AllocHGlobal(Marshal.SizeOf(eyeTrackingSystemProperties));
|
||||
|
||||
long offset = 0;
|
||||
if (IntPtr.Size == 4)
|
||||
offset = systemProperties.next.ToInt32();
|
||||
else
|
||||
offset = systemProperties.next.ToInt64();
|
||||
|
||||
IntPtr sys_eye_tracking_prop_ptr = new IntPtr(offset);
|
||||
Marshal.StructureToPtr(eyeTrackingSystemProperties, sys_eye_tracking_prop_ptr, false);
|
||||
|
||||
if (GetSystemProperties(ref systemProperties) == XrResult.XR_SUCCESS)
|
||||
{
|
||||
if (IntPtr.Size == 4)
|
||||
offset = systemProperties.next.ToInt32();
|
||||
else
|
||||
offset = systemProperties.next.ToInt64();
|
||||
|
||||
sys_eye_tracking_prop_ptr = new IntPtr(offset);
|
||||
eyeTrackingSystemProperties = (XrSystemEyeTrackingPropertiesHTC)Marshal.PtrToStructure(sys_eye_tracking_prop_ptr, typeof(XrSystemEyeTrackingPropertiesHTC));
|
||||
|
||||
DEBUG("IsEyeTrackingSupported() XrSystemEyeTrackingPropertiesHTC.supportsEyeTracking: "
|
||||
+ eyeTrackingSystemProperties.supportsEyeTracking);
|
||||
|
||||
return (eyeTrackingSystemProperties.supportsEyeTracking > 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
ERROR("IsEyeTrackingSupported() GetSystemProperties failed.");
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An application can create an <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> handle using CreateEyeTracker.
|
||||
/// </summary>
|
||||
/// <param name="createInfo">The <see cref="XrEyeTrackerCreateInfoHTC">XrEyeTrackerCreateInfoHTC</see> used to specify the eye tracker.</param>
|
||||
/// <param name="eyeTracker">The returned XrEyeTrackerHTC handle.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public XrResult CreateEyeTracker(XrEyeTrackerCreateInfoHTC createInfo, out XrEyeTrackerHTC eyeTracker)
|
||||
{
|
||||
if (hasEyeTracker)
|
||||
{
|
||||
eyeTracker = m_EyeTracker;
|
||||
DEBUG("CreateEyeTracker() m_EyeTracker: " + eyeTracker + " already created before.");
|
||||
return XrResult.XR_SUCCESS;
|
||||
}
|
||||
|
||||
if (!IsEyeTrackingSupported())
|
||||
{
|
||||
ERROR("CreateEyeTracker() is NOT supported.");
|
||||
eyeTracker = 0;
|
||||
return XrResult.XR_ERROR_VALIDATION_FAILURE;
|
||||
}
|
||||
|
||||
var result = CreateEyeTrackerHTC(ref createInfo, out eyeTracker);
|
||||
DEBUG("CreateEyeTracker() " + result + ", eyeTracker: " + eyeTracker);
|
||||
|
||||
if (result == XrResult.XR_SUCCESS)
|
||||
{
|
||||
hasEyeTracker = true;
|
||||
m_EyeTracker = eyeTracker;
|
||||
DEBUG("CreateEyeTracker() m_EyeTracker " + m_EyeTracker);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/// <summary>
|
||||
/// An application can create an <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> handle using CreateEyeTracker.
|
||||
/// </summary>
|
||||
/// <returns>True for success.</returns>
|
||||
public bool CreateEyeTracker()
|
||||
{
|
||||
XrEyeTrackerCreateInfoHTC createInfo = new XrEyeTrackerCreateInfoHTC(
|
||||
in_type: XrStructureType.XR_TYPE_EYE_TRACKER_CREATE_INFO_HTC,
|
||||
in_next: IntPtr.Zero);
|
||||
|
||||
var result = CreateEyeTracker(createInfo, out XrEyeTrackerHTC value);
|
||||
DEBUG("CreateEyeTracker() " + " tracker: " + value);
|
||||
return result == XrResult.XR_SUCCESS;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Releases the eye tracker and the underlying resources when the eye tracking experience is over.
|
||||
/// </summary>
|
||||
/// <param name="eyeTracker">An XrEyeTrackerHTC previously created by xrCreateEyeTrackerHTC.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public XrResult DestroyEyeTracker(XrEyeTrackerHTC eyeTracker)
|
||||
{
|
||||
XrResult result = DestroyEyeTrackerHTC(eyeTracker);
|
||||
DEBUG("DestroyEyeTracker() " + eyeTracker + ", result: " + result);
|
||||
|
||||
return result;
|
||||
}
|
||||
/// <summary>
|
||||
/// Releases the eye tracker and the underlying resources when the eye tracking experience is over.
|
||||
/// </summary>
|
||||
/// <returns>True for success.</returns>
|
||||
public bool DestroyEyeTracker()
|
||||
{
|
||||
if (!hasEyeTracker)
|
||||
{
|
||||
DEBUG("DestroyEyeTracker() no " + "tracker.");
|
||||
return true;
|
||||
}
|
||||
|
||||
XrResult ret = XrResult.XR_ERROR_VALIDATION_FAILURE;
|
||||
|
||||
ret = DestroyEyeTracker(m_EyeTracker);
|
||||
hasEyeTracker = false;
|
||||
m_EyeTracker = 0;
|
||||
|
||||
return ret == XrResult.XR_SUCCESS;
|
||||
}
|
||||
|
||||
private XrEyeGazeDataHTC m_gazes = new XrEyeGazeDataHTC();// = new XrEyeGazeDataHTC(XrStructureType.XR_TYPE_EYE_GAZE_DATA_HTC, IntPtr.Zero, 0);
|
||||
/// <summary>
|
||||
/// Retrieves an array of <see cref="XrSingleEyeGazeDataHTC">XrSingleEyeGazeDataHTC</see> containing the returned eye gaze directions.
|
||||
/// </summary>
|
||||
/// <param name="out_gazes">Output parameter to retrieve an array of <see cref="XrSingleEyeGazeDataHTC">XrSingleEyeGazeDataHTC</see>.</param>
|
||||
/// <returns>True for success.</returns>
|
||||
public bool GetEyeGazeData(out XrSingleEyeGazeDataHTC[] out_gazes)
|
||||
{
|
||||
m_gazes.type = XrStructureType.XR_TYPE_EYE_GAZE_DATA_HTC;
|
||||
m_gazes.next = IntPtr.Zero;
|
||||
m_gazes.time = m_frameState.predictedDisplayTime;
|
||||
|
||||
out_gazes = m_gazes.gaze;
|
||||
XrEyeGazeDataInfoHTC gazeInfo = new XrEyeGazeDataInfoHTC(
|
||||
in_type: XrStructureType.XR_TYPE_EYE_GAZE_DATA_INFO_HTC,
|
||||
in_next: IntPtr.Zero,
|
||||
in_baseSpace: GetCurrentAppSpace(),
|
||||
in_time: m_frameState.predictedDisplayTime);
|
||||
if (GetEyeGazeData(m_EyeTracker, gazeInfo, out m_gazes) == XrResult.XR_SUCCESS)
|
||||
{
|
||||
out_gazes = m_gazes.gaze;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/// <summary>
|
||||
/// Retrieves the <see cref="XrEyeGazeDataHTC">XrEyeGazeDataHTC</see> data of a <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see>.
|
||||
/// </summary>
|
||||
/// <param name="eyeTracker">An <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> previously created by <see cref="ViveEyeTrackerHelper.xrCreateEyeTrackerHTCDelegate">xrCreateEyeTrackerHTC</see>.</param>
|
||||
/// <param name="gazeInfo">The information to get eye gaze.</param>
|
||||
/// <param name="eyeGazes">Output parameter to retrieve a pointer to <see cref="XrEyeGazeDataHTC">XrEyeGazeDataHTC</see> receiving the returned eye poses.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public XrResult GetEyeGazeData(XrEyeTrackerHTC eyeTracker, XrEyeGazeDataInfoHTC gazeInfo, out XrEyeGazeDataHTC eyeGazes)
|
||||
{
|
||||
m_gazes.type = XrStructureType.XR_TYPE_EYE_GAZE_DATA_HTC;
|
||||
m_gazes.next = IntPtr.Zero;
|
||||
m_gazes.time = m_frameState.predictedDisplayTime;
|
||||
eyeGazes = m_gazes;
|
||||
XrResult result = XrResult.XR_ERROR_VALIDATION_FAILURE;
|
||||
result = GetEyeGazeDataHTC(eyeTracker,ref gazeInfo,ref m_gazes);
|
||||
if (result == XrResult.XR_SUCCESS) { eyeGazes = m_gazes; }
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private XrEyePupilDataHTC m_eyePupilData = new XrEyePupilDataHTC();
|
||||
|
||||
/// <summary>
|
||||
/// Retrieves an array of <see cref="XrSingleEyePupilDataHTC">XrSingleEyePupilDataHTC</see> containing the returned data for user's pupils.
|
||||
/// </summary>
|
||||
/// <param name="pupilData">Output parameter to retrieve an array of <see cref="XrSingleEyePupilDataHTC">XrSingleEyePupilDataHTC</see>.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public bool GetEyePupilData(out XrSingleEyePupilDataHTC[] pupilData)
|
||||
{
|
||||
m_eyePupilData.type = XrStructureType.XR_TYPE_EYE_PUPIL_DATA_HTC;
|
||||
m_eyePupilData.next = IntPtr.Zero;
|
||||
m_eyePupilData.time = m_frameState.predictedDisplayTime;
|
||||
pupilData = m_eyePupilData.pupilData;
|
||||
XrEyePupilDataInfoHTC pupilDataInfo = new XrEyePupilDataInfoHTC(
|
||||
in_type: XrStructureType.XR_TYPE_EYE_PUPIL_DATA_INFO_HTC,
|
||||
in_next: IntPtr.Zero);
|
||||
if (GetEyePupilData(m_EyeTracker, pupilDataInfo, out m_eyePupilData) == XrResult.XR_SUCCESS)
|
||||
{
|
||||
pupilData = m_eyePupilData.pupilData;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Retrieves the <see cref="XrEyePupilDataHTC">XrEyePupilDataHTC</see> data of a <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see>.
|
||||
/// </summary>
|
||||
/// <param name="eyeTracker">An <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> previously created by <see cref="ViveEyeTrackerHelper.xrCreateEyeTrackerHTCDelegate">xrCreateEyeTrackerHTC</see>.</param>
|
||||
/// <param name="pupilDataInfo">The information to get pupil data.</param>
|
||||
/// <param name="pupilData">A pointer to <see cref="XrEyePupilDataHTC">XrEyePupilDataHTC</see> returned by the runtime.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public XrResult GetEyePupilData(XrEyeTrackerHTC eyeTracker, XrEyePupilDataInfoHTC pupilDataInfo, out XrEyePupilDataHTC pupilData)
|
||||
{
|
||||
m_eyePupilData.type = XrStructureType.XR_TYPE_EYE_PUPIL_DATA_HTC;
|
||||
m_eyePupilData.next = IntPtr.Zero;
|
||||
m_eyePupilData.time = m_frameState.predictedDisplayTime;
|
||||
pupilData = m_eyePupilData;
|
||||
XrResult result = XrResult.XR_ERROR_VALIDATION_FAILURE;
|
||||
result = GetEyePupilDataHTC(eyeTracker,ref pupilDataInfo, ref m_eyePupilData);
|
||||
if (result == XrResult.XR_SUCCESS) { pupilData = m_eyePupilData; }
|
||||
return result;
|
||||
}
|
||||
|
||||
private XrEyeGeometricDataHTC m_eyeGeometricData = new XrEyeGeometricDataHTC();//XrStructureType.XR_TYPE_EYE_GEOMETRIC_DATA_HTC, IntPtr.Zero, 0);
|
||||
/// <param name="geometricData">Output parameter to retrieve an array of <see cref="XrSingleEyeGeometricDataHTC">XrSingleEyeGeometricDataHTC</see>.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public bool GetEyeGeometricData(out XrSingleEyeGeometricDataHTC[] geometricData)
|
||||
{
|
||||
m_eyeGeometricData.type = XrStructureType.XR_TYPE_EYE_GEOMETRIC_DATA_HTC;
|
||||
m_eyeGeometricData.next = IntPtr.Zero;
|
||||
m_eyeGeometricData.time = m_frameState.predictedDisplayTime;
|
||||
geometricData = m_eyeGeometricData.eyeGeometricData;
|
||||
XrEyeGeometricDataInfoHTC eyeGeometricDataInfo = new XrEyeGeometricDataInfoHTC(
|
||||
in_type: XrStructureType.XR_TYPE_EYE_GEOMETRIC_DATA_INFO_HTC,
|
||||
in_next: IntPtr.Zero);
|
||||
if (GetEyeGeometricData(m_EyeTracker, eyeGeometricDataInfo, out m_eyeGeometricData) == XrResult.XR_SUCCESS)
|
||||
{
|
||||
geometricData = m_eyeGeometricData.eyeGeometricData;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <param name="eyeTracker">An <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> previously created by <see cref="ViveEyeTrackerHelper.xrCreateEyeTrackerHTCDelegate">xrCreateEyeTrackerHTC</see>.</param>
|
||||
/// <param name="eyeGeometricDataInfo">A pointer to <see cref="XrEyeGeometricDataInfoHTC">XrEyeGeometricDataInfoHTC</see> structure.</param>
|
||||
/// <param name="eyeGeometricData">A pointer to <see cref="XrEyeGeometricDataHTC">XrEyeGeometricDataHTC</see> returned by the runtime.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public XrResult GetEyeGeometricData(XrEyeTrackerHTC eyeTracker, XrEyeGeometricDataInfoHTC eyeGeometricDataInfo, out XrEyeGeometricDataHTC eyeGeometricData)
|
||||
{
|
||||
m_eyeGeometricData.type = XrStructureType.XR_TYPE_EYE_GEOMETRIC_DATA_HTC;
|
||||
m_eyeGeometricData.next = IntPtr.Zero;
|
||||
m_eyeGeometricData.time = m_frameState.predictedDisplayTime;
|
||||
eyeGeometricData = m_eyeGeometricData;
|
||||
XrResult result = XrResult.XR_ERROR_VALIDATION_FAILURE;
|
||||
result = GetEyeGeometricDataHTC(eyeTracker,ref eyeGeometricDataInfo, ref m_eyeGeometricData);
|
||||
if (result == XrResult.XR_SUCCESS) { eyeGeometricData = m_eyeGeometricData; }
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9eca1674b64bae840af3a53d3ae576ec
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,426 @@
|
||||
// Copyright HTC Corporation All Rights Reserved.
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace VIVE.OpenXR.EyeTracker
|
||||
{
|
||||
/// <summary>
|
||||
/// The XrEyeTrackerHTC handle represents the resources for eye tracking.
|
||||
/// </summary>
|
||||
public struct XrEyeTrackerHTC : IEquatable<UInt64>
|
||||
{
|
||||
private readonly UInt64 value;
|
||||
|
||||
public XrEyeTrackerHTC(UInt64 u)
|
||||
{
|
||||
value = u;
|
||||
}
|
||||
|
||||
public static implicit operator UInt64(XrEyeTrackerHTC equatable)
|
||||
{
|
||||
return equatable.value;
|
||||
}
|
||||
public static implicit operator XrEyeTrackerHTC(UInt64 u)
|
||||
{
|
||||
return new XrEyeTrackerHTC(u);
|
||||
}
|
||||
|
||||
public bool Equals(XrEyeTrackerHTC other)
|
||||
{
|
||||
return value == other.value;
|
||||
}
|
||||
public bool Equals(UInt64 other)
|
||||
{
|
||||
return value == other;
|
||||
}
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
return obj is XrEyeTrackerHTC && Equals((XrEyeTrackerHTC)obj);
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return value.GetHashCode();
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return value.ToString();
|
||||
}
|
||||
|
||||
public static bool operator ==(XrEyeTrackerHTC a, XrEyeTrackerHTC b) { return a.Equals(b); }
|
||||
public static bool operator !=(XrEyeTrackerHTC a, XrEyeTrackerHTC b) { return !a.Equals(b); }
|
||||
public static bool operator >=(XrEyeTrackerHTC a, XrEyeTrackerHTC b) { return a.value >= b.value; }
|
||||
public static bool operator <=(XrEyeTrackerHTC a, XrEyeTrackerHTC b) { return a.value <= b.value; }
|
||||
public static bool operator >(XrEyeTrackerHTC a, XrEyeTrackerHTC b) { return a.value > b.value; }
|
||||
public static bool operator <(XrEyeTrackerHTC a, XrEyeTrackerHTC b) { return a.value < b.value; }
|
||||
public static XrEyeTrackerHTC operator +(XrEyeTrackerHTC a, XrEyeTrackerHTC b) { return a.value + b.value; }
|
||||
public static XrEyeTrackerHTC operator -(XrEyeTrackerHTC a, XrEyeTrackerHTC b) { return a.value - b.value; }
|
||||
public static XrEyeTrackerHTC operator *(XrEyeTrackerHTC a, XrEyeTrackerHTC b) { return a.value * b.value; }
|
||||
public static XrEyeTrackerHTC operator /(XrEyeTrackerHTC a, XrEyeTrackerHTC b)
|
||||
{
|
||||
if (b.value == 0)
|
||||
{
|
||||
throw new DivideByZeroException();
|
||||
}
|
||||
return a.value / b.value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// The XrEyePositionHTC describes which eye is under tracking for the data retrieved from <see cref="XrEyeGazeDataHTC">XrEyeGazeDataHTC</see>, <see cref="XrEyePupilDataHTC">XrEyePupilDataHTC</see> or <see cref="XrEyeGeometricDataHTC">XrEyeGeometricDataHTC</see>.
|
||||
/// </summary>
|
||||
public enum XrEyePositionHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// Specifies the position of the left eye.
|
||||
/// </summary>
|
||||
XR_EYE_POSITION_LEFT_HTC = 0,
|
||||
/// <summary>
|
||||
/// Specifies the position of the right eye.
|
||||
/// </summary>
|
||||
XR_EYE_POSITION_RIGHT_HTC = 1,
|
||||
XR_EYE_POSITION_COUNT_HTC = 2
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// An application can inspect whether the system is capable of eye tracking input by extending the <see cref="XrSystemProperties">XrSystemProperties</see> with <see cref="XrSystemEyeTrackingPropertiesHTC">XrSystemEyeTrackingPropertiesHTC</see> structure when calling <see href="https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#xrGetSystemProperties">xrGetSystemProperties</see>.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct XrSystemEyeTrackingPropertiesHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// The <see cref="XrStructureType">XrStructureType</see> of this structure.
|
||||
/// </summary>
|
||||
public XrStructureType type;
|
||||
/// <summary>
|
||||
/// NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.
|
||||
/// </summary>
|
||||
public IntPtr next;
|
||||
/// <summary>
|
||||
/// Indicating if the current system is capable of receiving eye tracking input.
|
||||
/// </summary>
|
||||
public XrBool32 supportsEyeTracking;
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The XrEyeTrackerCreateInfoHTC structure describes the information to create an <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> handle.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct XrEyeTrackerCreateInfoHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// The <see cref="XrStructureType">XrStructureType</see> of this structure.
|
||||
/// </summary>
|
||||
public XrStructureType type;
|
||||
/// <summary>
|
||||
/// NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.
|
||||
/// </summary>
|
||||
public IntPtr next;
|
||||
|
||||
/// <param name="in_type">The <see cref="XrStructureType">XrStructureType</see> of this structure.</param>
|
||||
/// <param name="in_next">NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.</param>
|
||||
public XrEyeTrackerCreateInfoHTC(XrStructureType in_type, IntPtr in_next)
|
||||
{
|
||||
type = in_type;
|
||||
next = in_next;
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The XrEyeGazeDataInfoHTC structure describes the information to get eye gaze directions.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct XrEyeGazeDataInfoHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// The <see cref="XrStructureType">XrStructureType</see> of this structure.
|
||||
/// </summary>
|
||||
public XrStructureType type;
|
||||
/// <summary>
|
||||
/// NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.
|
||||
/// </summary>
|
||||
public IntPtr next;
|
||||
/// <summary>
|
||||
/// An <see cref="XrSpace">XrSpace</see> within which the returned eye poses will be represented.
|
||||
/// </summary>
|
||||
public XrSpace baseSpace;
|
||||
/// <summary>
|
||||
/// An <see cref="XrTime">XrTime</see> at which the eye gaze information is requested.
|
||||
/// </summary>
|
||||
public XrTime time;
|
||||
|
||||
/// <param name="in_type">The <see cref="XrStructureType">XrStructureType</see> of this structure.</param>
|
||||
/// <param name="in_next">NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.</param>
|
||||
/// <param name="in_baseSpace">An <see cref="XrSpace">XrSpace</see> within which the returned eye poses will be represented.</param>
|
||||
/// <param name="in_time">An <see cref="XrTime">XrTime</see> at which the eye gaze information is requested.</param>
|
||||
public XrEyeGazeDataInfoHTC(XrStructureType in_type, IntPtr in_next, XrSpace in_baseSpace, XrTime in_time)
|
||||
{
|
||||
type = in_type;
|
||||
next = in_next;
|
||||
baseSpace = in_baseSpace;
|
||||
time = in_time;
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The XrSingleEyeGazeDataHTC structure describes the validity and direction of a eye gaze observation.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct XrSingleEyeGazeDataHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// An <see cref="XrBool32">XrBool32</see> indicating if the returned gazePose is valid. Callers should check the validity of pose prior to use.
|
||||
/// </summary>
|
||||
public XrBool32 isValid;
|
||||
/// <summary>
|
||||
/// An <see cref="XrPosef">XrPosef</see> describing the position and orientation of the user's eye. The pose is represented in the coordinate system provided by <see cref="XrEyeGazeDataInfoHTC">XrEyeGazeDataInfoHTC</see>::<see cref="XrEyeGazeDataInfoHTC.baseSpace">baseSpace</see>.
|
||||
/// </summary>
|
||||
public XrPosef gazePose;
|
||||
|
||||
/// <param name="in_isValid">An <see cref="XrBool32">XrBool32</see> indicating if the returned gazePose is valid. Callers should check the validity of pose prior to use.</param>
|
||||
/// <param name="in_gazePose">An <see cref="XrPosef">XrPosef</see> describing the position and orientation of the user's eye. The pose is represented in the coordinate system provided by <see cref="XrEyeGazeDataInfoHTC">XrEyeGazeDataInfoHTC</see>::<see cref="XrEyeGazeDataInfoHTC.baseSpace">baseSpace</see>.</param>
|
||||
public XrSingleEyeGazeDataHTC(XrBool32 in_isValid, XrPosef in_gazePose)
|
||||
{
|
||||
isValid = in_isValid;
|
||||
gazePose = in_gazePose;
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The XrEyeGazeDataHTC structure returns the state of the eye gaze directions.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct XrEyeGazeDataHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// The <see cref="XrStructureType">XrStructureType</see> of this structure.
|
||||
/// </summary>
|
||||
public XrStructureType type;
|
||||
/// <summary>
|
||||
/// NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.
|
||||
/// </summary>
|
||||
public IntPtr next;
|
||||
/// <summary>
|
||||
/// An <see cref="XrTime">XrTime</see> at which the eye gaze information is requested.
|
||||
/// </summary>
|
||||
public XrTime time;
|
||||
/// <summary>
|
||||
/// An array of <see cref="XrSingleEyeGazeDataHTC">XrSingleEyeGazeDataHTC</see> receiving the returned eye gaze directions.
|
||||
/// </summary>
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
|
||||
public XrSingleEyeGazeDataHTC[] gaze;
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The XrEyePupilDataInfoHTC structure describes the information to get pupil data.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct XrEyePupilDataInfoHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// The <see cref="XrStructureType">XrStructureType</see> of this structure.
|
||||
/// </summary>
|
||||
public XrStructureType type;
|
||||
/// <summary>
|
||||
/// NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.
|
||||
/// </summary>
|
||||
public IntPtr next;
|
||||
/// <param name="in_type">The <see cref="XrStructureType">XrStructureType</see> of this structure.</param>
|
||||
/// <param name="in_next">NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.</param>
|
||||
public XrEyePupilDataInfoHTC(XrStructureType in_type, IntPtr in_next)
|
||||
{
|
||||
type = in_type;
|
||||
next = in_next;
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The XrSingleEyePupilDataHTC structure describes the validity, diameter and position of a pupil observation.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct XrSingleEyePupilDataHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// An <see cref="XrBool32">XrBool32</see> indicating if the returned pupilDiameter is valid. Callers should check the validity of diameter prior to use.
|
||||
/// </summary>
|
||||
public XrBool32 isDiameterValid;
|
||||
/// <summary>
|
||||
/// An <see cref="XrBool32">XrBool32</see> indicating if the returned pupilPosition is valid. Callers should check the validity of position prior to use.
|
||||
/// </summary>
|
||||
public XrBool32 isPositionValid;
|
||||
/// <summary>
|
||||
/// The diameter of pupil in millimeters.
|
||||
/// </summary>
|
||||
public float pupilDiameter;
|
||||
/// <summary>
|
||||
/// The position of pupil in sensor area which x and y are normalized in [0,1] with +Y up and +X to the right.
|
||||
/// </summary>
|
||||
public XrVector2f pupilPosition;
|
||||
|
||||
/// <param name="in_isDiameterValid">An <see cref="XrBool32">XrBool32</see> indicating if the returned gazePose is valid. Callers should check the validity of pose prior to use.</param>
|
||||
/// <param name="in_isPositionValid">An <see cref="XrBool32">XrBool32</see> indicating if the returned pupilPosition is valid. Callers should check the validity of position prior to use.</param>
|
||||
/// <param name="in_pupilDiameter">The diameter of pupil in millimeters.</param>
|
||||
/// <param name="in_pupilPosition">The position of pupil in sensor area which x and y are normalized in [0,1]with +Y up and +X to the right.</param>
|
||||
public XrSingleEyePupilDataHTC(XrBool32 in_isDiameterValid, XrBool32 in_isPositionValid, float in_pupilDiameter, XrVector2f in_pupilPosition)
|
||||
{
|
||||
isDiameterValid = in_isDiameterValid;
|
||||
isPositionValid = in_isPositionValid;
|
||||
pupilDiameter = in_pupilDiameter;
|
||||
pupilPosition = in_pupilPosition;
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The XrEyePupilDataHTC structure returns the pupil data.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct XrEyePupilDataHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// The <see cref="XrStructureType">XrStructureType</see> of this structure.
|
||||
/// </summary>
|
||||
public XrStructureType type;
|
||||
/// <summary>
|
||||
/// NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.
|
||||
/// </summary>
|
||||
public IntPtr next;
|
||||
/// <summary>
|
||||
/// An <see cref="XrTime">XrTime</see> at which the pupil data was captured.
|
||||
/// </summary>
|
||||
public XrTime time;
|
||||
/// <summary>
|
||||
/// An array of <see cref="XrSingleEyePupilDataHTC">XrSingleEyePupilDataHTC</see> receiving the returned pupil data.
|
||||
/// </summary>
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
|
||||
public XrSingleEyePupilDataHTC[] pupilData;
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The XrEyeGeometricDataInfoHTC structure describes the information to get geometric related data.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct XrEyeGeometricDataInfoHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// The <see cref="XrStructureType">XrStructureType</see> of this structure.
|
||||
/// </summary>
|
||||
public XrStructureType type;
|
||||
/// <summary>
|
||||
/// NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.
|
||||
/// </summary>
|
||||
public IntPtr next;
|
||||
/// <param name="in_type">The <see cref="XrStructureType">XrStructureType</see> of this structure.</param>
|
||||
/// <param name="in_next">NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.</param>
|
||||
public XrEyeGeometricDataInfoHTC(XrStructureType in_type, IntPtr in_next)
|
||||
{
|
||||
type = in_type;
|
||||
next = in_next;
|
||||
}
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The XrSingleEyeGeometricDataHTC structure describes the geometric related data.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct XrSingleEyeGeometricDataHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// A flag that indicates if the geometric data is valid. Callers should check the validity of the geometric data prior to use.
|
||||
/// </summary>
|
||||
public XrBool32 isValid;
|
||||
/// <summary>
|
||||
/// A value in range [0,1] representing the openness of the user's eye. When this value is zero, the eye closes normally. When this value is one, the eye opens normally. When this value goes higher, the eye approaches open.
|
||||
/// </summary>
|
||||
public float eyeOpenness;
|
||||
/// <summary>
|
||||
/// A value in range [0,1] representing how the user's eye open widely. When this value is zero, the eye opens normally. When this value goes higher, the eye opens wider.
|
||||
public float eyeWide;
|
||||
/// <summary>
|
||||
/// A value in range [0,1] representing how the user's eye is closed. When this value is zero, the eye closes normally. When this value goes higher, the eye closes tighter.
|
||||
/// </summary>
|
||||
public float eyeSqueeze;
|
||||
|
||||
/// <param name="in_isValid">A flag that indicates if the geometric data is valid. Callers should check the validity of the geometric data prior to use.</param>
|
||||
/// <param name="in_eyeOpenness">A value in range [0,1] representing the openness of the user's eye. When this value is zero, the eye closes normally. When this value is one, the eye opens normally. When this value goes higher, the eye approaches open.</param>
|
||||
/// <param name="in_eyeWide">A value in range [0,1] representing how the user's eye open widely. When this value is zero, the eye opens normally. When this value goes higher, the eye opens wider.</param>
|
||||
/// <param name="in_eyeSqueeze">A value in range [0,1] representing how the user's eye is closed. When this value is zero, the eye closes normally. When this value goes higher, the eye closes tighter.</param>
|
||||
public XrSingleEyeGeometricDataHTC(XrBool32 in_isValid, float in_eyeOpenness, float in_eyeWide, float in_eyeSqueeze)
|
||||
{
|
||||
isValid = in_isValid;
|
||||
eyeOpenness = in_eyeOpenness;
|
||||
eyeWide = in_eyeWide;
|
||||
eyeSqueeze = in_eyeSqueeze;
|
||||
}
|
||||
};
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct XrEyeGeometricDataHTC
|
||||
{
|
||||
/// <summary>
|
||||
/// The <see cref="XrStructureType">XrStructureType</see> of this structure.
|
||||
/// </summary>
|
||||
public XrStructureType type;
|
||||
/// <summary>
|
||||
/// NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.
|
||||
/// </summary>
|
||||
public IntPtr next;
|
||||
/// <summary>
|
||||
/// An <see cref="XrTime">XrTime</see> at which the returned eye data is tracked.
|
||||
/// </summary>
|
||||
public XrTime time;
|
||||
/// <summary>
|
||||
/// An array of <see cref="XrSingleEyeGeometricDataHTC">XrSingleEyeGeometricDataHTC</see> receiving the returned eye geometric data.
|
||||
/// </summary>
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
|
||||
public XrSingleEyeGeometricDataHTC[] eyeGeometricData;
|
||||
};
|
||||
|
||||
|
||||
public static class ViveEyeTrackerHelper
|
||||
{
|
||||
/// <param name="session">An XrSession in which the eye tracker will be active.</param>
|
||||
/// <param name="createInfo">The <see cref="XrEyeTrackerCreateInfoHTC">XrEyeTrackerCreateInfoHTC</see> used to specify the eye tracker.</param>
|
||||
/// <param name="eyeTracker">The returned <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> handle.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public delegate XrResult xrCreateEyeTrackerHTCDelegate(
|
||||
XrSession session,
|
||||
ref XrEyeTrackerCreateInfoHTC createInfo,
|
||||
out XrEyeTrackerHTC eyeTracker);
|
||||
|
||||
/// <param name="eyeTracker">An XrEyeTrackerHTC previously created by xrCreateEyeTrackerHTC.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public delegate XrResult xrDestroyEyeTrackerHTCDelegate(
|
||||
XrEyeTrackerHTC eyeTracker);
|
||||
|
||||
/// <summary>
|
||||
/// Retrieves the <see cref="XrEyeGazeDataHTC">XrEyeGazeDataHTC</see> data of a <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see>.
|
||||
/// </summary>
|
||||
/// <param name="eyeTracker">An <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> previously created by <see cref="xrCreateEyeTrackerHTCDelegate">xrCreateEyeTrackerHTC</see>.</param>
|
||||
/// <param name="gazeInfo">The information to get eye gaze.</param>
|
||||
/// <param name="eyeGazes">A pointer to <see cref="XrEyeGazeDataHTC">XrEyeGazeDataHTC</see> receiving the returned eye poses.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public delegate XrResult xrGetEyeGazeDataHTCDelegate(
|
||||
XrEyeTrackerHTC eyeTracker,
|
||||
ref XrEyeGazeDataInfoHTC gazeInfo,
|
||||
ref XrEyeGazeDataHTC eyeGazes);
|
||||
|
||||
/// <param name="eyeTracker">An <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> previously created by <see cref="xrCreateEyeTrackerHTCDelegate">xrCreateEyeTrackerHTC</see>.</param>
|
||||
/// <param name="pupilDataInfo">The information to get pupil data.</param>
|
||||
/// <param name="pupilData">A pointer to <see cref="XrEyePupilDataHTC">XrEyePupilDataHTC</see> returned by the runtime.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public delegate XrResult xrGetEyePupilDataHTCDelegate(
|
||||
XrEyeTrackerHTC eyeTracker,
|
||||
ref XrEyePupilDataInfoHTC pupilDataInfo,
|
||||
ref XrEyePupilDataHTC pupilData);
|
||||
|
||||
/// <param name="eyeTracker">An <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> previously created by <see cref="xrCreateEyeTrackerHTCDelegate">xrCreateEyeTrackerHTC</see>.</param>
|
||||
/// <param name="info">A pointer to <see cref="XrEyeGeometricDataInfoHTC">XrEyeGeometricDataInfoHTC</see> structure.</param>
|
||||
/// <param name="eyeGeometricData">A pointer to <see cref="XrEyeGeometricDataHTC">XrEyeGeometricDataHTC</see> returned by the runtime.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public delegate XrResult xrGetEyeGeometricDataHTC(
|
||||
XrEyeTrackerHTC eyeTracker,
|
||||
ref XrEyeGeometricDataInfoHTC info,
|
||||
ref XrEyeGeometricDataHTC eyeGeometricData);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9a5198e29bcef243bf89dc19b46ce0d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -325,6 +325,23 @@ namespace VIVE.OpenXR
|
||||
XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_HTC = 1000317004,
|
||||
XR_TYPE_SYSTEM_ANCHOR_PROPERTIES_HTC = 1000319000,
|
||||
XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_HTC = 1000319001,
|
||||
XR_TYPE_PERSISTED_ANCHOR_COLLECTION_CREATE_INFO_HTC = 1000320000,
|
||||
XR_TYPE_SPATIAL_ANCHOR_PERSIST_INFO_HTC = 1000320001,
|
||||
XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_HTC = 1000320002,
|
||||
XR_TYPE_PERSISTED_ANCHOR_PROPERTIES_GET_INFO_HTC = 1000320003,
|
||||
XR_TYPE_COMPOSITION_LAYER_SPACE_WARP_INFO_FB = 1000171000,
|
||||
XR_TYPE_SYSTEM_SPACE_WARP_PROPERTIES_FB = 1000171001,
|
||||
XR_TYPE_EYE_TRACKER_CREATE_INFO_HTC = 1000326001,
|
||||
XR_TYPE_EYE_GAZE_DATA_INFO_HTC = 1000326002,
|
||||
XR_TYPE_EYE_GAZE_DATA_HTC = 1000326003,
|
||||
XR_TYPE_SINGLE_EYE_GAZE_DATA_HTC = 1000326004,
|
||||
XR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_HTC = 1000326005,
|
||||
XR_TYPE_EYE_PUPIL_DATA_INFO_HTC = 1000326006,
|
||||
XR_TYPE_EYE_PUPIL_DATA_HTC = 1000326007,
|
||||
XR_TYPE_SINGLE_EYE_PUPIL_DATA_HTC = 1000326008,
|
||||
XR_TYPE_EYE_GEOMETRIC_DATA_INFO_HTC = 1000326009,
|
||||
XR_TYPE_EYE_GEOMETRIC_DATA_HTC = 1000326010,
|
||||
XR_TYPE_SINGLE_EYE_GEOMETRIC_DATA_HTC = 1000326011,
|
||||
XR_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||
}
|
||||
/// <summary>
|
||||
|
||||
143
com.htc.upm.vive.openxr/Runtime/Profiles/XR_HTC_eye_tracker.cs
Normal file
143
com.htc.upm.vive.openxr/Runtime/Profiles/XR_HTC_eye_tracker.cs
Normal file
@@ -0,0 +1,143 @@
|
||||
// ===================== 2022 HTC Corporation. All Rights Reserved. ===================
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
using VIVE.OpenXR.EyeTracker;
|
||||
|
||||
namespace VIVE.OpenXR
|
||||
{
|
||||
public class XR_HTC_eye_tracker_defs
|
||||
{
|
||||
public virtual XrResult xrCreateEyeTrackerHTC(XrEyeTrackerCreateInfoHTC createInfo, out XrEyeTrackerHTC eyeTracker)
|
||||
{
|
||||
eyeTracker = 0;
|
||||
return XrResult.XR_ERROR_FEATURE_UNSUPPORTED;
|
||||
}
|
||||
public virtual XrResult xrDestroyEyeTrackerHTC(XrEyeTrackerHTC eyeTracker)
|
||||
{
|
||||
return XrResult.XR_ERROR_FEATURE_UNSUPPORTED;
|
||||
}
|
||||
protected XrEyeGazeDataHTC m_eyeGazes = new XrEyeGazeDataHTC(); //= new XrEyeGazeDataHTC(XrStructureType.XR_TYPE_EYE_GAZE_DATA_HTC, IntPtr.Zero, 0);
|
||||
public virtual XrResult xrGetEyeGazeDataHTC(XrEyeTrackerHTC eyeTracker, XrEyeGazeDataInfoHTC gazeInfo, out XrEyeGazeDataHTC eyeGazes)
|
||||
{
|
||||
m_eyeGazes.type = XrStructureType.XR_TYPE_EYE_GAZE_DATA_HTC;
|
||||
m_eyeGazes.next = IntPtr.Zero;
|
||||
m_eyeGazes.time = 0;
|
||||
eyeGazes = m_eyeGazes;
|
||||
return XrResult.XR_ERROR_FEATURE_UNSUPPORTED;
|
||||
}
|
||||
public virtual bool GetEyeGazeData(out XrSingleEyeGazeDataHTC[] out_gazes)
|
||||
{
|
||||
m_eyeGazes.type = XrStructureType.XR_TYPE_EYE_GAZE_DATA_HTC;
|
||||
m_eyeGazes.next = IntPtr.Zero;
|
||||
m_eyeGazes.time = 0;
|
||||
out_gazes = m_eyeGazes.gaze;
|
||||
return false;
|
||||
}
|
||||
protected XrEyePupilDataHTC m_pupilData = new XrEyePupilDataHTC();
|
||||
public virtual XrResult xrGetEyePupilDataHTC(XrEyeTrackerHTC eyeTracker, XrEyePupilDataInfoHTC pupilDataInfo, out XrEyePupilDataHTC pupilData)
|
||||
{
|
||||
m_pupilData.type = XrStructureType.XR_TYPE_EYE_PUPIL_DATA_HTC;
|
||||
m_pupilData.next = IntPtr.Zero;
|
||||
m_pupilData.time = 0;
|
||||
pupilData = m_pupilData;
|
||||
return XrResult.XR_ERROR_FEATURE_UNSUPPORTED;
|
||||
}
|
||||
public virtual bool GetEyePupilData(out XrSingleEyePupilDataHTC[] pupilData)
|
||||
{
|
||||
m_pupilData.type = XrStructureType.XR_TYPE_EYE_PUPIL_DATA_HTC;
|
||||
m_pupilData.next = IntPtr.Zero;
|
||||
m_pupilData.time = 0;
|
||||
pupilData = m_pupilData.pupilData;
|
||||
return false;
|
||||
}
|
||||
protected XrEyeGeometricDataHTC m_eyeGeometricData = new XrEyeGeometricDataHTC();
|
||||
public virtual XrResult xrGetEyeGeometricDataHTC(XrEyeTrackerHTC eyeTracker,
|
||||
XrEyeGeometricDataInfoHTC info,
|
||||
out XrEyeGeometricDataHTC eyeGeometricData)
|
||||
{
|
||||
m_eyeGeometricData.type = XrStructureType.XR_TYPE_EYE_GEOMETRIC_DATA_HTC;
|
||||
m_eyeGeometricData.next = IntPtr.Zero;
|
||||
m_eyeGeometricData.time = 0;
|
||||
eyeGeometricData = m_eyeGeometricData;
|
||||
return XrResult.XR_ERROR_FEATURE_UNSUPPORTED;
|
||||
}
|
||||
public virtual bool GetEyeGeometricData(out XrSingleEyeGeometricDataHTC[] geometricData)
|
||||
{
|
||||
m_eyeGeometricData.type = XrStructureType.XR_TYPE_EYE_GEOMETRIC_DATA_HTC;
|
||||
m_eyeGeometricData.next = IntPtr.Zero;
|
||||
m_eyeGeometricData.time = 0;
|
||||
geometricData = m_eyeGeometricData.eyeGeometricData;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public class XR_HTC_eye_tracker
|
||||
{
|
||||
static XR_HTC_eye_tracker_defs m_Instance = null;
|
||||
public static XR_HTC_eye_tracker_defs Interop
|
||||
{
|
||||
get
|
||||
{
|
||||
if (m_Instance == null)
|
||||
{
|
||||
m_Instance = new XR_HTC_eye_tracker_impls();
|
||||
}
|
||||
return m_Instance;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An application can create an <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> handle using CreateEyeTracker.
|
||||
/// </summary>
|
||||
/// <param name="createInfo">The <see cref="XrEyeTrackerCreateInfoHTC">XrEyeTrackerCreateInfoHTC</see> used to specify the eye tracker.</param>
|
||||
/// <param name="eyeTracker">The returned XrEyeTrackerHTC handle.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public static XrResult xrCreateEyeTrackerHTC(XrEyeTrackerCreateInfoHTC createInfo, out XrEyeTrackerHTC eyeTracker)
|
||||
{
|
||||
return Interop.xrCreateEyeTrackerHTC(createInfo,out eyeTracker);
|
||||
}
|
||||
/// <summary>
|
||||
/// Releases the eye tracker and the underlying resources when the eye tracking experience is over.
|
||||
/// </summary>
|
||||
/// <param name="eyeTracker">An XrEyeTrackerHTC previously created by xrCreateEyeTrackerHTC.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public static XrResult xrDestroyEyeTrackerHTC(XrEyeTrackerHTC eyeTracker)
|
||||
{
|
||||
return Interop.xrDestroyEyeTrackerHTC(eyeTracker);
|
||||
}
|
||||
/// <summary>
|
||||
/// Retrieves the <see cref="XrEyeGazeDataHTC">XrEyeGazeDataHTC</see> data of a <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see>.
|
||||
/// </summary>
|
||||
/// <param name="eyeTracker">An <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> previously created by <see cref="ViveEyeTrackerHelper.xrCreateEyeTrackerHTCDelegate">xrCreateEyeTrackerHTC</see>.</param>
|
||||
/// <param name="gazeInfo">The information to get eye gaze.</param>
|
||||
/// <param name="eyeGazes">Output parameter to retrieve a pointer to <see cref="XrEyeGazeDataHTC">XrEyeGazeDataHTC</see> receiving the returned eye poses.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public static XrResult xrGetEyeGazeDataHTC(XrEyeTrackerHTC eyeTracker, XrEyeGazeDataInfoHTC gazeInfo, out XrEyeGazeDataHTC eyeGazes)
|
||||
{
|
||||
return Interop.xrGetEyeGazeDataHTC(eyeTracker, gazeInfo, out eyeGazes);
|
||||
}
|
||||
/// <summary>
|
||||
/// Retrieves the <see cref="XrEyePupilDataHTC">XrEyePupilDataHTC</see> data of a <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see>.
|
||||
/// </summary>
|
||||
/// <param name="eyeTracker">An <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> previously created by <see cref="ViveEyeTrackerHelper.xrCreateEyeTrackerHTCDelegate">xrCreateEyeTrackerHTC</see>.</param>
|
||||
/// <param name="pupilDataInfo">The information to get pupil data.</param>
|
||||
/// <param name="pupilData">A pointer to <see cref="XrEyePupilDataHTC">XrEyePupilDataHTC</see> returned by the runtime.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public static XrResult xrGetEyePupilDataHTC(XrEyeTrackerHTC eyeTracker, XrEyePupilDataInfoHTC pupilDataInfo, out XrEyePupilDataHTC pupilData)
|
||||
{
|
||||
return Interop.xrGetEyePupilDataHTC(eyeTracker, pupilDataInfo, out pupilData);
|
||||
}
|
||||
/// <param name="eyeTracker">An <see cref="XrEyeTrackerHTC">XrEyeTrackerHTC</see> previously created by <see cref="ViveEyeTrackerHelper.xrCreateEyeTrackerHTCDelegate">xrCreateEyeTrackerHTC</see>.</param>
|
||||
/// <param name="info">A pointer to <see cref="XrEyeGeometricDataInfoHTC">XrEyeGeometricDataInfoHTC</see> structure.</param>
|
||||
/// <param name="eyeGeometricData">A pointer to <see cref="XrEyeGeometricDataHTC">XrEyeGeometricDataHTC</see> returned by the runtime.</param>
|
||||
/// <returns>XR_SUCCESS for success.</returns>
|
||||
public static XrResult xrGetEyeGeometricDataHTC(XrEyeTrackerHTC eyeTracker,
|
||||
XrEyeGeometricDataInfoHTC info,
|
||||
out XrEyeGeometricDataHTC eyeGeometricData)
|
||||
{
|
||||
return Interop.xrGetEyeGeometricDataHTC(eyeTracker,info, out eyeGeometricData);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1fb607ec9f5f9a349841a128ef8b2725
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,132 @@
|
||||
// ===================== 2022 HTC Corporation. All Rights Reserved. ===================
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
using UnityEngine.XR.OpenXR;
|
||||
|
||||
using VIVE.OpenXR.EyeTracker;
|
||||
|
||||
|
||||
namespace VIVE.OpenXR
|
||||
{
|
||||
public class XR_HTC_eye_tracker_impls : XR_HTC_eye_tracker_defs
|
||||
{
|
||||
const string LOG_TAG = "VIVE.OpenXR.XR_HTC_eye_tracker_impls";
|
||||
void DEBUG(string msg) { Debug.Log(LOG_TAG + " " + msg); }
|
||||
|
||||
private ViveEyeTracker feature = null;
|
||||
private void ASSERT_FEATURE()
|
||||
{
|
||||
if (feature == null) { feature = OpenXRSettings.Instance.GetFeature<ViveEyeTracker>(); }
|
||||
}
|
||||
|
||||
public override XrResult xrCreateEyeTrackerHTC(XrEyeTrackerCreateInfoHTC createInfo, out XrEyeTrackerHTC eyeTracker)
|
||||
{
|
||||
DEBUG("xrCreateEyeTrackerHTC");
|
||||
XrResult result = XrResult.XR_ERROR_VALIDATION_FAILURE;
|
||||
eyeTracker = 0;
|
||||
|
||||
ASSERT_FEATURE();
|
||||
if (feature)
|
||||
{
|
||||
result = (XrResult)feature.CreateEyeTracker(createInfo, out XrEyeTrackerHTC value);
|
||||
if (result == XrResult.XR_SUCCESS) { eyeTracker = value; }
|
||||
}
|
||||
return result;
|
||||
}
|
||||
public override XrResult xrDestroyEyeTrackerHTC(XrEyeTrackerHTC eyeTracker)
|
||||
{
|
||||
DEBUG("xrDestroyEyeTrackerHTC");
|
||||
|
||||
ASSERT_FEATURE();
|
||||
if (feature) { return (XrResult)feature.DestroyEyeTracker(eyeTracker); }
|
||||
|
||||
return XrResult.XR_ERROR_VALIDATION_FAILURE;
|
||||
}
|
||||
public override XrResult xrGetEyeGazeDataHTC(XrEyeTrackerHTC eyeTracker, XrEyeGazeDataInfoHTC gazeInfo, out XrEyeGazeDataHTC eyeGazes)
|
||||
{
|
||||
eyeGazes = m_eyeGazes;
|
||||
XrResult result = XrResult.XR_ERROR_VALIDATION_FAILURE;
|
||||
|
||||
ASSERT_FEATURE();
|
||||
if (feature)
|
||||
{
|
||||
result = (XrResult)feature.GetEyeGazeData(eyeTracker, gazeInfo, out XrEyeGazeDataHTC gazes);
|
||||
if (result == XrResult.XR_SUCCESS) { eyeGazes = gazes; }
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public override bool GetEyeGazeData(out XrSingleEyeGazeDataHTC[] out_gazes)
|
||||
{
|
||||
out_gazes = m_eyeGazes.gaze;
|
||||
bool result = false;
|
||||
|
||||
ASSERT_FEATURE();
|
||||
if (feature)
|
||||
{
|
||||
result = feature.GetEyeGazeData(out XrSingleEyeGazeDataHTC[] data);
|
||||
if (result) out_gazes = data;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public override XrResult xrGetEyePupilDataHTC(XrEyeTrackerHTC eyeTracker, XrEyePupilDataInfoHTC pupilDataInfo, out XrEyePupilDataHTC pupilData)
|
||||
{
|
||||
pupilData = m_pupilData;
|
||||
XrResult result = XrResult.XR_ERROR_VALIDATION_FAILURE;
|
||||
|
||||
ASSERT_FEATURE();
|
||||
if (feature)
|
||||
{
|
||||
result = (XrResult)feature.GetEyePupilData(eyeTracker, pupilDataInfo, out XrEyePupilDataHTC data);
|
||||
if (result == XrResult.XR_SUCCESS) { pupilData = data; }
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public override bool GetEyePupilData(out XrSingleEyePupilDataHTC[] pupilData)
|
||||
{
|
||||
pupilData = m_pupilData.pupilData;
|
||||
bool result = false;
|
||||
|
||||
ASSERT_FEATURE();
|
||||
if (feature)
|
||||
{
|
||||
result = feature.GetEyePupilData(out XrSingleEyePupilDataHTC[] data);
|
||||
if (result) pupilData = data;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
public override XrResult xrGetEyeGeometricDataHTC(XrEyeTrackerHTC eyeTracker,
|
||||
XrEyeGeometricDataInfoHTC info,
|
||||
out XrEyeGeometricDataHTC eyeGeometricData)
|
||||
{
|
||||
eyeGeometricData = m_eyeGeometricData;
|
||||
XrResult result = XrResult.XR_ERROR_VALIDATION_FAILURE;
|
||||
|
||||
ASSERT_FEATURE();
|
||||
if (feature)
|
||||
{
|
||||
result = (XrResult)feature.GetEyeGeometricData(eyeTracker, info, out XrEyeGeometricDataHTC geometricData);
|
||||
if (result == XrResult.XR_SUCCESS) { eyeGeometricData = geometricData; }
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public override bool GetEyeGeometricData(out XrSingleEyeGeometricDataHTC[] geometricData)
|
||||
{
|
||||
geometricData = m_eyeGeometricData.eyeGeometricData;
|
||||
bool result = false;
|
||||
|
||||
ASSERT_FEATURE();
|
||||
if (feature)
|
||||
{
|
||||
result = feature.GetEyeGeometricData(out XrSingleEyeGeometricDataHTC[] data);
|
||||
if (result) geometricData = data;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 166bae55cad9f9146a8c2ada64d74832
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6bf905bc26255a9438a252cd62d84c4b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2344ab9d663d25f4c95e72e96a84ad49
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,73 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using VIVE.OpenXR.EyeTracker;
|
||||
|
||||
namespace VIVE.OpenXR.Samples.OpenXRInput
|
||||
{
|
||||
public class EyeTrackerTest : MonoBehaviour
|
||||
{
|
||||
const string LOG_TAG = "VIVE.OpenXR.Samples.OpenXRInput.EyeTrackerText";
|
||||
void DEBUG(string msg) { Debug.Log(LOG_TAG + " " + msg); }
|
||||
public Transform leftGazeTransform = null;
|
||||
public Transform rightGazeTransform = null;
|
||||
|
||||
private Text m_Text = null;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
m_Text = GetComponent<Text>();
|
||||
}
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
m_Text.text = "[Eye Tracker]\n";
|
||||
m_Text.text += "Left Gaze:\n";
|
||||
XR_HTC_eye_tracker.Interop.GetEyeGazeData(out XrSingleEyeGazeDataHTC[] out_gazes);
|
||||
XrSingleEyeGazeDataHTC leftGaze = out_gazes[(int)XrEyePositionHTC.XR_EYE_POSITION_LEFT_HTC];
|
||||
m_Text.text += "isValid: " + leftGaze.isValid + "\n";
|
||||
m_Text.text += "position ( " + leftGaze.gazePose.position.ToUnityVector().x.ToString("F4") + ", "+leftGaze.gazePose.position.ToUnityVector().y.ToString("F4") + ", " + leftGaze.gazePose.position.ToUnityVector().z.ToString("F4") + ")\n";
|
||||
m_Text.text += "rotation ( " + leftGaze.gazePose.orientation.ToOpenXRQuaternion().x.ToString("F4") + ", "+leftGaze.gazePose.orientation.ToOpenXRQuaternion().y.ToString("F4") + ", " + leftGaze.gazePose.orientation.ToOpenXRQuaternion().z.ToString("F4") + ", " + leftGaze.gazePose.orientation.ToOpenXRQuaternion().w.ToString("F4") + ")\n";
|
||||
leftGazeTransform.position = leftGaze.gazePose.position.ToUnityVector();
|
||||
leftGazeTransform.rotation = leftGaze.gazePose.orientation.ToUnityQuaternion();
|
||||
m_Text.text += "Right Gaze:\n";
|
||||
XrSingleEyeGazeDataHTC rightGaze = out_gazes[(int)XrEyePositionHTC.XR_EYE_POSITION_RIGHT_HTC];
|
||||
m_Text.text += "isValid: " + rightGaze.isValid + "\n";
|
||||
m_Text.text += "position ( " + rightGaze.gazePose.position.ToUnityVector().x.ToString("F4") + ", " + rightGaze.gazePose.position.ToUnityVector().y.ToString("F4") + ", " + rightGaze.gazePose.position.ToUnityVector().z.ToString("F4") + ")\n";
|
||||
m_Text.text += "rotation ( " + rightGaze.gazePose.orientation.ToOpenXRQuaternion().x.ToString("F4") + ", " +rightGaze.gazePose.orientation.ToOpenXRQuaternion().y.ToString("F4") + ", " + rightGaze.gazePose.orientation.ToOpenXRQuaternion().z.ToString("F4") + ", " + rightGaze.gazePose.orientation.ToOpenXRQuaternion().w.ToString("F4") + ")\n\n";
|
||||
rightGazeTransform.position = rightGaze.gazePose.position.ToUnityVector();
|
||||
rightGazeTransform.rotation = rightGaze.gazePose.orientation.ToUnityQuaternion();
|
||||
|
||||
m_Text.text += "Left Pupil:\n";
|
||||
XR_HTC_eye_tracker.Interop.GetEyePupilData(out XrSingleEyePupilDataHTC[] out_pupils);
|
||||
XrSingleEyePupilDataHTC leftPupil = out_pupils[(int)XrEyePositionHTC.XR_EYE_POSITION_LEFT_HTC];
|
||||
m_Text.text += "isDiameterValid: " + leftPupil.isDiameterValid + "\tisPositionValid: " + leftPupil.isPositionValid+ "\n";
|
||||
m_Text.text += "pupilDiameter: " + leftPupil.pupilDiameter + "\n";
|
||||
m_Text.text += "position ( " + leftPupil.pupilPosition.x.ToString("F4") + ", " + leftPupil.pupilPosition.y.ToString("F4") + ")\n";
|
||||
//m_Text.text += "tracked: " + tracked + "\n";
|
||||
m_Text.text += "Right Pupil:\n";
|
||||
XrSingleEyePupilDataHTC rightPupil = out_pupils[(int)XrEyePositionHTC.XR_EYE_POSITION_RIGHT_HTC];
|
||||
m_Text.text += "isDiameterValid: " + rightPupil.isDiameterValid + "\tisPositionValid: " + rightPupil.isPositionValid + "\n";
|
||||
m_Text.text += "pupilDiameter: " + rightPupil.pupilDiameter + "\n";
|
||||
m_Text.text += "position ( " + rightPupil.pupilPosition.x.ToString("F4") + ", " + rightPupil.pupilPosition.y.ToString("F4") + ")\n\n";
|
||||
|
||||
m_Text.text += "Left eye geometric:\n";
|
||||
XR_HTC_eye_tracker.Interop.GetEyeGeometricData(out XrSingleEyeGeometricDataHTC[] out_geometrics);
|
||||
XrSingleEyeGeometricDataHTC leftGeometric = out_geometrics[(int)XrEyePositionHTC.XR_EYE_POSITION_LEFT_HTC];
|
||||
m_Text.text += "isValid: " + leftGeometric.isValid + "\n";
|
||||
m_Text.text += "Openness: " + leftGeometric.eyeOpenness.ToString("F3") + "\tSqueeze: " + leftGeometric.eyeSqueeze.ToString("F3") + "\tWide: " + leftGeometric.eyeWide.ToString("F3") + "\n";
|
||||
m_Text.text += "Right eye geometric:\n";
|
||||
XrSingleEyeGeometricDataHTC rightGeometric = out_geometrics[(int)XrEyePositionHTC.XR_EYE_POSITION_RIGHT_HTC];
|
||||
m_Text.text += "isValid: " + rightGeometric.isValid + "\n";
|
||||
m_Text.text += "Openness: " + rightGeometric.eyeOpenness.ToString("F3") + "\tSqueeze: " + rightGeometric.eyeSqueeze.ToString("F3") + "\tWide: " + rightGeometric.eyeWide.ToString("F3") + "\n";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b27f3d0a0c3073b4c9a86bcd624fa797
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -348,6 +348,7 @@ MeshRenderer:
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
@@ -396,6 +397,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 6.042}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
@@ -433,6 +435,7 @@ RectTransform:
|
||||
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: 1713029778}
|
||||
m_RootOrder: 1
|
||||
@@ -477,7 +480,12 @@ MonoBehaviour:
|
||||
m_LineSpacing: 1
|
||||
m_Text: 'Press B to switch to Overlay.
|
||||
|
||||
Press A to switch to Underlay.'
|
||||
Press A to switch to Underlay.
|
||||
|
||||
Press
|
||||
GripR to create passthrough.
|
||||
|
||||
Press GripL to destroy passthrough.'
|
||||
--- !u!222 &563979743
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -513,6 +521,7 @@ Transform:
|
||||
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_RootOrder: 3
|
||||
@@ -618,6 +627,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
|
||||
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_RootOrder: 4
|
||||
@@ -789,6 +799,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 3.05}
|
||||
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1792614228}
|
||||
- {fileID: 563979741}
|
||||
@@ -828,6 +839,7 @@ RectTransform:
|
||||
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: 1713029778}
|
||||
m_RootOrder: 0
|
||||
@@ -905,6 +917,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_SendPointerHoverToParent: 1
|
||||
m_MoveRepeatDelay: 0.5
|
||||
m_MoveRepeatRate: 0.1
|
||||
m_XRTrackingOrigin: {fileID: 486770172}
|
||||
@@ -921,6 +934,7 @@ MonoBehaviour:
|
||||
m_TrackedDeviceOrientationAction: {fileID: -8081773802841398021, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
|
||||
m_DeselectOnBackgroundClick: 1
|
||||
m_PointerBehavior: 0
|
||||
m_CursorLockBehavior: 0
|
||||
--- !u!114 &1934135425
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -946,6 +960,7 @@ Transform:
|
||||
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_RootOrder: 2
|
||||
|
||||
@@ -150,6 +150,7 @@ RectTransform:
|
||||
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:
|
||||
- {fileID: 227549055}
|
||||
- {fileID: 1897936060}
|
||||
@@ -159,7 +160,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 1000, y: 135}
|
||||
m_AnchoredPosition: {x: 1000, y: 75}
|
||||
m_SizeDelta: {x: 2000, y: 120}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &18497396
|
||||
@@ -509,6 +510,7 @@ RectTransform:
|
||||
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: 18497395}
|
||||
m_RootOrder: 0
|
||||
@@ -586,6 +588,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0.618, z: 2.226}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
@@ -618,6 +621,7 @@ RectTransform:
|
||||
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: 1561711923}
|
||||
m_RootOrder: 0
|
||||
@@ -691,6 +695,7 @@ RectTransform:
|
||||
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:
|
||||
- {fileID: 1623327190}
|
||||
m_Father: {fileID: 1897936060}
|
||||
@@ -734,6 +739,7 @@ RectTransform:
|
||||
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: 1713029778}
|
||||
m_RootOrder: 1
|
||||
@@ -783,7 +789,12 @@ MonoBehaviour:
|
||||
Press
|
||||
X to switch to World Lock Pose.
|
||||
|
||||
Press Y to switch to Head Lock Pose.'
|
||||
Press Y to switch to Head Lock Pose.
|
||||
|
||||
Press
|
||||
GripR to create passthrough.
|
||||
|
||||
Press GripL to destroy passthrough.'
|
||||
--- !u!222 &563979743
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -825,6 +836,7 @@ RectTransform:
|
||||
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: 18497395}
|
||||
m_RootOrder: 2
|
||||
@@ -903,6 +915,7 @@ Transform:
|
||||
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_RootOrder: 3
|
||||
@@ -1119,6 +1132,7 @@ Transform:
|
||||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
|
||||
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_RootOrder: 6
|
||||
@@ -1208,6 +1222,7 @@ RectTransform:
|
||||
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: 1897936060}
|
||||
m_RootOrder: 0
|
||||
@@ -1281,6 +1296,7 @@ RectTransform:
|
||||
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:
|
||||
- {fileID: 255383794}
|
||||
m_Father: {fileID: 1897936060}
|
||||
@@ -1319,6 +1335,7 @@ RectTransform:
|
||||
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: 461691196}
|
||||
m_RootOrder: 0
|
||||
@@ -1476,6 +1493,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 3.05}
|
||||
m_LocalScale: {x: 0.001, y: 0.001, z: 0.001}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1792614228}
|
||||
- {fileID: 563979741}
|
||||
@@ -1516,6 +1534,7 @@ RectTransform:
|
||||
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: 1713029778}
|
||||
m_RootOrder: 0
|
||||
@@ -1590,6 +1609,7 @@ RectTransform:
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 5, y: 5, z: 5}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1315847422}
|
||||
- {fileID: 1561711923}
|
||||
@@ -1696,6 +1716,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_SendPointerHoverToParent: 1
|
||||
m_MoveRepeatDelay: 0.5
|
||||
m_MoveRepeatRate: 0.1
|
||||
m_XRTrackingOrigin: {fileID: 486770172}
|
||||
@@ -1712,6 +1733,7 @@ MonoBehaviour:
|
||||
m_TrackedDeviceOrientationAction: {fileID: -8081773802841398021, guid: 699f4d2073ed2e34ea7f7944795b868c, type: 3}
|
||||
m_DeselectOnBackgroundClick: 1
|
||||
m_PointerBehavior: 0
|
||||
m_CursorLockBehavior: 0
|
||||
--- !u!114 &1934135425
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1737,6 +1759,7 @@ Transform:
|
||||
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_RootOrder: 2
|
||||
|
||||
@@ -16,10 +16,7 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (activePassthroughID == 0)
|
||||
{
|
||||
StartPassthrough();
|
||||
}
|
||||
|
||||
|
||||
if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.B)) //Set Passthrough as Overlay
|
||||
{
|
||||
@@ -29,6 +26,21 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
|
||||
{
|
||||
SetPassthroughToUnderlay();
|
||||
}
|
||||
if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.GripR))
|
||||
{
|
||||
if (activePassthroughID == 0)
|
||||
{
|
||||
StartPassthrough();
|
||||
}
|
||||
}
|
||||
if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.GripL))
|
||||
{
|
||||
if(activePassthroughID != 0)
|
||||
{
|
||||
CompositionLayerPassthroughAPI.DestroyPassthrough(activePassthroughID);
|
||||
activePassthroughID = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SetPassthroughToOverlay()
|
||||
|
||||
@@ -55,6 +55,8 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
|
||||
if (activePassthroughID != 0) SetPassthroughMesh();
|
||||
}
|
||||
|
||||
if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.GripR))
|
||||
{
|
||||
if (passthroughMesh != null && passthroughMeshTransform != null)
|
||||
{
|
||||
if (activePassthroughID == 0)
|
||||
@@ -63,6 +65,15 @@ namespace VIVE.OpenXR.CompositionLayer.Samples.Passthrough
|
||||
}
|
||||
}
|
||||
}
|
||||
if (VRSInputManager.instance.GetButtonDown(VRSButtonReference.GripL))
|
||||
{
|
||||
if (activePassthroughID != 0)
|
||||
{
|
||||
CompositionLayerPassthroughAPI.DestroyPassthrough(activePassthroughID);
|
||||
activePassthroughID = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SetPassthroughToOverlay()
|
||||
{
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a26d428ba154534381ad1cb49980f27
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2c006ff37d2c37840b4aafecf69afb2a
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9000000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44250ae5896983747bdd3ea514ce6e0f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,401 @@
|
||||
%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: 11500000, guid: 976e99d37c093ce4c9b249c81c2cbdd5, type: 3}
|
||||
m_Name: AvatarDescription
|
||||
m_EditorClassIdentifier:
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
upperArmTwist: 0.5
|
||||
lowerArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
lowerLegTwist: 0.5
|
||||
feetSpacing: 0
|
||||
hasTranslationDoF: 0
|
||||
human:
|
||||
- humanBone: 0
|
||||
boneName: J_Bip_C_Hips
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 1
|
||||
boneName: J_Bip_L_UpperLeg
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 2
|
||||
boneName: J_Bip_R_UpperLeg
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 3
|
||||
boneName: J_Bip_L_LowerLeg
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 4
|
||||
boneName: J_Bip_R_LowerLeg
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 5
|
||||
boneName: J_Bip_L_Foot
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 6
|
||||
boneName: J_Bip_R_Foot
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 7
|
||||
boneName: J_Bip_C_Spine
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 8
|
||||
boneName: J_Bip_C_Chest
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 9
|
||||
boneName: J_Bip_C_Neck
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 10
|
||||
boneName: J_Bip_C_Head
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 11
|
||||
boneName: J_Bip_L_Shoulder
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 12
|
||||
boneName: J_Bip_R_Shoulder
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 13
|
||||
boneName: J_Bip_L_UpperArm
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 14
|
||||
boneName: J_Bip_R_UpperArm
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 15
|
||||
boneName: J_Bip_L_LowerArm
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 16
|
||||
boneName: J_Bip_R_LowerArm
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 17
|
||||
boneName: J_Bip_L_Hand
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 18
|
||||
boneName: J_Bip_R_Hand
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 19
|
||||
boneName: J_Bip_L_ToeBase
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 20
|
||||
boneName: J_Bip_R_ToeBase
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 21
|
||||
boneName: J_Adj_L_FaceEye
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 22
|
||||
boneName: J_Adj_R_FaceEye
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 24
|
||||
boneName: J_Bip_L_Thumb1
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 25
|
||||
boneName: J_Bip_L_Thumb2
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 26
|
||||
boneName: J_Bip_L_Thumb3
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 27
|
||||
boneName: J_Bip_L_Index1
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 28
|
||||
boneName: J_Bip_L_Index2
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 29
|
||||
boneName: J_Bip_L_Index3
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 30
|
||||
boneName: J_Bip_L_Middle1
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 31
|
||||
boneName: J_Bip_L_Middle2
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 32
|
||||
boneName: J_Bip_L_Middle3
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 33
|
||||
boneName: J_Bip_L_Ring1
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 34
|
||||
boneName: J_Bip_L_Ring2
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 35
|
||||
boneName: J_Bip_L_Ring3
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 36
|
||||
boneName: J_Bip_L_Little1
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 37
|
||||
boneName: J_Bip_L_Little2
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 38
|
||||
boneName: J_Bip_L_Little3
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 39
|
||||
boneName: J_Bip_R_Thumb1
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 40
|
||||
boneName: J_Bip_R_Thumb2
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 41
|
||||
boneName: J_Bip_R_Thumb3
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 42
|
||||
boneName: J_Bip_R_Index1
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 43
|
||||
boneName: J_Bip_R_Index2
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 44
|
||||
boneName: J_Bip_R_Index3
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 45
|
||||
boneName: J_Bip_R_Middle1
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 46
|
||||
boneName: J_Bip_R_Middle2
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 47
|
||||
boneName: J_Bip_R_Middle3
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 48
|
||||
boneName: J_Bip_R_Ring1
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 49
|
||||
boneName: J_Bip_R_Ring2
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 50
|
||||
boneName: J_Bip_R_Ring3
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 51
|
||||
boneName: J_Bip_R_Little1
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 52
|
||||
boneName: J_Bip_R_Little2
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 53
|
||||
boneName: J_Bip_R_Little3
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
- humanBone: 54
|
||||
boneName: J_Bip_C_UpperChest
|
||||
useDefaultValues: 1
|
||||
min: {x: 0, y: 0, z: 0}
|
||||
max: {x: 0, y: 0, z: 0}
|
||||
center: {x: 0, y: 0, z: 0}
|
||||
axisLength: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a5bf90c2c77df5945833811969ae9b7f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0c485a52287f0ec42a6deba26ecada77
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.A
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: A
|
||||
Preset: 2
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 39
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ab5f9d46c1bc285478033c10ad6eecc7
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.Angry
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: Angry
|
||||
Preset: 9
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 1
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1c4788811eb904041af9407ab3c8e942
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.Blink
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: Blink
|
||||
Preset: 7
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 13
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bb794829910d46440bbc6648409f5c67
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.Blink_L
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: Blink_L
|
||||
Preset: 16
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 15
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3bc730086f9f3be439b86f7f7a65608c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.Blink_R
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: Blink_R
|
||||
Preset: 17
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 14
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b1461287e216d14f82a8dc3084ea1da
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.E
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: E
|
||||
Preset: 5
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 42
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ef0a624466fca9f44afc54a99046b4e9
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.Fun
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: Fun
|
||||
Preset: 11
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 2
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0d9fe17b64a0b194bb62c1ccc4e09cd9
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.I
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: I
|
||||
Preset: 3
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 40
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 31b04c29fd904544298eed36491c1bc1
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.Joy
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: Joy
|
||||
Preset: 8
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 3
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e22e6492180a60f44801c3a785e70db6
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.Neutral
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: Neutral
|
||||
Preset: 1
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 0
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7667fe9100954d44fbef6a8902a2330e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.O
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: O
|
||||
Preset: 6
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 43
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d59f216bd0a305d47b90f9483a21f47b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.Sorrow
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: Sorrow
|
||||
Preset: 10
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 4
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d6e600e244aee1f41a19d8df4fe8105e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.Surprised
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: Surprised
|
||||
Preset: 0
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 5
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 700271c57903adc40a9c8fe348a9f57c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: BlendShape.U
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: U
|
||||
Preset: 4
|
||||
Values:
|
||||
- RelativePath: Face
|
||||
Index: 41
|
||||
Weight: 100
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a15f8161a9fac284a9280498d7ced15c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,33 @@
|
||||
%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: 11500000, guid: 329dca3bf78fcdd42b2df941673db76f, type: 3}
|
||||
m_Name: BlendShape
|
||||
m_EditorClassIdentifier:
|
||||
Clips:
|
||||
- {fileID: 11400000, guid: 7667fe9100954d44fbef6a8902a2330e, type: 2}
|
||||
- {fileID: 11400000, guid: ab5f9d46c1bc285478033c10ad6eecc7, type: 2}
|
||||
- {fileID: 11400000, guid: 31b04c29fd904544298eed36491c1bc1, type: 2}
|
||||
- {fileID: 11400000, guid: a15f8161a9fac284a9280498d7ced15c, type: 2}
|
||||
- {fileID: 11400000, guid: ef0a624466fca9f44afc54a99046b4e9, type: 2}
|
||||
- {fileID: 11400000, guid: d59f216bd0a305d47b90f9483a21f47b, type: 2}
|
||||
- {fileID: 11400000, guid: bb794829910d46440bbc6648409f5c67, type: 2}
|
||||
- {fileID: 11400000, guid: 3bc730086f9f3be439b86f7f7a65608c, type: 2}
|
||||
- {fileID: 11400000, guid: 1b1461287e216d14f82a8dc3084ea1da, type: 2}
|
||||
- {fileID: 11400000, guid: 1c4788811eb904041af9407ab3c8e942, type: 2}
|
||||
- {fileID: 11400000, guid: 0d9fe17b64a0b194bb62c1ccc4e09cd9, type: 2}
|
||||
- {fileID: 11400000, guid: e22e6492180a60f44801c3a785e70db6, type: 2}
|
||||
- {fileID: 11400000, guid: d6e600e244aee1f41a19d8df4fe8105e, type: 2}
|
||||
- {fileID: 11400000, guid: 700271c57903adc40a9c8fe348a9f57c, type: 2}
|
||||
- {fileID: 11400000, guid: 725440a3d971e284c995a012e8120630, type: 2}
|
||||
- {fileID: 11400000, guid: 87a85157593e4634fa9dff0675efa701, type: 2}
|
||||
- {fileID: 11400000, guid: d98ff0e344fe9d64799e4149cefe16f2, type: 2}
|
||||
- {fileID: 11400000, guid: 374efa830e4f47448abced6925685e8f, type: 2}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a331d4eb110c35241958eba78ee21821
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,20 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: LookDown
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: LookDown
|
||||
Preset: 13
|
||||
Values: []
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 87a85157593e4634fa9dff0675efa701
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,20 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: LookLeft
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: LookLeft
|
||||
Preset: 14
|
||||
Values: []
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d98ff0e344fe9d64799e4149cefe16f2
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,20 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: LookRight
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: LookRight
|
||||
Preset: 15
|
||||
Values: []
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 374efa830e4f47448abced6925685e8f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,20 @@
|
||||
%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: 11500000, guid: 37562b39ff933b245ac2f35d87edbcd6, type: 3}
|
||||
m_Name: LookUp
|
||||
m_EditorClassIdentifier:
|
||||
m_prefab: {fileID: 0}
|
||||
BlendShapeName: LookUp
|
||||
Preset: 12
|
||||
Values: []
|
||||
MaterialValues: []
|
||||
IsBinary: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 725440a3d971e284c995a012e8120630
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3b036164831c9924e8cb4ee9b1ad6fb6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,104 @@
|
||||
%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: N00_000_00_Body_00_SKIN (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- MTOON_OUTLINE_COLOR_FIXED
|
||||
- MTOON_OUTLINE_WIDTH_WORLD
|
||||
- _ALPHATEST_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: d381a1d1cc371294e9499fb41010ba2c, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 158236e8016b54b4fb7002417060e027, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 158236e8016b54b4fb7002417060e027, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 5547de9e7ef01c34b9975cf613f5afcc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 1
|
||||
- _BlendMode: 1
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 0
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 0
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 4.63
|
||||
- _OutlineWidth: 0.08
|
||||
- _OutlineWidthMode: 1
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: 0
|
||||
- _ShadeToony: 0.9
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 1
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0.25, g: 0.25, b: 0.25, a: 1}
|
||||
- _ShadeColor: {r: 0.9686274, g: 0.8117647, b: 0.85882354, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fc0a13dc4b24657438545fbfeaf0ca74
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,102 @@
|
||||
%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: N00_000_00_EyeHighlight_00_EYE (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- _ALPHABLEND_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3500
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: a19d9a065953acc47b8a08eb2d1ac4b3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 51f707660cfe45d4e862621bcc724f93, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 51f707660cfe45d4e862621bcc724f93, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 0
|
||||
- _BlendMode: 2
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 10
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 1
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 1
|
||||
- _OutlineWidth: 0.08020833
|
||||
- _OutlineWidthMode: 0
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: -0.26666665
|
||||
- _ShadeToony: 1
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 5
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ShadeColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e05f8c047e81d784ab5aa3637f87409b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,102 @@
|
||||
%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: N00_000_00_EyeIris_00_EYE (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- _ALPHABLEND_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: a19d9a065953acc47b8a08eb2d1ac4b3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: d0de6f6e42c310645867487abe78c6ac, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: d0de6f6e42c310645867487abe78c6ac, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 0
|
||||
- _BlendMode: 2
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 10
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 1
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 1
|
||||
- _OutlineWidth: 0.08020833
|
||||
- _OutlineWidthMode: 0
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: -0.26666665
|
||||
- _ShadeToony: 1
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 5
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ShadeColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 444d43ea65307ea448b2339d182e1aba
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,102 @@
|
||||
%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: N00_000_00_EyeWhite_00_EYE (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- _ALPHATEST_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: a19d9a065953acc47b8a08eb2d1ac4b3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 9d762cc3cfaf803419992822ddfa5a19, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 9d762cc3cfaf803419992822ddfa5a19, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 1
|
||||
- _BlendMode: 1
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 0
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 1
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 1
|
||||
- _OutlineWidth: 0.08020833
|
||||
- _OutlineWidthMode: 0
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: -0.26666665
|
||||
- _ShadeToony: 1
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 1
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ShadeColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3c1d5c9dd9f01834392f4ba5656e478c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,102 @@
|
||||
%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: N00_000_00_FaceBrow_00_FACE (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- _ALPHABLEND_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 4000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: a19d9a065953acc47b8a08eb2d1ac4b3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 1a9fb9c9c2c34df4f8fe5e3dee342e47, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 1a9fb9c9c2c34df4f8fe5e3dee342e47, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 5547de9e7ef01c34b9975cf613f5afcc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 0
|
||||
- _BlendMode: 2
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 10
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 1
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 4.63
|
||||
- _OutlineWidth: 0.08020833
|
||||
- _OutlineWidthMode: 0
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: -0.26666665
|
||||
- _ShadeToony: 1
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 5
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ShadeColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5e45d2c629c9e2445b9a08a281180ec9
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,102 @@
|
||||
%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: N00_000_00_FaceEyeline_00_FACE (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- _ALPHABLEND_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: a19d9a065953acc47b8a08eb2d1ac4b3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 55299f92850a70141b5290c767e7cd82, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 55299f92850a70141b5290c767e7cd82, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 5547de9e7ef01c34b9975cf613f5afcc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 0
|
||||
- _BlendMode: 2
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 10
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 1
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 1
|
||||
- _OutlineWidth: 0.08020833
|
||||
- _OutlineWidthMode: 0
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: -0.26666665
|
||||
- _ShadeToony: 1
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 5
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ShadeColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ca719d987c08a4048b5401c81762d68d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,102 @@
|
||||
%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: N00_000_00_FaceMouth_00_FACE (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- _ALPHATEST_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: a19d9a065953acc47b8a08eb2d1ac4b3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 8ad1a7934c0532944a5527877b76561c, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 8ad1a7934c0532944a5527877b76561c, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 1
|
||||
- _BlendMode: 1
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 0
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 1
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 1
|
||||
- _OutlineWidth: 0.08020833
|
||||
- _OutlineWidthMode: 0
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: -0.26666665
|
||||
- _ShadeToony: 1
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 1
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ShadeColor: {r: 0.9686274, g: 0.8117647, b: 0.85882354, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 78ad933fe6baf5045971c59220625598
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,104 @@
|
||||
%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: N00_000_00_Face_00_SKIN (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- MTOON_OUTLINE_COLOR_FIXED
|
||||
- MTOON_OUTLINE_WIDTH_WORLD
|
||||
- _ALPHATEST_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: 573a1b0ffc313934480caf7fed3c0c30, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 7bc214a5aeaca394b82560131b9e2d10, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 82b79a5098728914486ac605c91d7170, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 7bc214a5aeaca394b82560131b9e2d10, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 5547de9e7ef01c34b9975cf613f5afcc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 1
|
||||
- _BlendMode: 1
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 0
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 0
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 4.63
|
||||
- _OutlineWidth: 0.08020833
|
||||
- _OutlineWidthMode: 1
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: -0.26666665
|
||||
- _ShadeToony: 1
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 1
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0.25, g: 0.25, b: 0.25, a: 1}
|
||||
- _ShadeColor: {r: 0.9686274, g: 0.8117647, b: 0.85882354, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ec2206e2367f3a040a405d39a21f3a02
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,102 @@
|
||||
%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: N00_000_00_HairBack_00_HAIR (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- _ALPHATEST_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: 303cac890e85b864a916d7c454bb727b, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 22b189b1701cbb04ba7915602e5de4e9, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 22b189b1701cbb04ba7915602e5de4e9, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 1
|
||||
- _BlendMode: 1
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 0
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 1
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 1
|
||||
- _OutlineWidth: 0
|
||||
- _OutlineWidthMode: 0
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: 0.26666665
|
||||
- _ShadeToony: 0.6
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 1
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0.85882354, g: 0.69411767, b: 0.69411767, a: 1}
|
||||
- _OutlineColor: {r: 0.47450978, g: 0.74509805, b: 0.737255, a: 1}
|
||||
- _RimColor: {r: 0.25, g: 0.25, b: 0.25, a: 1}
|
||||
- _ShadeColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 98ac2806c4c64ab428de3e4b2232e4ef
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,102 @@
|
||||
%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: N00_000_Hair_00_HAIR (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- _ALPHATEST_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: ad18afd8ca3712f49b1b5e0c830231ef, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 7875535f05a335b4e950f96ebf651317, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 453090f43d60bca419e569fde6d2f5c3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 453090f43d60bca419e569fde6d2f5c3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 98e0ea55ec74c3c439393acc1325e172, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 1
|
||||
- _BlendMode: 1
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 0
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 1
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 4.34
|
||||
- _OutlineWidth: 0
|
||||
- _OutlineWidthMode: 0
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: 0.26666665
|
||||
- _ShadeToony: 0.6
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 1
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0.85882354, g: 0.5411765, b: 0.23137255, a: 1}
|
||||
- _OutlineColor: {r: 0.27450973, g: 0.09019599, b: 0.1254901, a: 1}
|
||||
- _RimColor: {r: 0.25, g: 0.25, b: 0.25, a: 1}
|
||||
- _ShadeColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 380506786ad864a4ab3e0c77b405614a
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,104 @@
|
||||
%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: N00_001_03_Bottoms_01_CLOTH (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- MTOON_OUTLINE_COLOR_FIXED
|
||||
- MTOON_OUTLINE_WIDTH_WORLD
|
||||
- _ALPHATEST_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: a19d9a065953acc47b8a08eb2d1ac4b3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 5d32a8e4858af084190c4668c1767bc7, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 5d32a8e4858af084190c4668c1767bc7, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 5547de9e7ef01c34b9975cf613f5afcc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 1
|
||||
- _BlendMode: 1
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 0
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 0
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 1
|
||||
- _OutlineWidth: 0.08
|
||||
- _OutlineWidthMode: 1
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: 0
|
||||
- _ShadeToony: 0.9
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 1
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0.25, g: 0.25, b: 0.25, a: 1}
|
||||
- _ShadeColor: {r: 0.96999997, g: 0.81, b: 0.86, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 60ccfa3b15a46e2408bf2de3c833e69b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,104 @@
|
||||
%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: N00_002_01_Tops_01_CLOTH (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- MTOON_OUTLINE_COLOR_FIXED
|
||||
- MTOON_OUTLINE_WIDTH_WORLD
|
||||
- _ALPHATEST_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: a19d9a065953acc47b8a08eb2d1ac4b3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 4bffa7d0813008f4994c6a4f33fc1a95, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 4bffa7d0813008f4994c6a4f33fc1a95, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 5547de9e7ef01c34b9975cf613f5afcc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 1
|
||||
- _BlendMode: 1
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 0
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 0
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 1
|
||||
- _OutlineWidth: 0.08
|
||||
- _OutlineWidthMode: 1
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: 0
|
||||
- _ShadeToony: 0.9
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 1
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0.25, g: 0.25, b: 0.25, a: 1}
|
||||
- _ShadeColor: {r: 0.8117647, g: 0.8392157, b: 0.9686274, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fc3816470dc0c0e4bbc70bb2df30f82e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,104 @@
|
||||
%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: N00_006_01_Shoes_01_CLOTH (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- MTOON_OUTLINE_COLOR_FIXED
|
||||
- MTOON_OUTLINE_WIDTH_WORLD
|
||||
- _ALPHATEST_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: a19d9a065953acc47b8a08eb2d1ac4b3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 311ab6e8297edcd4b8ce8013b296c458, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 311ab6e8297edcd4b8ce8013b296c458, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 5547de9e7ef01c34b9975cf613f5afcc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 1
|
||||
- _BlendMode: 1
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 0
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 0
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 1
|
||||
- _OutlineWidth: 0.08
|
||||
- _OutlineWidthMode: 1
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: 0
|
||||
- _ShadeToony: 0.9
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 1
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0.25, g: 0.25, b: 0.25, a: 1}
|
||||
- _ShadeColor: {r: 0.8117647, g: 0.8392157, b: 0.9686274, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 04287126b5192cc4b8263f85c7e45ac8
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,104 @@
|
||||
%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: N00_010_01_Onepiece_00_CLOTH_01 (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- MTOON_OUTLINE_COLOR_FIXED
|
||||
- MTOON_OUTLINE_WIDTH_WORLD
|
||||
- _ALPHATEST_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: a19d9a065953acc47b8a08eb2d1ac4b3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 6f4d12c56900bf2428f6d5abd2aa8f6e, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 6f4d12c56900bf2428f6d5abd2aa8f6e, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 5547de9e7ef01c34b9975cf613f5afcc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 1
|
||||
- _BlendMode: 1
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 0
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 0
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 1
|
||||
- _OutlineWidth: 0.08
|
||||
- _OutlineWidthMode: 1
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: 0
|
||||
- _ShadeToony: 0.9
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 1
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0.25, g: 0.25, b: 0.25, a: 1}
|
||||
- _ShadeColor: {r: 0.966989, g: 0.9646432, b: 0.97435874, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1cb8d04e3dbb6fa4a9c72ed69dd39f91
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,104 @@
|
||||
%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: N00_010_01_Onepiece_00_CLOTH_02 (Instance)
|
||||
m_Shader: {fileID: 4800000, guid: 1a97144e4ad27a04aafd70f7b915cedb, type: 3}
|
||||
m_ValidKeywords:
|
||||
- MTOON_OUTLINE_COLOR_FIXED
|
||||
- MTOON_OUTLINE_WIDTH_WORLD
|
||||
- _ALPHATEST_ON
|
||||
- _NORMALMAP
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 2450
|
||||
stringTagMap:
|
||||
RenderType: TransparentCutout
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 2800000, guid: a19d9a065953acc47b8a08eb2d1ac4b3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 2800000, guid: 37d485fb3c77dec4e97d02654d5d0634, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 6260676f62ad32845bd83a0adbf6fd05, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineWidthTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ReceiveShadowTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _RimTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadeTexture:
|
||||
m_Texture: {fileID: 2800000, guid: 6260676f62ad32845bd83a0adbf6fd05, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ShadingGradeTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SphereAdd:
|
||||
m_Texture: {fileID: 2800000, guid: 5547de9e7ef01c34b9975cf613f5afcc, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _UvAnimMaskTexture:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _AlphaToMask: 1
|
||||
- _BlendMode: 1
|
||||
- _BumpScale: 1
|
||||
- _CullMode: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DebugMode: 0
|
||||
- _DstBlend: 0
|
||||
- _IndirectLightIntensity: 0.1
|
||||
- _LightColorAttenuation: 0
|
||||
- _MToonVersion: 39
|
||||
- _OutlineColorMode: 0
|
||||
- _OutlineCullMode: 1
|
||||
- _OutlineLightingMix: 1
|
||||
- _OutlineScaledMaxDistance: 1
|
||||
- _OutlineWidth: 0.08
|
||||
- _OutlineWidthMode: 1
|
||||
- _ReceiveShadowRate: 1
|
||||
- _RimFresnelPower: 100
|
||||
- _RimLift: 0.1
|
||||
- _RimLightingMix: 0
|
||||
- _ShadeShift: 0
|
||||
- _ShadeToony: 0.9
|
||||
- _ShadingGradeRate: 1
|
||||
- _SrcBlend: 1
|
||||
- _UvAnimRotation: 0
|
||||
- _UvAnimScrollX: 0
|
||||
- _UvAnimScrollY: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OutlineColor: {r: 0.2745098, g: 0.090196066, b: 0.12549016, a: 1}
|
||||
- _RimColor: {r: 0.25, g: 0.25, b: 0.25, a: 1}
|
||||
- _ShadeColor: {r: 0.966989, g: 0.9646432, b: 0.97435874, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4dbe20acdfbf7194d9aaed97acc8f1a1
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6312660392a74324d88e05208fbebaaf
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user