Grotto Kapitel Parmigiano + AVPro Test Package
parent
1f7a3befdb
commit
47baa001ad
|
@ -316,7 +316,7 @@ Tree("32_Grotto_Kueche_Zusammen_Kochen") {
|
|||
BTC.Set("Collider.INTERACTABLES.Topf", "otherTag", "Steinpilze")
|
||||
BTC.Run("Collider.INTERACTABLES.Topf")
|
||||
|
||||
|
||||
RunTree("32_Grotto_Kueche_Parmigiano")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -331,10 +331,13 @@ Tree("32_Grotto_Kueche_Selbststaendig_Kochen") {
|
|||
}
|
||||
|
||||
Tree("32_Grotto_Kueche_Parmigiano") {
|
||||
BTC.Run("AudioSource.AUDIO.Kueche4FZusammenKo") // Richtige Audio fehlt
|
||||
Composite(Sequence) {
|
||||
BTC.Run("AudioSource.AUDIO.Kueche4FZusammenKo")
|
||||
|
||||
// Parmigiano in Topf geben
|
||||
// ...
|
||||
BTC.Run("NamedGrabEvent.INTERACTABLES.Parmigiano")
|
||||
BTC.Set("Collider.INTERACTABLES.Topf", "otherTag", "Parmigiano")
|
||||
BTC.Run("Collider.INTERACTABLES.Topf")
|
||||
|
||||
BTC.Run("AudioSource.AUDIO.Kueche4FZusammenKo") // Richtige Audio fehlt
|
||||
|
||||
|
@ -350,10 +353,13 @@ Tree("32_Grotto_Kueche_Parmigiano") {
|
|||
BTC.Run("AudioSource.AUDIO.Kueche4FZusammenKo") // Richtige Audio fehlt
|
||||
|
||||
// Stelle für Pfanne leuchtet
|
||||
// ...
|
||||
BTC.Enable("Collider/NamedOutline.INTERACTABLES.TopfUntersetzer")
|
||||
|
||||
// Pfanne rueber stellen
|
||||
// ...
|
||||
BTC.Run("NamedGrabEvent.INTERACTABLES.Topf")
|
||||
BTC.Set("Collider/NamedOutline.INTERACTABLES.TopfUntersetzer", "otherTag", "Topf")
|
||||
BTC.Run("Collider/NamedOutline.INTERACTABLES.TopfUntersetzer")
|
||||
BTC.Disable("Collider/NamedOutline.INTERACTABLES.TopfUntersetzer")
|
||||
|
||||
BTC.Run("AudioSource.AUDIO.Kueche5FZusammenKo")
|
||||
BTC.Run("AudioSource.AUDIO.Kueche6FZusammenKo")
|
||||
|
@ -371,10 +377,9 @@ Tree("32_Grotto_Kueche_Parmigiano") {
|
|||
}
|
||||
BTC.Hide("GO.HANDMENU.Option1Button")
|
||||
BTC.Run("AudioSource.AUDIO.Kueche3GOutro")
|
||||
// BTC.Run(Audio)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Tree("32_Grotto_Kueche_Hide") {
|
||||
Composite(Sequence) {
|
||||
// Go to scene 3.5 Slideshow
|
||||
|
@ -383,3 +388,4 @@ Tree("32_Grotto_Kueche_Hide") {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4f8030f6428d642a9a6090f7a564225a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ac9801f71509e0a4c949a03ae8940ecf
|
||||
folderAsset: yes
|
||||
timeCreated: 1438729080
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 50a3b8d1bf24f2943bd18205a6ad0cce
|
||||
folderAsset: yes
|
||||
timeCreated: 1609504095
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,88 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: Demo-360
|
||||
m_Shader: {fileID: 4800000, guid: 46b84ca7ab6291e4fb6c57ac48d01e8f, type: 3}
|
||||
m_ShaderKeywords: FORCEEYE_NONE LAYOUT_NONE STEREO_NONE
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ChromaTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- ForceEye: 0
|
||||
- Layout: 0
|
||||
- Stereo: 0
|
||||
- _ApplyGamma: 0
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _HighQuality: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _StereoDebug: 0
|
||||
- _UVSec: 0
|
||||
- _UseYpCbCr: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _CroppingScalars: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: db39bb6249db0924bb87d6e0bb294ed3
|
||||
timeCreated: 1609503593
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,87 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: Demo-Cube
|
||||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ShaderKeywords: APPLY_GAMMA MONOSCOPIC STEREO_NONE _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ChromaTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- Stereo: 0
|
||||
- _ApplyGamma: 0
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _Exposure: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _Rotation: 0
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 0
|
||||
- _SrcBlend: 1
|
||||
- _StereoDebug: 0
|
||||
- _UVSec: 0
|
||||
- _UseYpCbCr: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3c2c8026b487d4d4a84e01da83637ceb
|
||||
timeCreated: 1609505219
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: -1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,87 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: Demo-Skybox
|
||||
m_Shader: {fileID: 4800000, guid: d7bb9d4ea887e4041877356986247bba, type: 3}
|
||||
m_ShaderKeywords: APPLY_GAMMA MONOSCOPIC STEREO_NONE
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ChromaTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- Stereo: 0
|
||||
- _ApplyGamma: 0
|
||||
- _BumpScale: 1
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _Exposure: 1
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _Rotation: 0
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _StereoDebug: 0
|
||||
- _UVSec: 0
|
||||
- _UseYpCbCr: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 276368b4e7f7f044e8288312f105954e
|
||||
timeCreated: 1601367715
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,117 @@
|
|||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright 2015-2021 RenderHeads Ltd. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace RenderHeads.Media.AVProVideo.Demos
|
||||
{
|
||||
/// <summary>
|
||||
/// Rotate the transform (usually with Camera attached) to look around during playback of 360/180 videos.
|
||||
/// Unity will rotate the camera automatically if VR is enabled, in which case this script does nothing.
|
||||
/// Otherwise if there is a gyroscope it will be used, otherwise the mouse/touch can be used.
|
||||
/// </summary>
|
||||
public class LookAround360 : MonoBehaviour
|
||||
{
|
||||
[SerializeField] bool _lockPitch = false;
|
||||
[SerializeField] float _maxSpinSpeed = 40f;
|
||||
[SerializeField, Range(1f, 10f)] float _spinDamping = 5f;
|
||||
|
||||
private float _spinX;
|
||||
private float _spinY;
|
||||
|
||||
private static bool IsVrPresent()
|
||||
{
|
||||
bool result = false;
|
||||
#if UNITY_2019_3_OR_NEWER
|
||||
var xrDisplaySubsystems = new List<UnityEngine.XR.XRDisplaySubsystem>();
|
||||
#if UNITY_2020_2_OR_NEWER
|
||||
SubsystemManager.GetSubsystems<UnityEngine.XR.XRDisplaySubsystem>(xrDisplaySubsystems);
|
||||
#else
|
||||
SubsystemManager.GetInstances<UnityEngine.XR.XRDisplaySubsystem>(xrDisplaySubsystems);
|
||||
#endif
|
||||
foreach (var xrDisplay in xrDisplaySubsystems)
|
||||
{
|
||||
if (xrDisplay.running)
|
||||
{
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
result = (UnityEngine.XR.XRDevice.isPresent);
|
||||
#else
|
||||
result = (UnityEngine.VR.VRDevice.isPresent);
|
||||
#endif
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
if (IsVrPresent())
|
||||
{
|
||||
this.enabled = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (SystemInfo.supportsGyroscope)
|
||||
{
|
||||
Input.gyro.enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (SystemInfo.supportsGyroscope && Input.gyro.enabled)
|
||||
{
|
||||
RotateFromGyro();
|
||||
}
|
||||
else
|
||||
{
|
||||
RotateFromMouseOrTouch();
|
||||
}
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
if (SystemInfo.supportsGyroscope)
|
||||
{
|
||||
Input.gyro.enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
void RotateFromGyro()
|
||||
{
|
||||
// Invert the z and w of the gyro attitude
|
||||
this.transform.localRotation = new Quaternion(Input.gyro.attitude.x, Input.gyro.attitude.y, -Input.gyro.attitude.z, -Input.gyro.attitude.w);
|
||||
}
|
||||
|
||||
void RotateFromMouseOrTouch()
|
||||
{
|
||||
if (Input.GetMouseButton(0))
|
||||
{
|
||||
float h = _maxSpinSpeed * -Input.GetAxis("Mouse X") * Time.deltaTime;
|
||||
float v = 0f;
|
||||
if (!_lockPitch)
|
||||
{
|
||||
v = _maxSpinSpeed * Input.GetAxis("Mouse Y") * Time.deltaTime;
|
||||
}
|
||||
h = Mathf.Clamp(h, -0.5f, 0.5f);
|
||||
v = Mathf.Clamp(v, -0.5f, 0.5f);
|
||||
_spinX += h;
|
||||
_spinY += v;
|
||||
}
|
||||
if (!Mathf.Approximately(_spinX, 0f) || !Mathf.Approximately(_spinY, 0f))
|
||||
{
|
||||
this.transform.Rotate(Vector3.up, _spinX);
|
||||
this.transform.Rotate(Vector3.right, _spinY);
|
||||
|
||||
_spinX = Mathf.MoveTowards(_spinX, 0f, _spinDamping * Time.deltaTime);
|
||||
_spinY = Mathf.MoveTowards(_spinY, 0f, _spinDamping * Time.deltaTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0e87d2abb8af1da4aa3e1949ee6d680d
|
||||
timeCreated: 1609504095
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 402779202fe06894099308e5b767c9c4
|
||||
folderAsset: yes
|
||||
timeCreated: 1546680669
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
After Width: | Height: | Size: 139 B |
|
@ -0,0 +1,128 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e8fa92438398bb240b71be8b23d90df5
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 11
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
applyGammaDecoding: 1
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 256
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 256
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
- serializedVersion: 3
|
||||
buildTarget: iPhone
|
||||
maxTextureSize: 256
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
- serializedVersion: 3
|
||||
buildTarget: Android
|
||||
maxTextureSize: 256
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,89 @@
|
|||
// UnityEngine.UI was moved to a package in 2019.2.0
|
||||
// Unfortunately no way to test for this across all Unity versions yet
|
||||
// You can set up the asmdef to reference the new package, but the package doesn't
|
||||
// existing in Unity 2017 etc, and it throws an error due to missing reference
|
||||
#define AVPRO_PACKAGE_UNITYUI
|
||||
#if (UNITY_2019_2_OR_NEWER && AVPRO_PACKAGE_UNITYUI) || (!UNITY_2019_2_OR_NEWER)
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace RenderHeads.Media.AVProVideo.Demos.UI
|
||||
{
|
||||
/// Fill a rectangle region with horizontal segments along it
|
||||
[ExecuteInEditMode]
|
||||
public class HorizontalSegmentsPrimitive : Graphic
|
||||
{
|
||||
private float[] _segments = { 0f, 0f };
|
||||
public float[] Segments { get { return _segments; } set { SetSegments(value); } }
|
||||
|
||||
private void SetSegments(float[] segments)
|
||||
{
|
||||
if (segments != null && segments.Length > 1)
|
||||
{
|
||||
_segments = segments;
|
||||
}
|
||||
else
|
||||
{
|
||||
_segments = new float[] { 0f, 0f };
|
||||
}
|
||||
|
||||
// TODO: detect whether a change actually occured before setting to dirty
|
||||
SetVerticesDirty();
|
||||
}
|
||||
|
||||
protected override void OnPopulateMesh(VertexHelper vh)
|
||||
{
|
||||
Vector2 corner1 = Vector2.zero;
|
||||
Vector2 corner2 = Vector2.zero;
|
||||
|
||||
corner1.x = 0f;
|
||||
corner1.y = 0f;
|
||||
corner2.x = 1f;
|
||||
corner2.y = 1f;
|
||||
|
||||
corner1.x -= rectTransform.pivot.x;
|
||||
corner1.y -= rectTransform.pivot.y;
|
||||
corner2.x -= rectTransform.pivot.x;
|
||||
corner2.y -= rectTransform.pivot.y;
|
||||
|
||||
corner1.x *= rectTransform.rect.width;
|
||||
corner1.y *= rectTransform.rect.height;
|
||||
corner2.x *= rectTransform.rect.width;
|
||||
corner2.y *= rectTransform.rect.height;
|
||||
|
||||
vh.Clear();
|
||||
|
||||
int numQuads = _segments.Length / 2;
|
||||
|
||||
UIVertex vert = UIVertex.simpleVert;
|
||||
int vi = 0;
|
||||
for (int i = 0; i < numQuads; i++)
|
||||
{
|
||||
float x1 = _segments[i * 2 + 0] * (corner2.x - corner1.x) + corner1.x;
|
||||
float x2 = _segments[i * 2 + 1] * (corner2.x - corner1.x) + corner1.x;
|
||||
|
||||
vert.position = new Vector2(x1, corner1.y);
|
||||
vert.color = color;
|
||||
vh.AddVert(vert);
|
||||
|
||||
vert.position = new Vector2(x1, corner2.y);
|
||||
vert.color = color;
|
||||
vh.AddVert(vert);
|
||||
|
||||
vert.position = new Vector2(x2, corner2.y);
|
||||
vert.color = color;
|
||||
vh.AddVert(vert);
|
||||
|
||||
vert.position = new Vector2(x2, corner1.y);
|
||||
vert.color = color;
|
||||
vh.AddVert(vert);
|
||||
|
||||
vh.AddTriangle(0 + vi, 1 + vi, 2 + vi);
|
||||
vh.AddTriangle(2 + vi, 3 + vi, 0 + vi);
|
||||
vi += 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a922ae46315cc884c879056759d73251
|
||||
timeCreated: 1546854091
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,90 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: MediaPlayerUI-AudioSpectrum
|
||||
m_Shader: {fileID: 4800000, guid: 8b83f1522b53ad44a9a271e7db8aa527, type: 3}
|
||||
m_ShaderKeywords: DRAW_OUTLINE UI_SPECTRUM
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- UI: 10
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DrawOutline: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _Morph: 1
|
||||
- _Mute: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _OutlineOpacity: 1
|
||||
- _OutlineSize: 0.02
|
||||
- _OutlineSoftness: 0.069
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UVSec: 0
|
||||
- _Volume: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: af11c0475fc59fd46ae3d7101e9cb7ad
|
||||
timeCreated: 1600732643
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: -1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,90 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: MediaPlayerUI-Buffering
|
||||
m_Shader: {fileID: 4800000, guid: 8b83f1522b53ad44a9a271e7db8aa527, type: 3}
|
||||
m_ShaderKeywords: DRAW_OUTLINE UI_BUFFERING
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- UI: 4
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DrawOutline: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _Morph: 0.276
|
||||
- _Mute: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _OutlineOpacity: 0.5
|
||||
- _OutlineSize: 0.0063
|
||||
- _OutlineSoftness: 0
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UVSec: 0
|
||||
- _Volume: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9c36a7d03d5746f4bab781d213a86f49
|
||||
timeCreated: 1546682531
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,90 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: MediaPlayerUI-CC
|
||||
m_Shader: {fileID: 4800000, guid: 8b83f1522b53ad44a9a271e7db8aa527, type: 3}
|
||||
m_ShaderKeywords: DRAW_OUTLINE UI_CC
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- UI: 8
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DrawOutline: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _Morph: 1
|
||||
- _Mute: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _OutlineOpacity: 1
|
||||
- _OutlineSize: 0.02
|
||||
- _OutlineSoftness: 0.069
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UVSec: 0
|
||||
- _Volume: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8e67518da82e8334685a53cd09579095
|
||||
timeCreated: 1546682531
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,88 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: MediaPlayerUI-Circle
|
||||
m_Shader: {fileID: 4800000, guid: 8b83f1522b53ad44a9a271e7db8aa527, type: 3}
|
||||
m_ShaderKeywords: UI_CIRCLE
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- UI: 0
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _Morph: 0
|
||||
- _Mute: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _OutlineOpacity: 0
|
||||
- _OutlineSize: 0
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UVSec: 0
|
||||
- _Volume: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 42d01ca03bef81a4db5efcc72b712aca
|
||||
timeCreated: 1546682531
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,90 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: MediaPlayerUI-Feedback
|
||||
m_Shader: {fileID: 4800000, guid: 8b83f1522b53ad44a9a271e7db8aa527, type: 3}
|
||||
m_ShaderKeywords: DRAW_OUTLINE UI_PAUSE
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- UI: 2
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DrawOutline: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _Morph: 0
|
||||
- _Mute: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _OutlineOpacity: 0.5
|
||||
- _OutlineSize: 0.0063
|
||||
- _OutlineSoftness: 0
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UVSec: 0
|
||||
- _Volume: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1d9b78c72d0d96c4ea3ffb49880bf0c6
|
||||
timeCreated: 1546682531
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,90 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: MediaPlayerUI-NavBack
|
||||
m_Shader: {fileID: 4800000, guid: 8b83f1522b53ad44a9a271e7db8aa527, type: 3}
|
||||
m_ShaderKeywords: DRAW_OUTLINE UI_BACK
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- UI: 7
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DrawOutline: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _Morph: 1
|
||||
- _Mute: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _OutlineOpacity: 1
|
||||
- _OutlineSize: 0.02
|
||||
- _OutlineSoftness: 0.069
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UVSec: 0
|
||||
- _Volume: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3defb26db59b1fa489c3d83b2dda2210
|
||||
timeCreated: 1546682531
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,90 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: MediaPlayerUI-NavForward
|
||||
m_Shader: {fileID: 4800000, guid: 8b83f1522b53ad44a9a271e7db8aa527, type: 3}
|
||||
m_ShaderKeywords: DRAW_OUTLINE UI_FORWARD
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- UI: 6
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DrawOutline: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _Morph: 1
|
||||
- _Mute: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _OutlineOpacity: 1
|
||||
- _OutlineSize: 0.02
|
||||
- _OutlineSoftness: 0.069
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UVSec: 0
|
||||
- _Volume: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fc3335a6cd5229642a818d162865fe8a
|
||||
timeCreated: 1546682531
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,90 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: MediaPlayerUI-Options
|
||||
m_Shader: {fileID: 4800000, guid: 8b83f1522b53ad44a9a271e7db8aa527, type: 3}
|
||||
m_ShaderKeywords: DRAW_OUTLINE UI_OPTIONS
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- UI: 9
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DrawOutline: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _Morph: 0
|
||||
- _Mute: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _OutlineOpacity: 1
|
||||
- _OutlineSize: 0.02
|
||||
- _OutlineSoftness: 0.069
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UVSec: 0
|
||||
- _Volume: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: dced9abe5e3da3e47bbaa9d7febe796e
|
||||
timeCreated: 1546682531
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,90 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: MediaPlayerUI-PlayPause
|
||||
m_Shader: {fileID: 4800000, guid: 8b83f1522b53ad44a9a271e7db8aa527, type: 3}
|
||||
m_ShaderKeywords: DRAW_OUTLINE UI_PLAYPAUSE
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- UI: 3
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DrawOutline: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _Morph: 0
|
||||
- _Mute: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _OutlineOpacity: 1
|
||||
- _OutlineSize: 0.02
|
||||
- _OutlineSoftness: 0.069
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UVSec: 0
|
||||
- _Volume: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 82d37723c9304fa4e9f2cd4daf2351ad
|
||||
timeCreated: 1546682531
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,90 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: MediaPlayerUI-Volume
|
||||
m_Shader: {fileID: 4800000, guid: 8b83f1522b53ad44a9a271e7db8aa527, type: 3}
|
||||
m_ShaderKeywords: DRAW_OUTLINE UI_VOLUME
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- UI: 5
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DrawOutline: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _Morph: 0
|
||||
- _Mute: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _OutlineOpacity: 1
|
||||
- _OutlineSize: 0.02
|
||||
- _OutlineSoftness: 0.069
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UVSec: 0
|
||||
- _Volume: 1
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b246d2a0da7bbb3459e271e203c4abe1
|
||||
timeCreated: 1546682531
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
1161
Viagg-io/Assets/Packages/AVProVideo/Demos/Common/MediaPlayerUI/MediaPlayerUI.cs
Executable file
1161
Viagg-io/Assets/Packages/AVProVideo/Demos/Common/MediaPlayerUI/MediaPlayerUI.cs
Executable file
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 35bb2f3708dd0394cb564ca3557a37fc
|
||||
timeCreated: 1546712398
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,82 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_Name: MediaPlayerUI
|
||||
m_Shader: {fileID: 4800000, guid: 8b83f1522b53ad44a9a271e7db8aa527, type: 3}
|
||||
m_ShaderKeywords:
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Floats:
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4dc8d5e4c33efff42a23dc52502a4a4d
|
||||
timeCreated: 1546682531
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,486 @@
|
|||
// Credit to Inigo Quilez (https://www.iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm) for many of the 2D functions used
|
||||
Shader "Unlit/MediaPlayerUI"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
[PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {}
|
||||
_Color("Tint", Color) = (1,1,1,1)
|
||||
|
||||
_StencilComp("Stencil Comparison", Float) = 8
|
||||
_Stencil("Stencil ID", Float) = 0
|
||||
_StencilOp("Stencil Operation", Float) = 0
|
||||
_StencilWriteMask("Stencil Write Mask", Float) = 255
|
||||
_StencilReadMask("Stencil Read Mask", Float) = 255
|
||||
|
||||
_ColorMask("Color Mask", Float) = 15
|
||||
[KeywordEnum(Circle, Play, Pause, PlayPause, Buffering, Volume, Forward, Back, CC, Options, Spectrum)] UI("UI Element", Float) = 0
|
||||
_Morph("Morph", Range(0, 1)) = 0
|
||||
_Mute("Mute", Range(0, 1)) = 0
|
||||
_Volume("Volume", Range(0, 1)) = 1
|
||||
|
||||
[Toggle(DRAW_OUTLINE)] _DrawOutline("Draw Outline", Float) = 0
|
||||
_OutlineSize("Outline Size", Range(0, 0.1)) = 0.05
|
||||
_OutlineOpacity("Outline Opacity", Range(0, 1)) = 0.25
|
||||
_OutlineSoftness("Outline Softness", Range(0, 1)) = 0
|
||||
}
|
||||
SubShader
|
||||
{
|
||||
Tags
|
||||
{
|
||||
"Queue"="Transparent"
|
||||
"IgnoreProjector"="True"
|
||||
"RenderType"="Transparent"
|
||||
"PreviewType"="Plane"
|
||||
"CanUseSpriteAtlas"="True"
|
||||
}
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref[_Stencil]
|
||||
Comp[_StencilComp]
|
||||
Pass[_StencilOp]
|
||||
ReadMask[_StencilReadMask]
|
||||
WriteMask[_StencilWriteMask]
|
||||
}
|
||||
|
||||
Cull Off
|
||||
Lighting Off
|
||||
ZWrite Off
|
||||
ZTest[unity_GUIZTestMode]
|
||||
Fog{ Mode Off }
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ColorMask[_ColorMask]
|
||||
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#pragma multi_compile UI_CIRCLE UI_PLAY UI_PAUSE UI_PLAYPAUSE UI_BUFFERING UI_VOLUME UI_FORWARD UI_BACK UI_CC UI_OPTIONS UI_SPECTRUM
|
||||
#pragma shader_feature DRAW_OUTLINE
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
struct appdata_t
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float4 color : COLOR;
|
||||
float2 texcoord : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : SV_POSITION;
|
||||
fixed4 color : COLOR;
|
||||
half2 uv : TEXCOORD0;
|
||||
float4 worldPosition : TEXCOORD1;
|
||||
};
|
||||
|
||||
uniform fixed4 _Color;
|
||||
uniform float _Morph;
|
||||
uniform float _Volume;
|
||||
uniform float _Mute;
|
||||
uniform float _OutlineSize;
|
||||
uniform float _OutlineOpacity;
|
||||
uniform float _OutlineSoftness;
|
||||
#if UI_SPECTRUM
|
||||
#if SHADER_API_GLES
|
||||
uniform float _Spectrum[4];
|
||||
#else
|
||||
uniform float _Spectrum[128];
|
||||
#endif
|
||||
uniform float _SpectrumRange;
|
||||
uniform float _SpectrumMax;
|
||||
#endif
|
||||
sampler2D _MainTex;
|
||||
float4 _MainTex_ST;
|
||||
|
||||
v2f vert(appdata_t IN)
|
||||
{
|
||||
v2f OUT;
|
||||
OUT.worldPosition = IN.vertex;
|
||||
OUT.vertex = UnityObjectToClipPos(IN.vertex);
|
||||
#ifdef UNITY_HALF_TEXEL_OFFSET
|
||||
OUT.vertex.xy += (_ScreenParams.zw - 1.0)*float2(-1, 1);
|
||||
#endif
|
||||
OUT.uv.xy = IN.texcoord.xy;
|
||||
OUT.color = IN.color * _Color;
|
||||
|
||||
return OUT;
|
||||
}
|
||||
|
||||
float ndot(float2 a, float2 b) { return a.x*b.x - a.y*b.y; }
|
||||
|
||||
float opU(float d1, float d2) { return min(d1, d2); }
|
||||
|
||||
float opS(float d1, float d2) { return max(-d1, d2); }
|
||||
|
||||
float opI(float d1, float d2) { return max(d1, d2); }
|
||||
|
||||
float sdCircle(in float2 p, float r)
|
||||
{
|
||||
return length(p) - r;
|
||||
}
|
||||
|
||||
float sdRhombus(in float2 p, in float2 b)
|
||||
{
|
||||
float2 q = abs(p);
|
||||
float h = clamp((-2.0*ndot(q, b) + ndot(b, b)) / dot(b, b), -1.0, 1.0);
|
||||
float d = length(q - 0.5*b*float2(1.0 - h, 1.0 + h));
|
||||
return d * sign(q.x*b.y + q.y*b.x - b.x*b.y);
|
||||
}
|
||||
|
||||
float sdEquilateralTriangle(in float2 p)
|
||||
{
|
||||
const float k = sqrt(3.0);
|
||||
|
||||
p.x = abs(p.x) - 1.0;
|
||||
p.y = p.y + 1.0 / k;
|
||||
if (p.x + k*p.y > 0.0) p = float2(p.x - k*p.y, -k*p.x - p.y) / 2.0;
|
||||
p.x -= clamp(p.x, -2.0, 0.0);
|
||||
return -length(p)*sign(p.y);
|
||||
}
|
||||
|
||||
float sdTriangle(in float2 p, in float2 p0, in float2 p1, in float2 p2)
|
||||
{
|
||||
float2 e0 = p1 - p0, e1 = p2 - p1, e2 = p0 - p2;
|
||||
float2 v0 = p - p0, v1 = p - p1, v2 = p - p2;
|
||||
|
||||
float2 pq0 = v0 - e0*clamp(dot(v0, e0) / dot(e0, e0), 0.0, 1.0);
|
||||
float2 pq1 = v1 - e1*clamp(dot(v1, e1) / dot(e1, e1), 0.0, 1.0);
|
||||
float2 pq2 = v2 - e2*clamp(dot(v2, e2) / dot(e2, e2), 0.0, 1.0);
|
||||
|
||||
float s = sign(e0.x*e2.y - e0.y*e2.x);
|
||||
float2 d = min(min(float2(dot(pq0, pq0), s*(v0.x*e0.y - v0.y*e0.x)),
|
||||
float2(dot(pq1, pq1), s*(v1.x*e1.y - v1.y*e1.x))),
|
||||
float2(dot(pq2, pq2), s*(v2.x*e2.y - v2.y*e2.x)));
|
||||
|
||||
return -sqrt(d.x)*sign(d.y);
|
||||
}
|
||||
|
||||
|
||||
float sdTriangleIsosceles(in float2 p, in float2 q)
|
||||
{
|
||||
p.x = abs(p.x);
|
||||
|
||||
float2 a = p - q*clamp(dot(p, q) / dot(q, q), 0.0, 1.0);
|
||||
float2 b = p - q*float2(clamp(p.x / q.x, 0.0, 1.0), 1.0);
|
||||
float s = -sign(q.y);
|
||||
float2 d = min(float2(dot(a, a), s*(p.x*q.y - p.y*q.x)),
|
||||
float2(dot(b, b), s*(p.y - q.y)));
|
||||
|
||||
return -sqrt(d.x)*sign(d.y);
|
||||
}
|
||||
|
||||
float sdBox(in float2 p, in float2 b)
|
||||
{
|
||||
float2 d = abs(p) - b;
|
||||
return length(max(d, float2(0.0, 0.0))) + min(max(d.x, d.y), 0.0);
|
||||
}
|
||||
|
||||
float sdRoundedBox(in float2 p, in float2 b, in float4 r)
|
||||
{
|
||||
r.xy = (p.x>0.0)?r.xy : r.zw;
|
||||
r.x = (p.y>0.0)?r.x : r.y;
|
||||
float2 q = abs(p)-b+r.x;
|
||||
return min(max(q.x,q.y),0.0) + length(max(q,0.0)) - r.x;
|
||||
}
|
||||
|
||||
float sdArc(in float2 p, in float2 sca, in float2 scb, in float ra, float rb)
|
||||
{
|
||||
p = mul(float2x2(sca.x,sca.y,-sca.y,sca.x), p);
|
||||
p.x = abs(p.x);
|
||||
float k = (scb.y*p.x>scb.x*p.y) ? dot(p.xy,scb) : length(p.xy);
|
||||
return sqrt( dot(p,p) + ra*ra - 2.0*ra*k ) - rb;
|
||||
}
|
||||
|
||||
float2 rotate2d(float2 v, float a)
|
||||
{
|
||||
float s = sin(a);
|
||||
float c = cos(a);
|
||||
float2x2 m = float2x2(c, -s, s, c);
|
||||
return mul(m,v);
|
||||
}
|
||||
|
||||
#if UI_FORWARD || UI_BACK
|
||||
float forward(float2 uv)
|
||||
{
|
||||
float r1 = 100000.0;
|
||||
r1 = sdTriangleIsosceles(float2(uv.y, -uv.x) + float2(0.0, 0.333), float2(0.666, 0.666));
|
||||
r1 = opS(r1, sdTriangleIsosceles(float2(uv.y, -uv.x) + float2(0.0, 0.333 * 1.5), float2(0.666, 0.666)));
|
||||
|
||||
uv.x += 0.2;
|
||||
|
||||
float r2 = 100000.0;
|
||||
r2 = sdTriangleIsosceles(float2(uv.y, -uv.x) + float2(0.0, 0.333), float2(0.666, 0.666));
|
||||
//r2 = opS(r2, sdTriangleIsosceles(float2(uv.y, -uv.x) + float2(0.0, 0.333 * 1.5), float2(0.666, 0.666)));
|
||||
|
||||
float r = opU(r1, r2);
|
||||
|
||||
return r;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if UI_VOLUME
|
||||
float volume(float2 uv)
|
||||
{
|
||||
float r = 100000.0;
|
||||
|
||||
uv.x += 0.25;
|
||||
|
||||
// Cone
|
||||
r = opU(r, sdBox(uv + float2(0.1, 0.0), float2(0.25, 0.25)));
|
||||
r = opU(r, sdTriangleIsosceles(float2(uv.y, uv.x) + float2(0.0, 0.3), float2(0.6, 0.6)));
|
||||
|
||||
// Ripple occluder
|
||||
float s = sdBox(uv + float2(0, 0.0), float2(0.4, 0.7));
|
||||
|
||||
// Ripple thickness
|
||||
float rt = 0.15;
|
||||
|
||||
// Ripple 1
|
||||
float offset = -0.25;
|
||||
if (_Volume > 0.0)
|
||||
{
|
||||
float t = saturate(_Volume / 0.5);
|
||||
r = opU(r, opS(s, sdCircle(uv + float2(offset, 0.0), rt*lerp(1, 2, t))));
|
||||
}
|
||||
|
||||
// Ripple 2
|
||||
float a;
|
||||
//a = sdCircle(uv + float2(offset, 0.0), 0.6 - rt * 3);
|
||||
//a = opS(a, opS(s, sdCircle(uv + float2(offset, 0.0), 0.6 - rt * 2)));
|
||||
//r = opU(a, r);
|
||||
|
||||
// Ripple 3
|
||||
if (_Volume > 0.5)
|
||||
{
|
||||
float t = saturate((_Volume - 0.5) / 0.5);
|
||||
a = sdCircle(uv + float2(offset, 0.0), (0.6 - rt));
|
||||
a = opS(a, opS(s, sdCircle(uv + float2(offset, 0.0), lerp(0.6-rt, 0.6, t))));
|
||||
r = opU(a, r);
|
||||
}
|
||||
|
||||
// Crossout
|
||||
if (_Mute > 0.0)
|
||||
{
|
||||
float maxLength = 0.8;
|
||||
float length = _Mute * maxLength;
|
||||
{
|
||||
// Cutout
|
||||
r = opS(-r, -sdBox(rotate2d(uv - float2(0.25, 0), -3.14/4) + float2(-0.1, length/1 - maxLength/1), float2(0.1, length*1)));
|
||||
|
||||
// Line
|
||||
r = opU(r, sdBox(rotate2d(uv - float2(0.25, 0), -3.14/4) + float2(0.0, length/1 - maxLength/1), float2(0.1, length*1)));
|
||||
}
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if UI_CC
|
||||
float ccbutton(float2 uv)
|
||||
{
|
||||
float r = 100000.0;
|
||||
|
||||
float barHeight = 0.1;
|
||||
|
||||
float boxSize = 0.65;
|
||||
float r3 = sdRoundedBox(uv, float2(boxSize, boxSize * 0.9), float4(0.25, 0.25, 0.25, 0.25));
|
||||
|
||||
float angle1 = 0.0;
|
||||
float angle2 = 2.3;
|
||||
float thickeness = 0.08;
|
||||
float size = 0.25;
|
||||
float rLeftC = sdArc(float2(0.35 + uv.x*1.5, uv.y), float2(sin(angle1), cos(angle1)), float2(sin(angle2), cos(angle2)), size, thickeness);
|
||||
float rRightC = sdArc(float2(-0.40 + uv.x*1.5, uv.y), float2(sin(angle1), cos(angle1)), float2(sin(angle2), cos(angle2)), size, thickeness);
|
||||
|
||||
r = opU(rLeftC, rRightC);
|
||||
r = opS(r, r3);
|
||||
|
||||
if (_Morph > 0.0)
|
||||
{
|
||||
float barWidth = lerp(0.0, boxSize, _Morph);
|
||||
float r4 = sdBox(uv + float2(0.0, boxSize + barHeight * 2.0), float2(barWidth, barHeight));
|
||||
r = opU(r, r4);
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if UI_OPTIONS
|
||||
float optionsgear(float2 uv, float radius, float discRatio, float holeRatio, float spokeRatio)
|
||||
{
|
||||
float r = 100000.0;
|
||||
|
||||
float r1 = sdCircle(uv, radius * holeRatio);
|
||||
float r2 = sdCircle(uv, radius * discRatio);
|
||||
|
||||
float rotationOffset = lerp(0.0, 3.141592654/6.0, _Morph);
|
||||
|
||||
float b1 = sdBox(rotate2d(uv, (3.141592654 / 2.0) + rotationOffset), float2(radius, radius * spokeRatio));
|
||||
float b2 = sdBox(rotate2d(uv, (3.141592654 / 6.0) + rotationOffset), float2(radius, radius * spokeRatio));
|
||||
float b3 = sdBox(rotate2d(uv,-(3.141592654 / 6.0) + rotationOffset), float2(radius, radius * spokeRatio));
|
||||
|
||||
r = r2; // Base circle
|
||||
r = opU(r, b1); // Spoke 1
|
||||
r = opU(r, b2); // Spoke 2
|
||||
r = opU(r, b3); // Spoke 3
|
||||
r = opS(r1, r); // Hole
|
||||
|
||||
return r;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if UI_BUFFERING
|
||||
float CircularDistance(float a, float b, float range)
|
||||
{
|
||||
float d1 = abs(a-b);
|
||||
//float d2 = range - d1;
|
||||
//return lerp((a-b), d2, d1 / (range/2));
|
||||
if (d1 > range/2)
|
||||
{
|
||||
d1 = (range - d1);
|
||||
}
|
||||
else
|
||||
{
|
||||
d1 = a-b;
|
||||
}
|
||||
return d1;
|
||||
}
|
||||
#endif
|
||||
|
||||
fixed4 getColorWithOutline(float d, float3 shapeColor, float3 outlineColor)
|
||||
{
|
||||
float dw = fwidth(d) * 0.5;
|
||||
float shapeAlpha = smoothstep(dw, -dw, d);
|
||||
|
||||
#if !DRAW_OUTLINE
|
||||
return float4(shapeColor, shapeAlpha);
|
||||
#else
|
||||
|
||||
float od = (d - _OutlineSize);
|
||||
float dw2 = fwidth(od) * 0.5;
|
||||
float outlineAlpha = smoothstep(dw2 + _OutlineSoftness, -dw2 - _OutlineSoftness, od);
|
||||
|
||||
return lerp(float4(outlineColor, outlineAlpha * _OutlineOpacity), float4(shapeColor, shapeAlpha), shapeAlpha);
|
||||
#endif
|
||||
}
|
||||
|
||||
fixed4 frag(v2f i) : SV_Target
|
||||
{
|
||||
#if UI_SPECTRUM
|
||||
// In GLES2.0 indexing from the _Spectrum[] array is not supported
|
||||
#if SHADER_API_GLES
|
||||
float v = 0.0;
|
||||
float d = 0.0;
|
||||
#else
|
||||
float x = (pow(i.uv.x, 1.0) * _SpectrumRange)-1.0;
|
||||
//_Spectrum[0] = 0.0;
|
||||
// Bilinear sample the values
|
||||
float scale = (1.0+i.uv.x * 8.0); // Scale higher freqs to give them more movement
|
||||
float v1 = 0.0;
|
||||
float v2 = 0.0;
|
||||
int t1 = floor(x);
|
||||
int t2 = ceil(x);
|
||||
if (t1 >= 0)
|
||||
{
|
||||
v1 = (_Spectrum[t1] * scale);
|
||||
}
|
||||
if (t2 >= 0)
|
||||
{
|
||||
v2 = (_Spectrum[t2] * scale);
|
||||
}
|
||||
v1 = max(v1, 0.01);
|
||||
v2 = max(v2, 0.01);
|
||||
float2 uvn = float2(0.0, i.uv.y);
|
||||
// Get vertical distance
|
||||
float d1 = (abs(i.uv.y - 0.5) - (v1/1.0));
|
||||
float d2 = (abs(i.uv.y - 0.5) - (v2/1.0));
|
||||
// Interpolate
|
||||
float xf = frac(x);
|
||||
float v = saturate(lerp(v1, v2, xf));
|
||||
float d = lerp(d1, d2, xf);
|
||||
#endif
|
||||
// Get colour from texture
|
||||
float yy2 = abs(i.uv.y - 0.5) * 2.0;
|
||||
float yy = v;
|
||||
float level = i.uv.y;// + pow(yy2+v, 8);
|
||||
float3 col = level;//tex2D(_MainTex, float2(level, 0.0f));
|
||||
//col.g += abs(i.uv.x);
|
||||
return getColorWithOutline(d, col, float3(0.0, 0.0, 0.0)) * i.color;
|
||||
#else
|
||||
#if UI_CIRCLE
|
||||
float2 uvn = (i.uv.xy - 0.5) / 0.5;
|
||||
float d = sdCircle(uvn, 1.0);
|
||||
#elif UI_PLAY
|
||||
float2 uvn = (i.uv.xy - float2(0.5, 0.5)) / 0.5;
|
||||
float d = sdTriangle(uvn, float2(-0.6, 0.6), float2(0.6, 0), float2(-0.6, -0.6));
|
||||
|
||||
#elif UI_PAUSE
|
||||
float d1 = sdBox(i.uv - 0.5 + float2(0.2, 0.0), float2(0.1, 0.3));
|
||||
float d2 = sdBox(i.uv - 0.5 - float2(0.2, 0.0), float2(0.1, 0.3));
|
||||
float d = min(d1, d2);
|
||||
//c = 1.0 - saturate(smoothstep(dw-0.022, -dw, d))*0.2;
|
||||
#elif UI_PLAYPAUSE
|
||||
float2 uvn = (i.uv.xy - float2(0.5, 0.5)) / 0.5;
|
||||
float d3 = sdTriangle(uvn, float2(-0.6, 0.6), float2(0.6, 0), float2(-0.6, -0.6));
|
||||
|
||||
float d1 = sdBox(i.uv - 0.5 + float2(0.2, 0.0), float2(0.1, 0.3));
|
||||
float d2 = sdBox(i.uv - 0.5 - float2(0.2, 0.0), float2(0.1, 0.3));
|
||||
float d = min(d1, d2);
|
||||
|
||||
float dw1 = fwidth(d) * 0.5;
|
||||
float dw3 = fwidth(d3) * 0.5;
|
||||
float dw = lerp(dw1, dw3, _Morph);
|
||||
//a = smoothstep(dw, -dw, lerp(d, d3, _Morph));
|
||||
d = lerp(d, d3, _Morph);
|
||||
//c = 1.0 - saturate(smoothstep(-0.025, 0, lerp(d, d3, _Morph)))*0.2;
|
||||
#elif UI_BUFFERING
|
||||
float rsize = 0.05;
|
||||
float r = 0.5;
|
||||
float2 uvn = (i.uv.xy - 0.5) / 0.5;
|
||||
|
||||
// Inner radius
|
||||
float d = sdCircle(uvn, r - rsize);
|
||||
|
||||
// Outer radius
|
||||
d = opS(d, sdCircle(uvn, r + rsize));
|
||||
|
||||
// Animation angle
|
||||
float za = -(_Time.x * 160) + cos(_Time.y*2.0);
|
||||
float zz = sin(_Time.y);
|
||||
|
||||
// Create point at the animated angle, at the same radius as this UV
|
||||
float2 dp = float2(sin(za), cos(za)) * length(uvn);
|
||||
|
||||
// Calculate angle between the UV and the new point and subtract offset
|
||||
float dy = abs(atan((dp.x - uvn.x)/(dp.y - uvn.y))) - abs(zz);
|
||||
d = opI(d, dy);
|
||||
|
||||
#elif UI_VOLUME
|
||||
float2 uvn = (i.uv.xy - 0.5) / 0.5;
|
||||
float d = volume(uvn);
|
||||
#elif UI_FORWARD
|
||||
float2 uvn = (i.uv.xy - 0.5) / 0.5;
|
||||
float d = forward(uvn);
|
||||
#elif UI_BACK
|
||||
float2 uvn = (i.uv.xy - 0.5) / 0.5;
|
||||
float d = forward(float2(-uvn.x, uvn.y));
|
||||
#elif UI_CC
|
||||
float2 uvn = (i.uv.xy - 0.5) / 0.5;
|
||||
float d = ccbutton(uvn);
|
||||
#elif UI_OPTIONS
|
||||
float2 uvn = (i.uv.xy - 0.5) / 0.5;
|
||||
float d = optionsgear(uvn, 0.75, 0.75, 0.35, 0.25);
|
||||
#endif
|
||||
|
||||
return getColorWithOutline(d, float3(1.0, 1.0, 1.0), float3(0.0, 0.0, 0.0)) * i.color;
|
||||
#endif
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8b83f1522b53ad44a9a271e7db8aa527
|
||||
timeCreated: 1546682502
|
||||
licenseType: Pro
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
154
Viagg-io/Assets/Packages/AVProVideo/Demos/Common/MediaPlayerUI/OverlayManager.cs
Executable file
154
Viagg-io/Assets/Packages/AVProVideo/Demos/Common/MediaPlayerUI/OverlayManager.cs
Executable file
|
@ -0,0 +1,154 @@
|
|||
// UnityEngine.UI was moved to a package in 2019.2.0
|
||||
// Unfortunately no way to test for this across all Unity versions yet
|
||||
// You can set up the asmdef to reference the new package, but the package doesn't
|
||||
// existing in Unity 2017 etc, and it throws an error due to missing reference
|
||||
#define AVPRO_PACKAGE_UNITYUI
|
||||
#if (UNITY_2019_2_OR_NEWER && AVPRO_PACKAGE_UNITYUI) || (!UNITY_2019_2_OR_NEWER)
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright 2018-2021 RenderHeads Ltd. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace RenderHeads.Media.AVProVideo.Demos.UI
|
||||
{
|
||||
public class OverlayManager : MonoBehaviour
|
||||
{
|
||||
public enum Feedback
|
||||
{
|
||||
Play,
|
||||
Pause,
|
||||
SeekForward,
|
||||
SeekBack,
|
||||
VolumeUp,
|
||||
VolumeDown,
|
||||
VolumeMute,
|
||||
}
|
||||
|
||||
[SerializeField] Image _stalledImage = null;
|
||||
[SerializeField] Image _feedbackImage = null;
|
||||
[SerializeField] CanvasGroup _feedbackCanvas = null;
|
||||
[SerializeField] float _startScale = 0.25f;
|
||||
[SerializeField] float _endScale = 1.0f;
|
||||
[SerializeField] float _animationSpeed = 1.5f;
|
||||
|
||||
private Material _feedbackMaterial;
|
||||
private float _feedbackTimer;
|
||||
|
||||
private readonly LazyShaderProperty _propMute = new LazyShaderProperty("_Mute");
|
||||
private readonly LazyShaderProperty _propVolume = new LazyShaderProperty("_Volume");
|
||||
|
||||
void Start()
|
||||
{
|
||||
_feedbackMaterial = new Material(_feedbackImage.material);
|
||||
_feedbackImage.material = _feedbackMaterial;
|
||||
_feedbackCanvas.alpha = 0f;
|
||||
_feedbackTimer = 1f;
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
if (_feedbackMaterial)
|
||||
{
|
||||
Material.Destroy(_feedbackMaterial);
|
||||
_feedbackMaterial = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
_stalledImage.enabled = false;
|
||||
}
|
||||
|
||||
public void TriggerStalled()
|
||||
{
|
||||
_stalledImage.enabled = true;
|
||||
}
|
||||
|
||||
private const string KeywordPlay = "UI_PLAY";
|
||||
private const string KeywordPause = "UI_PAUSE";
|
||||
private const string KeywordSeekBack = "UI_BACK";
|
||||
private const string KeywordSeekForward = "UI_FORWARD";
|
||||
private const string KeywordVolume = "UI_VOLUME";
|
||||
private const string KeywordVolumeUp = "UI_VOLUMEUP";
|
||||
private const string KeywordVolumeDown = "UI_VOLUMEDOWN";
|
||||
private const string KeywordVolumeMute = "UI_VOLUMEMUTE";
|
||||
|
||||
public void TriggerFeedback(Feedback feedback)
|
||||
{
|
||||
_feedbackMaterial.DisableKeyword(KeywordPlay);
|
||||
_feedbackMaterial.DisableKeyword(KeywordPause);
|
||||
_feedbackMaterial.DisableKeyword(KeywordSeekBack);
|
||||
_feedbackMaterial.DisableKeyword(KeywordSeekForward);
|
||||
_feedbackMaterial.DisableKeyword(KeywordVolume);
|
||||
_feedbackMaterial.DisableKeyword(KeywordVolumeUp);
|
||||
_feedbackMaterial.DisableKeyword(KeywordVolumeDown);
|
||||
_feedbackMaterial.DisableKeyword(KeywordVolumeMute);
|
||||
|
||||
string keyword = null;
|
||||
switch (feedback)
|
||||
{
|
||||
case Feedback.Play:
|
||||
keyword = KeywordPlay;
|
||||
break;
|
||||
case Feedback.Pause:
|
||||
keyword = KeywordPause;
|
||||
break;
|
||||
case Feedback.SeekBack:
|
||||
keyword = KeywordSeekBack;
|
||||
break;
|
||||
case Feedback.SeekForward:
|
||||
keyword = KeywordSeekForward;
|
||||
break;
|
||||
case Feedback.VolumeUp:
|
||||
keyword = KeywordVolume;
|
||||
_feedbackMaterial.SetFloat(_propMute.Id, 0f);
|
||||
_feedbackMaterial.SetFloat(_propVolume.Id, 1f);
|
||||
break;
|
||||
case Feedback.VolumeDown:
|
||||
keyword = KeywordVolume;
|
||||
_feedbackMaterial.SetFloat(_propMute.Id, 0f);
|
||||
_feedbackMaterial.SetFloat(_propVolume.Id, 0.5f);
|
||||
break;
|
||||
case Feedback.VolumeMute:
|
||||
keyword = KeywordVolume;
|
||||
_feedbackMaterial.SetFloat(_propVolume.Id, 1f);
|
||||
_feedbackMaterial.SetFloat(_propMute.Id, 1f);
|
||||
break;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(keyword))
|
||||
{
|
||||
_feedbackMaterial.EnableKeyword(keyword);
|
||||
}
|
||||
|
||||
_feedbackCanvas.alpha = 1f;
|
||||
_feedbackCanvas.transform.localScale = new Vector3(_startScale, _startScale, _startScale);
|
||||
_feedbackTimer = 0f;
|
||||
Update();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
// Update scaling and fading
|
||||
float t2 = Mathf.Clamp01(_feedbackTimer);
|
||||
float t = Mathf.Clamp01((_feedbackTimer - 0.5f) * 2f);
|
||||
_feedbackCanvas.alpha = Mathf.Lerp(1f, 0f, PowerEaseOut(t, 1f));
|
||||
if (_feedbackCanvas.alpha > 0f)
|
||||
{
|
||||
float scale = Mathf.Lerp(_startScale, _endScale, PowerEaseOut(t2, 2f));
|
||||
_feedbackCanvas.transform.localScale = new Vector3(scale, scale, scale);
|
||||
}
|
||||
|
||||
_feedbackTimer += Time.deltaTime * _animationSpeed;
|
||||
}
|
||||
|
||||
private static float PowerEaseOut(float t, float power)
|
||||
{
|
||||
return 1f - Mathf.Abs(Mathf.Pow(t - 1f, power));
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 382afb28aa5a7f1428ffeab5b7d15625
|
||||
timeCreated: 1546863408
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7ea26c1ee23534e45906e4c8dd184883
|
||||
timeCreated: 1609503535
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: -1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f22cc91327cfd87439f83cc1e660af12
|
||||
folderAsset: yes
|
||||
timeCreated: 1592852568
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6270438318e8c9f4da5ff28f426d52ed
|
||||
timeCreated: 1592334546
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 52f85a47e710c5245b016f28687c156b
|
||||
timeCreated: 1592334546
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: dd228857f0bc21b4682b515c2b698543
|
||||
timeCreated: 1592334546
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c9340fc8d5cba57498f7960bc0f094ab
|
||||
timeCreated: 1592334546
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0d696b76d81c0e640a7dbcc2d148b9ec
|
||||
timeCreated: 1592334546
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4844808027b36464d9a0540bf1de6663
|
||||
timeCreated: 1604318423
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: -1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9c4b497c86e965b4e8a37e8aa70b2fe0
|
||||
timeCreated: 1592334546
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7b8a48f17a76b0d449f396690db75ebf
|
||||
timeCreated: 1604318423
|
||||
licenseType: Pro
|
||||
NativeFormatImporter:
|
||||
mainObjectFileID: -1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 071b80f70fe42d44ab5631af0998b01e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
userData:
|
|
@ -0,0 +1,529 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 8
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0.12731749, g: 0.13414757, b: 0.1210787, a: 1}
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_GIWorkflowMode: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_TemporalCoherenceThreshold: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 8
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_TextureWidth: 1024
|
||||
m_TextureHeight: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 3
|
||||
m_BakeBackend: 0
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
m_PVRBounces: 2
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_ShadowMaskMode: 2
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &939090645
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 939090647}
|
||||
- component: {fileID: 939090650}
|
||||
- component: {fileID: 939090649}
|
||||
- component: {fileID: 939090646}
|
||||
m_Layer: 0
|
||||
m_Name: Sphere-ApplyToMesh
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &939090646
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 939090645}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f6d1977a52888584496b1acc7e998011, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_media: {fileID: 1516615348}
|
||||
_automaticStereoPacking: 1
|
||||
_overrideStereoPacking: 0
|
||||
_stereoRedGreenTint: 0
|
||||
_defaultTexture: {fileID: 0}
|
||||
_renderer: {fileID: 939090649}
|
||||
_materialIndex: -1
|
||||
_texturePropertyName: _MainTex
|
||||
_offset: {x: 0, y: 0}
|
||||
_scale: {x: 1, y: 1}
|
||||
--- !u!4 &939090647
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 939090645}
|
||||
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 100, y: 100, z: 100}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
|
||||
--- !u!23 &939090649
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 939090645}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: db39bb6249db0924bb87d6e0bb294ed3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &939090650
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 939090645}
|
||||
m_Mesh: {fileID: 4300000, guid: 7ea26c1ee23534e45906e4c8dd184883, type: 2}
|
||||
--- !u!1 &1516615347
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 1516615349}
|
||||
- component: {fileID: 1516615348}
|
||||
m_Layer: 0
|
||||
m_Name: MediaPlayer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1516615348
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1516615347}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 638c870cac4da414fba921606d504407, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_mediaSource: 0
|
||||
_mediaReference: {fileID: 11400000, guid: 0d696b76d81c0e640a7dbcc2d148b9ec, type: 2}
|
||||
_mediaPath:
|
||||
_pathType: 2
|
||||
_path: AVProVideoSamples/BigBuckBunny-360p30-H264.mp4
|
||||
_fallbackMediaHints:
|
||||
transparency: 0
|
||||
alphaPacking: 0
|
||||
stereoPacking: 0
|
||||
_autoOpen: 1
|
||||
_autoPlayOnStart: 1
|
||||
_loop: 1
|
||||
_audioVolume: 1
|
||||
_audioBalance: 0
|
||||
_audioMuted: 0
|
||||
_playbackRate: 1
|
||||
_useResampler: 0
|
||||
_resampleMode: 0
|
||||
_resampleBufferSize: 5
|
||||
_videoMapping: 0
|
||||
_textureFilterMode: 1
|
||||
_textureWrapMode: 1
|
||||
_textureAnisoLevel: 0
|
||||
_useVideoResolve: 0
|
||||
_videoResolveOptions:
|
||||
applyHSBC: 0
|
||||
hue: 0
|
||||
saturation: 0.5
|
||||
brightness: 0.5
|
||||
contrast: 0.5
|
||||
gamma: 1
|
||||
tint: {r: 1, g: 1, b: 1, a: 1}
|
||||
generateMipmaps: 0
|
||||
_sideloadSubtitles: 0
|
||||
_subtitlePath:
|
||||
_pathType: 2
|
||||
_path: AVProVideoSamples/Cones-2D-4K60-HEVC.mp4
|
||||
_audioHeadTransform: {fileID: 0}
|
||||
_audioFocusEnabled: 0
|
||||
_audioFocusTransform: {fileID: 0}
|
||||
_audioFocusWidthDegrees: 90
|
||||
_audioFocusOffLevelDB: 0
|
||||
_httpHeaders:
|
||||
httpHeaders: []
|
||||
_keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
_events:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: RenderHeads.Media.AVProVideo.MediaPlayerEvent, Assembly-CSharp, Version=0.0.0.0,
|
||||
Culture=neutral, PublicKeyToken=null
|
||||
_eventMask: -1
|
||||
_pauseMediaOnAppPause: 1
|
||||
_playMediaOnAppUnpause: 1
|
||||
_persistent: 0
|
||||
_forceFileFormat: 0
|
||||
_optionsWindows:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
videoApi: 0
|
||||
useHardwareDecoding: 1
|
||||
useTextureMips: 0
|
||||
use10BitTextures: 0
|
||||
hintAlphaChannel: 0
|
||||
useLowLatency: 0
|
||||
useCustomMovParser: 0
|
||||
useHapNotchLC: 0
|
||||
useStereoDetection: 1
|
||||
useTextTrackSupport: 1
|
||||
useFacebookAudio360Support: 1
|
||||
useAudioDelay: 0
|
||||
bufferedFrameSelection: 0
|
||||
pauseOnPrerollComplete: 0
|
||||
forceAudioOutputDeviceName:
|
||||
preferredFilters: []
|
||||
audioOutput: 0
|
||||
audio360ChannelMode: 0
|
||||
startWithHighestBitrate: 0
|
||||
useLowLiveLatency: 0
|
||||
parallelFrameCount: 3
|
||||
prerollFrameCount: 4
|
||||
useUnityAudio: 0
|
||||
enableAudio360: 0
|
||||
_optionsMacOSX:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
textureFormat: 0
|
||||
audioMode: 0
|
||||
_flags: 0
|
||||
maximumPlaybackRate: 2
|
||||
_preferredPeakBitRate: 0
|
||||
_preferredPeakBitRateUnits: 1
|
||||
_preferredForwardBufferDuration: 0
|
||||
_preferredMaximumResolution: 0
|
||||
_optionsIOS:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
textureFormat: 0
|
||||
audioMode: 0
|
||||
_flags: 0
|
||||
maximumPlaybackRate: 2
|
||||
_preferredPeakBitRate: 0
|
||||
_preferredPeakBitRateUnits: 1
|
||||
_preferredForwardBufferDuration: 0
|
||||
_preferredMaximumResolution: 0
|
||||
_optionsTVOS:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
textureFormat: 0
|
||||
audioMode: 0
|
||||
_flags: 0
|
||||
maximumPlaybackRate: 2
|
||||
_preferredPeakBitRate: 0
|
||||
_preferredPeakBitRateUnits: 1
|
||||
_preferredForwardBufferDuration: 0
|
||||
_preferredMaximumResolution: 0
|
||||
_optionsAndroid:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
_preferredMaximumResolution: 0
|
||||
_preferredPeakBitRate: 0
|
||||
_preferredPeakBitRateUnits: 1
|
||||
videoApi: 2
|
||||
useFastOesPath: 0
|
||||
showPosterFrame: 0
|
||||
audioOutput: 0
|
||||
audio360ChannelMode: 0
|
||||
preferSoftwareDecoder: 0
|
||||
fileOffset: 0
|
||||
startWithHighestBitrate: 0
|
||||
minBufferMs: 50000
|
||||
maxBufferMs: 50000
|
||||
bufferForPlaybackMs: 2500
|
||||
bufferForPlaybackAfterRebufferMs: 5000
|
||||
enableAudio360: 0
|
||||
_optionsWindowsUWP:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
useHardwareDecoding: 1
|
||||
useTextureMips: 0
|
||||
use10BitTextures: 0
|
||||
hintOutput10Bit: 0
|
||||
useLowLatency: 0
|
||||
videoApi: 1
|
||||
audioOutput: 0
|
||||
audio360ChannelMode: 0
|
||||
startWithHighestBitrate: 0
|
||||
useLowLiveLatency: 0
|
||||
_optionsWebGL:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
externalLibrary: 0
|
||||
useTextureMips: 0
|
||||
m_VideoPath:
|
||||
m_VideoLocation: 2
|
||||
--- !u!4 &1516615349
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1516615347}
|
||||
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_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1981163064
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 1981163068}
|
||||
- component: {fileID: 1981163067}
|
||||
- component: {fileID: 1981163066}
|
||||
- component: {fileID: 1981163065}
|
||||
- component: {fileID: 1981163069}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1981163065
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1981163064}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0e87d2abb8af1da4aa3e1949ee6d680d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_lockPitch: 0
|
||||
_maxSpinSpeed: 40
|
||||
_spinDamping: 5
|
||||
--- !u!81 &1981163066
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1981163064}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &1981163067
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1981163064}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: -1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 0
|
||||
m_AllowMSAA: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 0
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
m_StereoMirrorMode: 0
|
||||
--- !u!4 &1981163068
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1981163064}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -2.31}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1981163069
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1981163064}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8b2366b5575fcba46a0f97038fb6c5fb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_camera: {fileID: 1981163067}
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ca8fdd4aa85509743878be7fbacf5a4f
|
||||
timeCreated: 1601367920
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,877 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 8
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_GIWorkflowMode: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_TemporalCoherenceThreshold: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 8
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_TextureWidth: 1024
|
||||
m_TextureHeight: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 256
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 3
|
||||
m_BakeBackend: 0
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
m_PVRBounces: 2
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_ShadowMaskMode: 2
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &57396433
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 57396436}
|
||||
- component: {fileID: 57396435}
|
||||
- component: {fileID: 57396434}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas-DisplayUGUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &57396434
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 57396433}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_UiScaleMode: 1
|
||||
m_ReferencePixelsPerUnit: 100
|
||||
m_ScaleFactor: 1
|
||||
m_ReferenceResolution: {x: 1920, y: 1080}
|
||||
m_ScreenMatchMode: 0
|
||||
m_MatchWidthOrHeight: 0.5
|
||||
m_PhysicalUnit: 3
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
--- !u!223 &57396435
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 57396433}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 1
|
||||
m_Camera: {fileID: 1981163067}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 1
|
||||
m_ReceivesEvents: 1
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_AdditionalShaderChannelsFlag: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 0
|
||||
m_TargetDisplay: 0
|
||||
--- !u!224 &57396436
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 57396433}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_Children:
|
||||
- {fileID: 918178075}
|
||||
- {fileID: 1661678278}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!1 &109567980
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 109567982}
|
||||
- component: {fileID: 109567981}
|
||||
m_Layer: 0
|
||||
m_Name: Directional light
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!108 &109567981
|
||||
Light:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 109567980}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 8
|
||||
m_Type: 1
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Intensity: 0.8
|
||||
m_Range: 10
|
||||
m_SpotAngle: 30
|
||||
m_CookieSize: 10
|
||||
m_Shadows:
|
||||
m_Type: 0
|
||||
m_Resolution: -1
|
||||
m_CustomResolution: -1
|
||||
m_Strength: 1
|
||||
m_Bias: 0.05
|
||||
m_NormalBias: 0.4
|
||||
m_NearPlane: 0.2
|
||||
m_Cookie: {fileID: 0}
|
||||
m_DrawHalo: 0
|
||||
m_Flare: {fileID: 0}
|
||||
m_RenderMode: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_Lightmapping: 4
|
||||
m_AreaSize: {x: 1, y: 1}
|
||||
m_BounceIntensity: 1
|
||||
m_ColorTemperature: 6570
|
||||
m_UseColorTemperature: 0
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!4 &109567982
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 109567980}
|
||||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 100}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
|
||||
--- !u!1 &217648247
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 217648251}
|
||||
- component: {fileID: 217648250}
|
||||
- component: {fileID: 217648249}
|
||||
- component: {fileID: 217648248}
|
||||
m_Layer: 0
|
||||
m_Name: Cube-ApplyToMesh
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &217648248
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 217648247}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f6d1977a52888584496b1acc7e998011, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_media: {fileID: 1516615348}
|
||||
_automaticStereoPacking: 1
|
||||
_overrideStereoPacking: 0
|
||||
_stereoRedGreenTint: 0
|
||||
_defaultTexture: {fileID: 0}
|
||||
_renderer: {fileID: 217648249}
|
||||
_materialIndex: -1
|
||||
_texturePropertyName: _MainTex
|
||||
_offset: {x: 0, y: 0}
|
||||
_scale: {x: 1, y: 1}
|
||||
--- !u!23 &217648249
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 217648247}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_MotionVectors: 2
|
||||
m_LightProbeUsage: 0
|
||||
m_ReflectionProbeUsage: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 3c2c8026b487d4d4a84e01da83637ceb, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_PreserveUVs: 1
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &217648250
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 217648247}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &217648251
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 217648247}
|
||||
m_LocalRotation: {x: 0.25000006, y: 0.25000006, z: -0.06698733, w: 0.9330127}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 30, y: 30, z: 0}
|
||||
--- !u!1 &918178074
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 918178075}
|
||||
- component: {fileID: 918178077}
|
||||
- component: {fileID: 918178076}
|
||||
m_Layer: 5
|
||||
m_Name: VideoDisplay
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &918178075
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 918178074}
|
||||
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_Children: []
|
||||
m_Father: {fileID: 57396436}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 786, y: 733}
|
||||
m_Pivot: {x: 1, y: 0}
|
||||
--- !u!114 &918178076
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 918178074}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0f17cdc186456a4469a139a104d2ca72, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
|
||||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
_mediaPlayer: {fileID: 1516615348}
|
||||
_defaultTexture: {fileID: 0}
|
||||
_uvRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
_setNativeSize: 0
|
||||
_scaleMode: 2
|
||||
_noDefaultDisplay: 1
|
||||
_displayInEditor: 1
|
||||
--- !u!222 &918178077
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 918178074}
|
||||
--- !u!1 &939090645
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 939090647}
|
||||
- component: {fileID: 939090646}
|
||||
m_Layer: 0
|
||||
m_Name: Skybox-ApplytoMaterial
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &939090646
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 939090645}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d2feedce2e2e63647b8f875ec0894a15, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_media: {fileID: 1516615348}
|
||||
_automaticStereoPacking: 1
|
||||
_overrideStereoPacking: 0
|
||||
_stereoRedGreenTint: 0
|
||||
_defaultTexture: {fileID: 0}
|
||||
_material: {fileID: 2100000, guid: 276368b4e7f7f044e8288312f105954e, type: 2}
|
||||
_texturePropertyName: _MainTex
|
||||
_offset: {x: 0, y: 0}
|
||||
_scale: {x: 1, y: 1}
|
||||
--- !u!4 &939090647
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 939090645}
|
||||
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_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1333834122
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 1333834124}
|
||||
- component: {fileID: 1333834123}
|
||||
m_Layer: 0
|
||||
m_Name: Overlay-DisplayIMGUI
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1333834123
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1333834122}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 75f3b319d2d69934d8bf545ab45c918d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_mediaPlayer: {fileID: 1516615348}
|
||||
_scaleMode: 2
|
||||
_color: {r: 1, g: 1, b: 1, a: 1}
|
||||
_allowTransparency: 0
|
||||
_useDepth: 0
|
||||
_depth: 0
|
||||
_isAreaFullScreen: 0
|
||||
_areaX: 0
|
||||
_areaY: 0.75
|
||||
_areaWidth: 0.25
|
||||
_areaHeight: 0.25
|
||||
_showAreaInEditor: 1
|
||||
--- !u!4 &1333834124
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1333834122}
|
||||
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_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1516615347
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 1516615349}
|
||||
- component: {fileID: 1516615348}
|
||||
m_Layer: 0
|
||||
m_Name: MediaPlayer
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1516615348
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1516615347}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 638c870cac4da414fba921606d504407, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_mediaSource: 0
|
||||
_mediaReference: {fileID: 11400000, guid: 9c4b497c86e965b4e8a37e8aa70b2fe0, type: 2}
|
||||
_mediaLocation: 2
|
||||
_mediaPath:
|
||||
_fallbackMediaHints:
|
||||
transparency: 0
|
||||
alphaPacking: 0
|
||||
stereoPacking: 0
|
||||
_autoOpen: 1
|
||||
_autoPlayOnStart: 1
|
||||
_loop: 1
|
||||
_audioVolume: 1
|
||||
_audioBalance: 0
|
||||
_audioMuted: 0
|
||||
_playbackRate: 1
|
||||
_useResampler: 0
|
||||
_resampleMode: 0
|
||||
_resampleBufferSize: 5
|
||||
_videoMapping: 0
|
||||
_textureFilterMode: 1
|
||||
_textureWrapMode: 1
|
||||
_textureAnisoLevel: 0
|
||||
_sideloadSubtitles: 0
|
||||
_subtitleLocation: 2
|
||||
_subtitlePath:
|
||||
_audioHeadTransform: {fileID: 0}
|
||||
_audioFocusEnabled: 0
|
||||
_audioFocusTransform: {fileID: 0}
|
||||
_audioFocusWidthDegrees: 90
|
||||
_audioFocusOffLevelDB: 0
|
||||
_httpHeaders:
|
||||
httpHeaders: []
|
||||
_keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
_events:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: RenderHeads.Media.AVProVideo.MediaPlayerEvent, Assembly-CSharp, Version=0.0.0.0,
|
||||
Culture=neutral, PublicKeyToken=null
|
||||
_eventMask: -1
|
||||
_pauseMediaOnAppPause: 1
|
||||
_playMediaOnAppUnpause: 1
|
||||
_persistent: 0
|
||||
_forceFileFormat: 0
|
||||
_optionsWindows:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
videoApi: 0
|
||||
useHardwareDecoding: 1
|
||||
useTextureMips: 0
|
||||
use10BitTextures: 0
|
||||
hintAlphaChannel: 0
|
||||
useLowLatency: 0
|
||||
forceAudioOutputDeviceName:
|
||||
preferredFilters: []
|
||||
audioOutput: 0
|
||||
audio360ChannelMode: 0
|
||||
startWithHighestBitrate: 0
|
||||
_optionsMacOSX:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
textureFormat: 0
|
||||
audioMode: 0
|
||||
flags: 0
|
||||
_optionsIOS:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
textureFormat: 0
|
||||
audioMode: 0
|
||||
flags: 0
|
||||
_optionsTVOS:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
textureFormat: 0
|
||||
audioMode: 0
|
||||
flags: 0
|
||||
_optionsAndroid:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
videoApi: 2
|
||||
useFastOesPath: 0
|
||||
showPosterFrame: 0
|
||||
audioOutput: 0
|
||||
audio360ChannelMode: 0
|
||||
preferSoftwareDecoder: 0
|
||||
fileOffset: 0
|
||||
startWithHighestBitrate: 0
|
||||
minBufferMs: 50000
|
||||
maxBufferMs: 50000
|
||||
bufferForPlaybackMs: 2500
|
||||
bufferForPlaybackAfterRebufferMs: 5000
|
||||
_optionsWindowsUWP:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
useHardwareDecoding: 1
|
||||
useTextureMips: 0
|
||||
use10BitTextures: 0
|
||||
hintOutput10Bit: 0
|
||||
useLowLatency: 0
|
||||
videoApi: 1
|
||||
audioOutput: 0
|
||||
audio360ChannelMode: 0
|
||||
startWithHighestBitrate: 0
|
||||
_optionsWebGL:
|
||||
httpHeaders:
|
||||
httpHeaders: []
|
||||
keyAuth:
|
||||
keyServerToken:
|
||||
overrideDecryptionKeyBase64:
|
||||
overrideDecryptionKey:
|
||||
externalLibrary: 0
|
||||
useTextureMips: 0
|
||||
--- !u!4 &1516615349
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1516615347}
|
||||
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_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1661678277
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 1661678278}
|
||||
- component: {fileID: 1661678281}
|
||||
- component: {fileID: 1661678280}
|
||||
- component: {fileID: 1661678279}
|
||||
m_Layer: 5
|
||||
m_Name: Text
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1661678278
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1661678277}
|
||||
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_Children: []
|
||||
m_Father: {fileID: 57396436}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 40, y: -40.00006}
|
||||
m_SizeDelta: {x: 644.7, y: 430.4}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &1661678279
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1661678277}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 1573420865, guid: f70555f144d8491a825f0804e09c671c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_EffectColor: {r: 0, g: 0, b: 0, a: 0.753}
|
||||
m_EffectDistance: {x: 4, y: -4}
|
||||
m_UseGraphicAlpha: 1
|
||||
--- !u!114 &1661678280
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1661678277}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.86764705, g: 0.86764705, b: 0.86764705, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
|
||||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 54
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 61
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 1
|
||||
m_LineSpacing: 1
|
||||
m_Text: 'Demo of 4 components used to display video:
|
||||
|
||||
|
||||
DisplayUGUI (Right)
|
||||
|
||||
DisplayIMGUI (Left)
|
||||
|
||||
ApplyToMesh (Cube)
|
||||
|
||||
ApplyToMaterial (Skybox)'
|
||||
--- !u!222 &1661678281
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1661678277}
|
||||
--- !u!1 &1981163064
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 1981163068}
|
||||
- component: {fileID: 1981163067}
|
||||
- component: {fileID: 1981163066}
|
||||
- component: {fileID: 1981163065}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!45 &1981163065
|
||||
Skybox:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1981163064}
|
||||
m_Enabled: 1
|
||||
m_CustomSkybox: {fileID: 2100000, guid: 276368b4e7f7f044e8288312f105954e, type: 2}
|
||||
--- !u!81 &1981163066
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1981163064}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &1981163067
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1981163064}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: -1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 0
|
||||
m_AllowMSAA: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 0
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
m_StereoMirrorMode: 0
|
||||
--- !u!4 &1981163068
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1981163064}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -2.3}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4313ef3d8aef8764ea98fd3a15361c9b
|
||||
timeCreated: 1601367920
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 839cc75f049d0ea44a78c639e529d44a
|
||||
timeCreated: 1546679505
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0317dfde9ab745b4e9ef01be5f43c7ce
|
||||
timeCreated: 1614604940
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"name": "AVProVideo.Demos",
|
||||
"references": [
|
||||
"AVProVideo.Runtime"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"noEngineReferences": false
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5bd17dc1ff50f4c4fa776d3217f7bc99
|
||||
timeCreated: 1546681558
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a55421118ec262a4f98e9ad575b052b1
|
||||
folderAsset: yes
|
||||
timeCreated: 1606945622
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 07174a511872628448e2ac649a06da70
|
||||
timeCreated: 1607701805
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1 @@
|
|||
Please visit https://www.renderheads.com/content/docs/AVProVideo/ for full documentation
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8e59b18f5f75b614cba8c1c963515435
|
||||
timeCreated: 1606945622
|
||||
licenseType: Pro
|
||||
TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 78f6caa0eb99b0947a68c3abfc4b0287
|
||||
folderAsset: yes
|
||||
timeCreated: 1551709592
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 44c1fb33835a7a040a58adb2e708afb4
|
||||
folderAsset: yes
|
||||
timeCreated: 1551713189
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
|
@ -0,0 +1,90 @@
|
|||
fileFormatVersion: 2
|
||||
guid: bb83b41b53a59874692b83eab5873998
|
||||
TextureImporter:
|
||||
fileIDToRecycleName: {}
|
||||
serializedVersion: 4
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 1
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -3
|
||||
maxTextureSize: 1024
|
||||
textureSettings:
|
||||
filterMode: -1
|
||||
aniso: 1
|
||||
mipBias: -1
|
||||
wrapMode: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spritePixelsToUnits: 100
|
||||
alphaUsage: 0
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 1024
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
- buildTarget: Standalone
|
||||
maxTextureSize: 1024
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
- buildTarget: iPhone
|
||||
maxTextureSize: 1024
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
- buildTarget: Android
|
||||
maxTextureSize: 1024
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
spritePackingTag:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fa40b7e33f12f754586d06e6df3d98ba
|
||||
folderAsset: yes
|
||||
timeCreated: 1551712689
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,194 @@
|
|||
#define AVPROVIDEO_SUPPORT_LIVEEDITMODE
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System.Collections.Generic;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright 2015-2021 RenderHeads Ltd. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace RenderHeads.Media.AVProVideo.Editor
|
||||
{
|
||||
/// A collapsable GUI section that animates during open and close
|
||||
internal class AnimCollapseSection
|
||||
{
|
||||
internal const string SettingsPrefix = "AVProVideo-MediaPlayerEditor-";
|
||||
private const float CollapseSpeed = 2f;
|
||||
private static GUIStyle _styleCollapsableSection = null;
|
||||
private static GUIStyle _styleButtonFoldout = null;
|
||||
private static GUIStyle _styleHelpBoxNoPad = null;
|
||||
|
||||
public AnimCollapseSection(string label, bool showOnlyInEditMode, bool isDefaultExpanded, System.Action action, UnityEditor.Editor editor, Color backgroundColor, List<AnimCollapseSection> groupItems = null)
|
||||
: this(new GUIContent(label), showOnlyInEditMode, isDefaultExpanded, action, editor, backgroundColor, groupItems)
|
||||
{
|
||||
}
|
||||
public AnimCollapseSection(GUIContent label, bool showOnlyInEditMode, bool isDefaultExpanded, System.Action action, UnityEditor.Editor editor, Color backgroundColor, List<AnimCollapseSection> groupItems = null)
|
||||
{
|
||||
Label = label;
|
||||
_name = Label.text;
|
||||
Label.text = " " + Label.text; // Add a space for aesthetics
|
||||
ShowOnlyInEditMode = showOnlyInEditMode;
|
||||
_action = action;
|
||||
isDefaultExpanded = EditorPrefs.GetBool(PrefName, isDefaultExpanded);
|
||||
BackgroundColor = backgroundColor;
|
||||
_groupItems = groupItems;
|
||||
_anim = new UnityEditor.AnimatedValues.AnimBool(isDefaultExpanded);
|
||||
_anim.speed = CollapseSpeed;
|
||||
_anim.valueChanged.AddListener(editor.Repaint);
|
||||
}
|
||||
~AnimCollapseSection()
|
||||
{
|
||||
_anim.valueChanged.RemoveAllListeners();
|
||||
}
|
||||
|
||||
private string _name;
|
||||
private UnityEditor.AnimatedValues.AnimBool _anim;
|
||||
private System.Action _action;
|
||||
private List<AnimCollapseSection> _groupItems;
|
||||
|
||||
public void Invoke()
|
||||
{
|
||||
_action.Invoke();
|
||||
}
|
||||
|
||||
public bool IsExpanded { get { return _anim.target; } set { if (_anim.target != value) { _anim.target = value; if (value) CollapseSiblings(); } } }
|
||||
public float Faded { get { return _anim.faded; } }
|
||||
public GUIContent Label { get; private set; }
|
||||
public bool ShowOnlyInEditMode { get; private set; }
|
||||
public Color BackgroundColor { get; private set; }
|
||||
private string PrefName { get { return GetPrefName(_name); } }
|
||||
|
||||
public void Save()
|
||||
{
|
||||
EditorPrefs.SetBool(PrefName, IsExpanded);
|
||||
}
|
||||
|
||||
private void CollapseSiblings()
|
||||
{
|
||||
// Ensure only a single item is in an expanded state
|
||||
if (_groupItems != null)
|
||||
{
|
||||
foreach (AnimCollapseSection section in _groupItems)
|
||||
{
|
||||
if (section != this && section.IsExpanded)
|
||||
{
|
||||
section.IsExpanded = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static string GetPrefName(string label)
|
||||
{
|
||||
return SettingsPrefix + "Expand-" + label;
|
||||
}
|
||||
|
||||
internal static void CreateStyles()
|
||||
{
|
||||
if (_styleCollapsableSection == null)
|
||||
{
|
||||
_styleCollapsableSection = new GUIStyle(GUI.skin.box);
|
||||
_styleCollapsableSection.padding.top = 0;
|
||||
_styleCollapsableSection.padding.bottom = 0;
|
||||
}
|
||||
if (_styleButtonFoldout == null)
|
||||
{
|
||||
_styleButtonFoldout = new GUIStyle(EditorStyles.foldout);
|
||||
_styleButtonFoldout.margin = new RectOffset();
|
||||
_styleButtonFoldout.fontStyle = FontStyle.Bold;
|
||||
_styleButtonFoldout.alignment = TextAnchor.MiddleLeft;
|
||||
}
|
||||
if (_styleHelpBoxNoPad == null)
|
||||
{
|
||||
_styleHelpBoxNoPad = new GUIStyle(EditorStyles.helpBox);
|
||||
_styleHelpBoxNoPad.padding = new RectOffset();
|
||||
//_styleHelpBoxNoPad.border = new RectOffset();
|
||||
_styleHelpBoxNoPad.overflow = new RectOffset();
|
||||
_styleHelpBoxNoPad.margin = new RectOffset();
|
||||
_styleHelpBoxNoPad.margin = new RectOffset(8, 0, 0, 0);
|
||||
_styleHelpBoxNoPad.stretchWidth = false;
|
||||
_styleHelpBoxNoPad.stretchHeight = false;
|
||||
//_styleHelpBoxNoPad.normal.background = Texture2D.whiteTexture;
|
||||
}
|
||||
}
|
||||
|
||||
internal static void Show(AnimCollapseSection section, int indentLevel = 0)
|
||||
{
|
||||
if (section.ShowOnlyInEditMode && Application.isPlaying) return;
|
||||
|
||||
float headerGlow = Mathf.Lerp(0.5f, 0.85f, section.Faded);
|
||||
//float headerGlow = Mathf.Lerp(0.85f, 1f, section.Faded);
|
||||
if (EditorGUIUtility.isProSkin)
|
||||
{
|
||||
GUI.backgroundColor = section.BackgroundColor * new Color(headerGlow, headerGlow, headerGlow, 1f);
|
||||
}
|
||||
else
|
||||
{
|
||||
headerGlow = Mathf.Lerp(0.75f, 1f, section.Faded);
|
||||
GUI.backgroundColor = section.BackgroundColor * new Color(headerGlow, headerGlow, headerGlow, 1f);
|
||||
}
|
||||
GUILayout.BeginVertical(_styleHelpBoxNoPad);
|
||||
GUILayout.Box(GUIContent.none, EditorStyles.miniButton, GUILayout.ExpandWidth(true));
|
||||
GUI.backgroundColor = Color.white;
|
||||
Rect buttonRect = GUILayoutUtility.GetLastRect();
|
||||
if (Event.current.type != EventType.Layout)
|
||||
{
|
||||
buttonRect.xMin += indentLevel * EditorGUIUtility.fieldWidth / 3f;
|
||||
EditorGUI.indentLevel++;
|
||||
EditorGUIUtility.SetIconSize(new Vector2(16f, 16f));
|
||||
section.IsExpanded = EditorGUI.Foldout(buttonRect, section.IsExpanded, section.Label, true, _styleButtonFoldout);
|
||||
EditorGUIUtility.SetIconSize(Vector2.zero);
|
||||
EditorGUI.indentLevel--;
|
||||
}
|
||||
|
||||
if (EditorGUILayout.BeginFadeGroup(section.Faded))
|
||||
{
|
||||
section.Invoke();
|
||||
}
|
||||
EditorGUILayout.EndFadeGroup();
|
||||
GUILayout.EndVertical();
|
||||
}
|
||||
|
||||
internal static void Show(string label, ref bool isExpanded, System.Action action, bool showOnlyInEditMode)
|
||||
{
|
||||
if (showOnlyInEditMode && Application.isPlaying) return;
|
||||
|
||||
if (BeginShow(label, ref isExpanded, Color.white))
|
||||
{
|
||||
action.Invoke();
|
||||
}
|
||||
EndShow();
|
||||
}
|
||||
|
||||
internal static bool BeginShow(string label, ref bool isExpanded, Color tintColor)
|
||||
{
|
||||
GUI.color = Color.white;
|
||||
GUI.backgroundColor = Color.clear;
|
||||
if (isExpanded)
|
||||
{
|
||||
GUI.color = Color.white;
|
||||
GUI.backgroundColor = new Color(0.8f, 0.8f, 0.8f, 0.1f);
|
||||
if (EditorGUIUtility.isProSkin)
|
||||
{
|
||||
GUI.backgroundColor = Color.black;
|
||||
}
|
||||
}
|
||||
|
||||
GUILayout.BeginVertical(_styleCollapsableSection);
|
||||
GUI.color = tintColor;
|
||||
GUI.backgroundColor = Color.white;
|
||||
if (GUILayout.Button(label, EditorStyles.toolbarButton))
|
||||
{
|
||||
isExpanded = !isExpanded;
|
||||
}
|
||||
GUI.color = Color.white;
|
||||
|
||||
return isExpanded;
|
||||
}
|
||||
|
||||
internal static void EndShow()
|
||||
{
|
||||
GUILayout.EndVertical();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7ca21d2c4a039f347a66568bb23b62bc
|
||||
timeCreated: 1448902492
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: df15cc9892e0644469f075f3a1c0c8f4
|
||||
folderAsset: yes
|
||||
timeCreated: 1591790246
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,108 @@
|
|||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System.Collections.Generic;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright 2015-2021 RenderHeads Ltd. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace RenderHeads.Media.AVProVideo.Editor
|
||||
{
|
||||
/// <summary>
|
||||
/// Editor for the ApplyToMaterial component
|
||||
/// </summary>
|
||||
[CanEditMultipleObjects]
|
||||
[CustomEditor(typeof(ApplyToMaterial))]
|
||||
public class ApplyToMaterialEditor : UnityEditor.Editor
|
||||
{
|
||||
private static readonly GUIContent _guiTextTextureProperty = new GUIContent("Texture Property");
|
||||
|
||||
private SerializedProperty _propTextureOffset;
|
||||
private SerializedProperty _propTextureScale;
|
||||
private SerializedProperty _propMediaPlayer;
|
||||
private SerializedProperty _propMaterial;
|
||||
private SerializedProperty _propTexturePropertyName;
|
||||
private SerializedProperty _propDefaultTexture;
|
||||
private GUIContent[] _materialTextureProperties = new GUIContent[0];
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
_propTextureOffset = this.CheckFindProperty("_offset");
|
||||
_propTextureScale = this.CheckFindProperty("_scale");
|
||||
_propMediaPlayer = this.CheckFindProperty("_media");
|
||||
_propMaterial = this.CheckFindProperty("_material");
|
||||
_propTexturePropertyName = this.CheckFindProperty("_texturePropertyName");
|
||||
_propDefaultTexture = this.CheckFindProperty("_defaultTexture");
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
serializedObject.Update();
|
||||
|
||||
if (_propMaterial == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
|
||||
EditorGUILayout.PropertyField(_propMediaPlayer);
|
||||
EditorGUILayout.PropertyField(_propDefaultTexture);
|
||||
EditorGUILayout.PropertyField(_propMaterial);
|
||||
|
||||
bool hasKeywords = false;
|
||||
int texturePropertyIndex = 0;
|
||||
if (_propMaterial.objectReferenceValue != null)
|
||||
{
|
||||
Material mat = (Material)(_propMaterial.objectReferenceValue);
|
||||
|
||||
if (mat.shaderKeywords.Length > 0)
|
||||
{
|
||||
hasKeywords = true;
|
||||
}
|
||||
|
||||
MaterialProperty[] matProps = MaterialEditor.GetMaterialProperties(new UnityEngine.Object[] { mat });
|
||||
|
||||
List<GUIContent> items = new List<GUIContent>(16);
|
||||
foreach (MaterialProperty matProp in matProps)
|
||||
{
|
||||
if (matProp.type == MaterialProperty.PropType.Texture)
|
||||
{
|
||||
if (matProp.name == _propTexturePropertyName.stringValue)
|
||||
{
|
||||
texturePropertyIndex = items.Count;
|
||||
}
|
||||
items.Add(new GUIContent(matProp.name));
|
||||
}
|
||||
}
|
||||
_materialTextureProperties = items.ToArray();
|
||||
}
|
||||
|
||||
int newTexturePropertyIndex = EditorGUILayout.Popup(_guiTextTextureProperty, texturePropertyIndex, _materialTextureProperties);
|
||||
if (newTexturePropertyIndex >= 0 && newTexturePropertyIndex < _materialTextureProperties.Length)
|
||||
{
|
||||
_propTexturePropertyName.stringValue = _materialTextureProperties[newTexturePropertyIndex].text;
|
||||
}
|
||||
|
||||
if (hasKeywords && _propTexturePropertyName.stringValue != Helper.UnityBaseTextureName)
|
||||
{
|
||||
EditorGUILayout.HelpBox("When using an uber shader you may need to enable the keywords on a material for certain texture slots to take effect. You can sometimes achieve this (eg with Standard shader) by putting a dummy texture into the texture slot.", MessageType.Info);
|
||||
}
|
||||
|
||||
EditorGUILayout.PropertyField(_propTextureOffset);
|
||||
EditorGUILayout.PropertyField(_propTextureScale);
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
|
||||
bool wasModified = EditorGUI.EndChangeCheck();
|
||||
|
||||
if (Application.isPlaying && wasModified)
|
||||
{
|
||||
foreach (Object obj in this.targets)
|
||||
{
|
||||
((ApplyToMaterial)obj).ForceUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 60268ddd706f2f1469acb32edab1dea9
|
||||
timeCreated: 1591790256
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,183 @@
|
|||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System.Collections.Generic;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright 2015-2021 RenderHeads Ltd. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace RenderHeads.Media.AVProVideo.Editor
|
||||
{
|
||||
/// <summary>
|
||||
/// Editor for the ApplyToMesh component
|
||||
/// </summary>
|
||||
[CanEditMultipleObjects]
|
||||
[CustomEditor(typeof(ApplyToMesh))]
|
||||
public class ApplyToMeshEditor : UnityEditor.Editor
|
||||
{
|
||||
private static readonly GUIContent _guiTextTextureProperty = new GUIContent("Texture Property");
|
||||
|
||||
private SerializedProperty _propTextureOffset;
|
||||
private SerializedProperty _propTextureScale;
|
||||
private SerializedProperty _propMediaPlayer;
|
||||
private SerializedProperty _propRenderer;
|
||||
private SerializedProperty _propMaterialIndex;
|
||||
private SerializedProperty _propTexturePropertyName;
|
||||
private SerializedProperty _propDefaultTexture;
|
||||
private SerializedProperty _propAutomaticStereoPacking;
|
||||
private SerializedProperty _propOverrideStereoPacking;
|
||||
private SerializedProperty _propStereoRedGreenTint;
|
||||
private GUIContent[] _materialTextureProperties = new GUIContent[0];
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
_propTextureOffset = this.CheckFindProperty("_offset");
|
||||
_propTextureScale = this.CheckFindProperty("_scale");
|
||||
_propMediaPlayer = this.CheckFindProperty("_media");
|
||||
_propRenderer = this.CheckFindProperty("_renderer");
|
||||
_propMaterialIndex = this.CheckFindProperty("_materialIndex");
|
||||
_propTexturePropertyName = this.CheckFindProperty("_texturePropertyName");
|
||||
_propDefaultTexture = this.CheckFindProperty("_defaultTexture");
|
||||
_propAutomaticStereoPacking = this.CheckFindProperty("_automaticStereoPacking");
|
||||
_propOverrideStereoPacking = this.CheckFindProperty("_overrideStereoPacking");
|
||||
_propStereoRedGreenTint = this.CheckFindProperty("_stereoRedGreenTint");
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
serializedObject.Update();
|
||||
|
||||
if (_propRenderer == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
|
||||
EditorGUILayout.PropertyField(_propMediaPlayer);
|
||||
EditorGUILayout.PropertyField(_propDefaultTexture);
|
||||
EditorGUILayout.PropertyField(_propRenderer);
|
||||
|
||||
bool hasKeywords = false;
|
||||
int materialCount = 0;
|
||||
int texturePropertyIndex = 0;
|
||||
_materialTextureProperties = new GUIContent[0];
|
||||
if (_propRenderer.objectReferenceValue != null)
|
||||
{
|
||||
Renderer r = (Renderer)(_propRenderer.objectReferenceValue);
|
||||
|
||||
materialCount = r.sharedMaterials.Length;
|
||||
List<Material> nonNullMaterials = new List<Material>(r.sharedMaterials);
|
||||
// Remove any null materials (otherwise MaterialEditor.GetMaterialProperties() errors)
|
||||
for (int i = 0; i < nonNullMaterials.Count; i++)
|
||||
{
|
||||
if (nonNullMaterials[i] == null)
|
||||
{
|
||||
nonNullMaterials.RemoveAt(i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
|
||||
if (nonNullMaterials.Count > 0)
|
||||
{
|
||||
// Detect if there are any keywords
|
||||
foreach (Material mat in nonNullMaterials)
|
||||
{
|
||||
if (mat.shaderKeywords.Length > 0)
|
||||
{
|
||||
hasKeywords = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Get unique list of texture property names
|
||||
List<GUIContent> items = new List<GUIContent>(16);
|
||||
List<string> textureNames = new List<string>(8);
|
||||
foreach (Material mat in nonNullMaterials)
|
||||
{
|
||||
// NOTE: we process each material separately instead of passing them all into MaterialEditor.GetMaterialProperties() as it errors if the materials have different properties
|
||||
MaterialProperty[] matProps = MaterialEditor.GetMaterialProperties(new Object[] { mat });
|
||||
foreach (MaterialProperty matProp in matProps)
|
||||
{
|
||||
if (matProp.type == MaterialProperty.PropType.Texture)
|
||||
{
|
||||
if (!textureNames.Contains(matProp.name))
|
||||
{
|
||||
if (matProp.name == _propTexturePropertyName.stringValue)
|
||||
{
|
||||
texturePropertyIndex = items.Count;
|
||||
}
|
||||
textureNames.Add(matProp.name);
|
||||
items.Add(new GUIContent(matProp.name));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
_materialTextureProperties = items.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
if (materialCount > 0)
|
||||
{
|
||||
GUILayout.BeginHorizontal();
|
||||
EditorGUILayout.PrefixLabel("All Materials");
|
||||
EditorGUI.BeginChangeCheck();
|
||||
EditorGUILayout.Toggle(_propMaterialIndex.intValue < 0);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
if (_propMaterialIndex.intValue < 0)
|
||||
{
|
||||
_propMaterialIndex.intValue = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
_propMaterialIndex.intValue = -1;
|
||||
}
|
||||
}
|
||||
GUILayout.EndHorizontal();
|
||||
|
||||
if (_propMaterialIndex.intValue >= 0)
|
||||
{
|
||||
GUILayout.BeginHorizontal();
|
||||
EditorGUILayout.PrefixLabel("Material Index");
|
||||
_propMaterialIndex.intValue = EditorGUILayout.IntSlider(_propMaterialIndex.intValue, 0, materialCount - 1);
|
||||
GUILayout.EndHorizontal();
|
||||
}
|
||||
}
|
||||
|
||||
int newTexturePropertyIndex = EditorGUILayout.Popup(_guiTextTextureProperty, texturePropertyIndex, _materialTextureProperties);
|
||||
if (newTexturePropertyIndex >= 0 && newTexturePropertyIndex < _materialTextureProperties.Length)
|
||||
{
|
||||
_propTexturePropertyName.stringValue = _materialTextureProperties[newTexturePropertyIndex].text;
|
||||
}
|
||||
|
||||
if (hasKeywords && _propTexturePropertyName.stringValue != Helper.UnityBaseTextureName)
|
||||
{
|
||||
EditorGUILayout.HelpBox("When using an uber shader you may need to enable the keywords on a material for certain texture slots to take effect. You can sometimes achieve this (eg with Standard shader) by putting a dummy texture into the texture slot.", MessageType.Info);
|
||||
}
|
||||
|
||||
EditorGUILayout.PropertyField(_propTextureOffset);
|
||||
EditorGUILayout.PropertyField(_propTextureScale);
|
||||
|
||||
|
||||
EditorGUILayout.PropertyField(_propAutomaticStereoPacking);
|
||||
if (!_propAutomaticStereoPacking.boolValue)
|
||||
{
|
||||
EditorGUILayout.PropertyField(_propOverrideStereoPacking);
|
||||
}
|
||||
EditorGUILayout.PropertyField(_propStereoRedGreenTint);
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
|
||||
bool wasModified = EditorGUI.EndChangeCheck();
|
||||
|
||||
if (Application.isPlaying && wasModified)
|
||||
{
|
||||
foreach (Object obj in this.targets)
|
||||
{
|
||||
((ApplyToMesh)obj).ForceUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 114ac842bfcaf0745a5e45cb2a7d6559
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
|
@ -0,0 +1,103 @@
|
|||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright 2015-2021 RenderHeads Ltd. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace RenderHeads.Media.AVProVideo.Editor
|
||||
{
|
||||
/// <summary>
|
||||
/// Editor for the AudioOutput component
|
||||
/// </summary>
|
||||
[CanEditMultipleObjects]
|
||||
[CustomEditor(typeof(AudioOutput))]
|
||||
public class AudioOutputEditor : UnityEditor.Editor
|
||||
{
|
||||
private static readonly GUIContent _guiTextChannel = new GUIContent("Channel");
|
||||
private static readonly GUIContent _guiTextChannels = new GUIContent("Channels");
|
||||
private static readonly string[] _channelMaskOptions = { "1", "2", "3", "4", "5", "6", "7", "8" };
|
||||
|
||||
private SerializedProperty _propMediaPlayer;
|
||||
private SerializedProperty _propAudioOutputMode;
|
||||
private SerializedProperty _propSupportPositionalAudio;
|
||||
private SerializedProperty _propChannelMask;
|
||||
private int _unityAudioSampleRate;
|
||||
private int _unityAudioSpeakerCount;
|
||||
private string _bufferedMs;
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
_propMediaPlayer = this.CheckFindProperty("_mediaPlayer");
|
||||
_propAudioOutputMode = this.CheckFindProperty("_audioOutputMode");
|
||||
_propSupportPositionalAudio = this.CheckFindProperty("_supportPositionalAudio");
|
||||
_propChannelMask = this.CheckFindProperty("_channelMask");
|
||||
_unityAudioSampleRate = Helper.GetUnityAudioSampleRate();
|
||||
_unityAudioSpeakerCount = Helper.GetUnityAudioSpeakerCount();
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
serializedObject.Update();
|
||||
|
||||
AudioOutput audioOutput = (AudioOutput)this.target;
|
||||
|
||||
EditorGUILayout.PropertyField(_propMediaPlayer);
|
||||
EditorGUILayout.PropertyField(_propAudioOutputMode);
|
||||
EditorGUILayout.PropertyField(_propSupportPositionalAudio);
|
||||
|
||||
// Display the channel mask as either a bitfield or value slider
|
||||
if ((AudioOutput.AudioOutputMode)_propAudioOutputMode.enumValueIndex == AudioOutput.AudioOutputMode.MultipleChannels)
|
||||
{
|
||||
_propChannelMask.intValue = EditorGUILayout.MaskField(_guiTextChannels, _propChannelMask.intValue, _channelMaskOptions);
|
||||
}
|
||||
else
|
||||
{
|
||||
int prevVal = 0;
|
||||
for(int i = 0; i < 8; ++i)
|
||||
{
|
||||
if((_propChannelMask.intValue & (1 << i)) > 0)
|
||||
{
|
||||
prevVal = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int newVal = Mathf.Clamp(EditorGUILayout.IntSlider(_guiTextChannel, prevVal, 0, 7), 0, 7);
|
||||
_propChannelMask.intValue = 1 << newVal;
|
||||
}
|
||||
|
||||
GUILayout.Label("Unity Audio", EditorStyles.boldLabel);
|
||||
EditorGUILayout.LabelField("Speakers", _unityAudioSpeakerCount.ToString());
|
||||
EditorGUILayout.LabelField("Sample Rate", _unityAudioSampleRate.ToString() + "hz");
|
||||
EditorGUILayout.Space();
|
||||
|
||||
if (audioOutput != null)
|
||||
{
|
||||
if (audioOutput.Player != null && audioOutput.Player.Control != null)
|
||||
{
|
||||
int channelCount = audioOutput.Player.Control.GetAudioChannelCount();
|
||||
if (channelCount >= 0)
|
||||
{
|
||||
GUILayout.Label("Media Audio", EditorStyles.boldLabel);
|
||||
EditorGUILayout.LabelField("Channels: " + channelCount);
|
||||
AudioChannelMaskFlags audioChannels = audioOutput.Player.Control.GetAudioChannelMask();
|
||||
GUILayout.Label(audioChannels.ToString(), EditorHelper.IMGUI.GetWordWrappedTextAreaStyle());
|
||||
|
||||
if (Time.frameCount % 4 == 0)
|
||||
{
|
||||
int bufferedSampleCount = audioOutput.Player.Control.GetAudioBufferedSampleCount();
|
||||
float bufferedMs = (bufferedSampleCount * 1000f) / (_unityAudioSampleRate * channelCount);
|
||||
_bufferedMs = "Buffered: " + bufferedMs.ToString("F2") + "ms";
|
||||
}
|
||||
|
||||
EditorGUILayout.LabelField(_bufferedMs);
|
||||
EditorGUILayout.Space();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f7852924144fc064aad785e5985b5402
|
||||
timeCreated: 1495783665
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,86 @@
|
|||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright 2015-2021 RenderHeads Ltd. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace RenderHeads.Media.AVProVideo.Editor
|
||||
{
|
||||
/// <summary>
|
||||
/// Editor for the DisplayIMGUI component
|
||||
/// </summary>
|
||||
[CanEditMultipleObjects]
|
||||
[CustomEditor(typeof(DisplayIMGUI))]
|
||||
public class DisplayIMGUIEditor : UnityEditor.Editor
|
||||
{
|
||||
private SerializedProperty _propMediaPlayer;
|
||||
private SerializedProperty _propScaleMode;
|
||||
private SerializedProperty _propColor;
|
||||
private SerializedProperty _propAllowTransparency;
|
||||
private SerializedProperty _propUseDepth;
|
||||
private SerializedProperty _propDepth;
|
||||
private SerializedProperty _propAreaFullscreen;
|
||||
private SerializedProperty _propAreaX;
|
||||
private SerializedProperty _propAreaY;
|
||||
private SerializedProperty _propAreaWidth;
|
||||
private SerializedProperty _propAreaHeight;
|
||||
private SerializedProperty _propShowAreaInEditor;
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
_propMediaPlayer = this.CheckFindProperty("_mediaPlayer");
|
||||
_propScaleMode = this.CheckFindProperty("_scaleMode");
|
||||
_propColor = this.CheckFindProperty("_color");
|
||||
_propAllowTransparency = this.CheckFindProperty("_allowTransparency");
|
||||
_propUseDepth = this.CheckFindProperty("_useDepth");
|
||||
_propDepth = this.CheckFindProperty("_depth");
|
||||
_propAreaFullscreen = this.CheckFindProperty("_isAreaFullScreen");
|
||||
_propAreaX = this.CheckFindProperty("_areaX");
|
||||
_propAreaY = this.CheckFindProperty("_areaY");
|
||||
_propAreaWidth = this.CheckFindProperty("_areaWidth");
|
||||
_propAreaHeight = this.CheckFindProperty("_areaHeight");
|
||||
_propShowAreaInEditor = this.CheckFindProperty("_showAreaInEditor");
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
serializedObject.Update();
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
|
||||
EditorGUILayout.PropertyField(_propMediaPlayer);
|
||||
EditorGUILayout.PropertyField(_propScaleMode);
|
||||
EditorGUILayout.PropertyField(_propColor);
|
||||
EditorGUILayout.PropertyField(_propAllowTransparency);
|
||||
EditorGUILayout.PropertyField(_propUseDepth);
|
||||
if (_propUseDepth.boolValue)
|
||||
{
|
||||
EditorGUILayout.PropertyField(_propDepth);
|
||||
}
|
||||
|
||||
// Area
|
||||
EditorGUILayout.PropertyField(_propAreaFullscreen, new GUIContent("Full Screen"));
|
||||
if (!_propAreaFullscreen.boolValue)
|
||||
{
|
||||
EditorGUILayout.PropertyField(_propAreaX, new GUIContent("X"));
|
||||
EditorGUILayout.PropertyField(_propAreaY, new GUIContent("Y"));
|
||||
EditorGUILayout.PropertyField(_propAreaWidth, new GUIContent("Width"));
|
||||
EditorGUILayout.PropertyField(_propAreaHeight, new GUIContent("Height"));
|
||||
}
|
||||
EditorGUILayout.PropertyField(_propShowAreaInEditor, new GUIContent("Show in Editor"));
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
|
||||
// Force update
|
||||
bool unhandledChanges = (EditorGUI.EndChangeCheck() && Application.isPlaying);
|
||||
if (unhandledChanges)
|
||||
{
|
||||
foreach (Object obj in this.targets)
|
||||
{
|
||||
((DisplayIMGUI)obj).Update();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8c822ced482d9444aa15d55b5f9d6e7a
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
|
@ -0,0 +1,682 @@
|
|||
#define AVPROVIDEO_SUPPORT_LIVEEDITMODE
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System.Collections.Generic;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright 2015-2021 RenderHeads Ltd. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace RenderHeads.Media.AVProVideo.Editor
|
||||
{
|
||||
/// <summary>
|
||||
/// Editor for the MediaPlayer component
|
||||
/// </summary>
|
||||
[CanEditMultipleObjects]
|
||||
[CustomEditor(typeof(MediaPlayer))]
|
||||
public partial class MediaPlayerEditor : UnityEditor.Editor
|
||||
{
|
||||
internal const string SettingsPrefix = "AVProVideo-MediaPlayerEditor-";
|
||||
|
||||
private SerializedProperty _propAutoOpen;
|
||||
private SerializedProperty _propAutoStart;
|
||||
private SerializedProperty _propLoop;
|
||||
private SerializedProperty _propRate;
|
||||
private SerializedProperty _propPersistent;
|
||||
private SerializedProperty _propFilter;
|
||||
private SerializedProperty _propWrap;
|
||||
private SerializedProperty _propAniso;
|
||||
#if AVPRO_FEATURE_VIDEORESOLVE
|
||||
private SerializedProperty _propUseVideoResolve;
|
||||
private SerializedProperty _propVideoResolve;
|
||||
private SerializedProperty _propVideoResolveOptions;
|
||||
#endif
|
||||
private SerializedProperty _propResample;
|
||||
private SerializedProperty _propResampleMode;
|
||||
private SerializedProperty _propResampleBufferSize;
|
||||
private SerializedProperty _propVideoMapping;
|
||||
private SerializedProperty _propForceFileFormat;
|
||||
private SerializedProperty _propFallbackMediaHints;
|
||||
|
||||
private static Texture2D _icon;
|
||||
private static bool _isTrialVersion = false;
|
||||
private static GUIStyle _styleSectionBox = null;
|
||||
|
||||
private AnimCollapseSection _sectionMediaInfo;
|
||||
private AnimCollapseSection _sectionDebug;
|
||||
private AnimCollapseSection _sectionSettings;
|
||||
private AnimCollapseSection _sectionAboutHelp;
|
||||
private List<AnimCollapseSection> _settingSections = new List<AnimCollapseSection>(16);
|
||||
private List<AnimCollapseSection> _platformSections = new List<AnimCollapseSection>(8);
|
||||
|
||||
[MenuItem("GameObject/Video/AVPro Video - Media Player", false, 100)]
|
||||
public static void CreateMediaPlayerEditor()
|
||||
{
|
||||
GameObject go = new GameObject("MediaPlayer");
|
||||
go.AddComponent<MediaPlayer>();
|
||||
Selection.activeGameObject = go;
|
||||
}
|
||||
|
||||
[MenuItem("GameObject/Video/AVPro Video - Media Player with Unity Audio", false, 101)]
|
||||
public static void CreateMediaPlayerWithUnityAudioEditor()
|
||||
{
|
||||
GameObject go = new GameObject("MediaPlayer");
|
||||
go.AddComponent<MediaPlayer>();
|
||||
go.AddComponent<AudioSource>();
|
||||
AudioOutput ao = go.AddComponent<AudioOutput>();
|
||||
// Move the AudioOutput component above the AudioSource so that it acts as the audio generator
|
||||
UnityEditorInternal.ComponentUtility.MoveComponentUp(ao);
|
||||
Selection.activeGameObject = go;
|
||||
}
|
||||
|
||||
private static void LoadSettings()
|
||||
{
|
||||
_platformIndex = EditorPrefs.GetInt(SettingsPrefix + "PlatformIndex", -1);
|
||||
_showAlpha = EditorPrefs.GetBool(SettingsPrefix + "ShowAlphaChannel", false);
|
||||
_showPreview = EditorPrefs.GetBool(SettingsPrefix + "ShowPreview", true);
|
||||
_allowDeveloperMode = EditorPrefs.GetBool(SettingsPrefix + "AllowDeveloperMode", false);
|
||||
_HTTPHeadersToggle = EditorPrefs.GetBool(SettingsPrefix + "HTTPHeadersToggle", false);
|
||||
RecentItems.Load();
|
||||
}
|
||||
|
||||
private void SaveSettings()
|
||||
{
|
||||
_sectionMediaInfo.Save();
|
||||
_sectionDebug.Save();
|
||||
_sectionSettings.Save();
|
||||
_sectionAboutHelp.Save();
|
||||
|
||||
foreach (AnimCollapseSection section in _settingSections)
|
||||
{
|
||||
section.Save();
|
||||
}
|
||||
foreach (AnimCollapseSection section in _platformSections)
|
||||
{
|
||||
section.Save();
|
||||
}
|
||||
|
||||
_sectionDevModeState.Save();
|
||||
_sectionDevModeTexture.Save();
|
||||
_sectionDevModePlaybackQuality.Save();
|
||||
_sectionDevModeHapNotchLCDecoder.Save();
|
||||
_sectionDevModeBufferedFrames.Save();
|
||||
|
||||
EditorPrefs.SetInt(SettingsPrefix + "PlatformIndex", _platformIndex);
|
||||
EditorPrefs.SetBool(SettingsPrefix + "ShowAlphaChannel", _showAlpha);
|
||||
EditorPrefs.SetBool(SettingsPrefix + "ShowPreview", _showPreview);
|
||||
EditorPrefs.SetBool(SettingsPrefix + "AllowDeveloperMode", _allowDeveloperMode);
|
||||
EditorPrefs.SetBool(SettingsPrefix + "HTTPHeadersToggle", _HTTPHeadersToggle);
|
||||
RecentItems.Save();
|
||||
}
|
||||
|
||||
//[MenuItem("RenderHeads/AVPro Video/Reset Settings", false, 101)]
|
||||
internal static void DeleteSettings()
|
||||
{
|
||||
EditorPrefs.DeleteKey(SettingsPrefix + "PlatformIndex");
|
||||
EditorPrefs.DeleteKey(SettingsPrefix + "ShowAlphaChannel");
|
||||
EditorPrefs.DeleteKey(SettingsPrefix + "AllowDeveloperMode");
|
||||
EditorPrefs.DeleteKey(SettingsPrefix + "HTTPHeadersToggle");
|
||||
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Media"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Debug"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Settings"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("About / Help"));
|
||||
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Source"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Main"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Audio"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Visual"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Network"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Media"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Subtitles"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Events"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Platform Specific"));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName("Global"));
|
||||
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName(GetPlatformButtonContent(Platform.Windows).text));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName(GetPlatformButtonContent(Platform.macOS).text));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName(GetPlatformButtonContent(Platform.Android).text));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName(GetPlatformButtonContent(Platform.iOS).text));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName(GetPlatformButtonContent(Platform.tvOS).text));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName(GetPlatformButtonContent(Platform.visionOS).text));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName(GetPlatformButtonContent(Platform.WindowsUWP).text));
|
||||
EditorPrefs.DeleteKey(AnimCollapseSection.GetPrefName(GetPlatformButtonContent(Platform.WebGL).text));
|
||||
}
|
||||
|
||||
private void CreateSections()
|
||||
{
|
||||
const float colorSaturation = 0.66f;
|
||||
Color mediaInfoColor = Color.HSVToRGB(0.55f, colorSaturation, 1f);
|
||||
Color sourceColor = Color.HSVToRGB(0.4f, colorSaturation, 1f);
|
||||
Color platformSpecificColor = Color.HSVToRGB(0.85f, colorSaturation, 1f);
|
||||
Color platformColor = platformSpecificColor;
|
||||
if (EditorGUIUtility.isProSkin)
|
||||
{
|
||||
platformColor *= 0.66f;
|
||||
}
|
||||
|
||||
_sectionMediaInfo = new AnimCollapseSection("Media Info", false, false, OnInspectorGUI_MediaInfo, this, mediaInfoColor);
|
||||
_sectionDebug = new AnimCollapseSection("Debug", false, true, OnInspectorGUI_Debug, this, Color.white);
|
||||
_sectionSettings = new AnimCollapseSection("Settings", false, true, OnInspectorGUI_Settings, this, Color.white);
|
||||
_sectionAboutHelp = new AnimCollapseSection("About / Help", false, false, OnInspectorGUI_About, this, Color.white);
|
||||
|
||||
_settingSections.Clear();
|
||||
_settingSections.Add(new AnimCollapseSection("Source", false, true, OnInspectorGUI_Source, this, sourceColor));
|
||||
_settingSections.Add(new AnimCollapseSection("Main", false, false, OnInspectorGUI_Main, this, Color.white));
|
||||
_settingSections.Add(new AnimCollapseSection("Audio", false, false, OnInspectorGUI_Audio, this, Color.white));
|
||||
_settingSections.Add(new AnimCollapseSection("Visual", true, false, OnInspectorGUI_Visual, this, Color.white));
|
||||
//_settingSections.Add(new AnimCollapseSection("Network", true, false, OnInspectorGUI_Network, this, Color.white));
|
||||
_settingSections.Add(new AnimCollapseSection("Subtitles", true, false, OnInspectorGUI_Subtitles, this, Color.white));
|
||||
_settingSections.Add(new AnimCollapseSection("Events", true, false, OnInspectorGUI_Events, this, Color.white));
|
||||
_settingSections.Add(new AnimCollapseSection("Platform Specific", true, false, OnInspectorGUI_PlatformOverrides, this, platformSpecificColor));
|
||||
_settingSections.Add(new AnimCollapseSection("Global", true, false, OnInspectorGUI_GlobalSettings, this, Color.white));
|
||||
|
||||
_platformSections.Clear();
|
||||
_platformSections.Add(new AnimCollapseSection(GetPlatformButtonContent(Platform.Windows), true, false, OnInspectorGUI_Override_Windows, this, platformColor, _platformSections));
|
||||
_platformSections.Add(new AnimCollapseSection(GetPlatformButtonContent(Platform.macOS), true, false, OnInspectorGUI_Override_MacOSX, this, platformColor, _platformSections));
|
||||
_platformSections.Add(new AnimCollapseSection(GetPlatformButtonContent(Platform.Android), true, false, OnInspectorGUI_Override_Android, this, platformColor, _platformSections));
|
||||
_platformSections.Add(new AnimCollapseSection(GetPlatformButtonContent(Platform.iOS), true, false, OnInspectorGUI_Override_iOS, this, platformColor, _platformSections));
|
||||
_platformSections.Add(new AnimCollapseSection(GetPlatformButtonContent(Platform.tvOS), true, false, OnInspectorGUI_Override_tvOS, this, platformColor, _platformSections));
|
||||
_platformSections.Add(new AnimCollapseSection(GetPlatformButtonContent(Platform.visionOS), true, false, OnInspectorGUI_Override_visionOS, this, platformColor, _platformSections));
|
||||
_platformSections.Add(new AnimCollapseSection(GetPlatformButtonContent(Platform.WindowsUWP), true, false, OnInspectorGUI_Override_WindowsUWP, this, platformColor, _platformSections));
|
||||
_platformSections.Add(new AnimCollapseSection(GetPlatformButtonContent(Platform.WebGL), true, false, OnInspectorGUI_Override_WebGL, this, platformColor, _platformSections));
|
||||
|
||||
_sectionDevModeState = new AnimCollapseSection("State", false, false, OnInspectorGUI_DevMode_State, this, Color.white);
|
||||
_sectionDevModeTexture = new AnimCollapseSection("Texture", false, false, OnInspectorGUI_DevMode_Texture, this, Color.white);
|
||||
_sectionDevModePlaybackQuality = new AnimCollapseSection("Presentation Quality", false, false, OnInspectorGUI_DevMode_PresentationQuality, this, Color.white);
|
||||
_sectionDevModeHapNotchLCDecoder = new AnimCollapseSection("Hap/NotchLC Decoder", false, false, OnInspectorGUI_DevMode_HapNotchLCDecoder, this, Color.white);
|
||||
_sectionDevModeBufferedFrames = new AnimCollapseSection("Buffers", false, false, OnInspectorGUI_DevMode_BufferedFrames, this, Color.white);
|
||||
}
|
||||
|
||||
private void ResolveProperties()
|
||||
{
|
||||
_propMediaSource = this.CheckFindProperty("_mediaSource");
|
||||
_propMediaReference = this.CheckFindProperty("_mediaReference");
|
||||
_propMediaPath = this.CheckFindProperty("_mediaPath");
|
||||
_propAutoOpen = this.CheckFindProperty("_autoOpen");
|
||||
_propAutoStart = this.CheckFindProperty("_autoPlayOnStart");
|
||||
_propLoop = this.CheckFindProperty("_loop");
|
||||
_propRate = this.CheckFindProperty("_playbackRate");
|
||||
_propVolume = this.CheckFindProperty("_audioVolume");
|
||||
_propBalance = this.CheckFindProperty("_audioBalance");
|
||||
_propMuted = this.CheckFindProperty("_audioMuted");
|
||||
_propPersistent = this.CheckFindProperty("_persistent");
|
||||
_propEvents = this.CheckFindProperty("_events");
|
||||
_propEventMask = this.CheckFindProperty("_eventMask");
|
||||
_propPauseMediaOnAppPause = this.CheckFindProperty("_pauseMediaOnAppPause");
|
||||
_propPlayMediaOnAppUnpause = this.CheckFindProperty("_playMediaOnAppUnpause");
|
||||
_propFilter = this.CheckFindProperty("_textureFilterMode");
|
||||
_propWrap = this.CheckFindProperty("_textureWrapMode");
|
||||
_propAniso = this.CheckFindProperty("_textureAnisoLevel");
|
||||
#if AVPRO_FEATURE_VIDEORESOLVE
|
||||
_propUseVideoResolve = this.CheckFindProperty("_useVideoResolve");
|
||||
_propVideoResolve = this.CheckFindProperty("_videoResolve");
|
||||
_propVideoResolveOptions = this.CheckFindProperty("_videoResolveOptions");
|
||||
#endif
|
||||
_propVideoMapping = this.CheckFindProperty("_videoMapping");
|
||||
_propForceFileFormat = this.CheckFindProperty("_forceFileFormat");
|
||||
_propFallbackMediaHints = this.CheckFindProperty("_fallbackMediaHints");
|
||||
_propSubtitles = this.CheckFindProperty("_sideloadSubtitles");
|
||||
_propSubtitlePath = this.CheckFindProperty("_subtitlePath");
|
||||
_propResample = this.CheckFindProperty("_useResampler");
|
||||
_propResampleMode = this.CheckFindProperty("_resampleMode");
|
||||
_propResampleBufferSize = this.CheckFindProperty("_resampleBufferSize");
|
||||
_propAudioHeadTransform = this.CheckFindProperty("_audioHeadTransform");
|
||||
_propAudioEnableFocus = this.CheckFindProperty("_audioFocusEnabled");
|
||||
_propAudioFocusOffLevelDB = this.CheckFindProperty("_audioFocusOffLevelDB");
|
||||
_propAudioFocusWidthDegrees = this.CheckFindProperty("_audioFocusWidthDegrees");
|
||||
_propAudioFocusTransform = this.CheckFindProperty("_audioFocusTransform");
|
||||
}
|
||||
|
||||
private static Texture GetPlatformIcon(Platform platform)
|
||||
{
|
||||
string iconName = string.Empty;
|
||||
switch (platform)
|
||||
{
|
||||
case Platform.Windows:
|
||||
case Platform.macOS:
|
||||
iconName = "BuildSettings.Standalone.Small";
|
||||
break;
|
||||
case Platform.Android:
|
||||
iconName = "BuildSettings.Android.Small";
|
||||
break;
|
||||
case Platform.iOS:
|
||||
iconName = "BuildSettings.iPhone.Small";
|
||||
break;
|
||||
case Platform.tvOS:
|
||||
iconName = "BuildSettings.tvOS.Small";
|
||||
break;
|
||||
case Platform.visionOS:
|
||||
iconName = "BuildSettings.visionOS.Small";
|
||||
break;
|
||||
case Platform.WindowsUWP:
|
||||
iconName = "BuildSettings.Metro.Small";
|
||||
break;
|
||||
case Platform.WebGL:
|
||||
iconName = "BuildSettings.WebGL.Small";
|
||||
break;
|
||||
}
|
||||
Texture iconTexture = null;
|
||||
if (!string.IsNullOrEmpty(iconName))
|
||||
{
|
||||
iconTexture = EditorGUIUtility.IconContent(iconName).image;
|
||||
}
|
||||
return iconTexture;
|
||||
}
|
||||
|
||||
private static GUIContent GetPlatformButtonContent(Platform platform)
|
||||
{
|
||||
return new GUIContent(Helper.GetPlatformName(platform), GetPlatformIcon(platform));
|
||||
}
|
||||
|
||||
private void FixRogueEditorBug()
|
||||
{
|
||||
// NOTE: There seems to be a bug in Unity where the editor script will call OnEnable and OnDisable twice.
|
||||
// This is resolved by setting the Window Layout mode to Default.
|
||||
// It causes a problem (at least in Unity 2020.1.11) where the System.Action invocations (usd by AnimCollapseSection)
|
||||
// seem to be in a different 'this' context and so their pointers to serializedObject is not the same, resulting in
|
||||
// properties modified not marking the serialisedObject as dirty. To get around this issue we use this static bool
|
||||
// so that OnEnable can only be called once.
|
||||
// https://answers.unity.com/questions/1216599/custom-editor-gets-created-multiple-times-and-rece.html
|
||||
var remainingBuggedEditors = FindObjectsOfType<MediaPlayerEditor>();
|
||||
foreach(var editor in remainingBuggedEditors)
|
||||
{
|
||||
if (editor == this)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
DestroyImmediate(editor);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
FixRogueEditorBug();
|
||||
|
||||
CreateSections();
|
||||
|
||||
LoadSettings();
|
||||
|
||||
_isTrialVersion = IsTrialVersion();
|
||||
|
||||
if (_platformNames == null)
|
||||
{
|
||||
_platformNames = new GUIContent[]
|
||||
{
|
||||
GetPlatformButtonContent(Platform.Windows),
|
||||
GetPlatformButtonContent(Platform.macOS),
|
||||
GetPlatformButtonContent(Platform.iOS),
|
||||
GetPlatformButtonContent(Platform.tvOS),
|
||||
GetPlatformButtonContent(Platform.visionOS),
|
||||
GetPlatformButtonContent(Platform.Android),
|
||||
GetPlatformButtonContent(Platform.WindowsUWP),
|
||||
GetPlatformButtonContent(Platform.WebGL)
|
||||
};
|
||||
}
|
||||
|
||||
ResolveProperties();
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
ClosePreview();
|
||||
SaveSettings();
|
||||
|
||||
if (!Application.isPlaying)
|
||||
{
|
||||
// NOTE: For some reason when transitioning into Play mode, Dispose() is not called in the MediaPlayer if
|
||||
// it was playing before the transition because all members are reset to null. So we must force this
|
||||
// dispose of all resources to handle this case.
|
||||
// Sadly it means we can't keep persistent playback in the inspector when it loses focus, but
|
||||
// hopefully we can find a way to achieve this in the future
|
||||
/*if (EditorApplication.isPlayingOrWillChangePlaymode)
|
||||
{
|
||||
// NOTE: This seems to work for the above issue, but
|
||||
// we'd need to move it to the global event for when the play state changes
|
||||
MediaPlayer.EditorAllPlayersDispose();
|
||||
}*/
|
||||
foreach (MediaPlayer player in this.targets)
|
||||
{
|
||||
player.ForceDispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateStyles()
|
||||
{
|
||||
if (_styleSectionBox == null)
|
||||
{
|
||||
_styleSectionBox = new GUIStyle(GUI.skin.box);
|
||||
if (!EditorGUIUtility.isProSkin)
|
||||
{
|
||||
_styleSectionBox = new GUIStyle(GUI.skin.box);
|
||||
//_styleSectionBox.normal.background = Texture2D.redTexture;
|
||||
}
|
||||
}
|
||||
|
||||
_iconPlayButton = EditorGUIUtility.IconContent("d_PlayButton");
|
||||
_iconPauseButton = EditorGUIUtility.IconContent("d_PauseButton");
|
||||
_iconSceneViewAudio = EditorGUIUtility.IconContent("d_SceneViewAudio");
|
||||
_iconProject = EditorGUIUtility.IconContent("d_Project");
|
||||
_iconRotateTool = EditorGUIUtility.IconContent("d_RotateTool");
|
||||
|
||||
AnimCollapseSection.CreateStyles();
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
MediaPlayer media = (this.target) as MediaPlayer;
|
||||
|
||||
// NOTE: It is important that serializedObject.Update() is called before media.EditorUpdate()
|
||||
// as otherwise the serializedPropertys are not correctly detected as modified
|
||||
serializedObject.Update();
|
||||
|
||||
#if AVPROVIDEO_SUPPORT_LIVEEDITMODE
|
||||
bool isPlayingInEditor = false;
|
||||
// Update only during the layout event so that nothing updates for the render event
|
||||
if (!Application.isPlaying && Event.current.type == EventType.Layout)
|
||||
{
|
||||
isPlayingInEditor = media.EditorUpdate();
|
||||
}
|
||||
#endif
|
||||
|
||||
if (media == null || _propMediaPath == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
CreateStyles();
|
||||
|
||||
_icon = GetIcon(_icon);
|
||||
|
||||
ShowImportantMessages();
|
||||
|
||||
if (media != null)
|
||||
{
|
||||
OnInspectorGUI_Player(media, media.TextureProducer);
|
||||
}
|
||||
|
||||
AnimCollapseSection.Show(_sectionMediaInfo);
|
||||
if (_allowDeveloperMode)
|
||||
{
|
||||
AnimCollapseSection.Show(_sectionDebug);
|
||||
}
|
||||
AnimCollapseSection.Show(_sectionSettings);
|
||||
|
||||
if (serializedObject.ApplyModifiedProperties())
|
||||
{
|
||||
EditorUtility.SetDirty(target);
|
||||
}
|
||||
|
||||
AnimCollapseSection.Show(_sectionAboutHelp);
|
||||
#if AVPROVIDEO_SUPPORT_LIVEEDITMODE
|
||||
if (isPlayingInEditor)
|
||||
{
|
||||
GL.InvalidateState();
|
||||
// NOTE: there seems to be a bug in Unity (2019.3.13) where if you don't have
|
||||
// GL.sRGBWrite = true and then call RepaintAllViews() it makes the current Inspector
|
||||
// background turn black. This only happens when using D3D12
|
||||
// UPDATE: this is happening in Unity 2019.4.15 as well, and in D3D11 mode. It only
|
||||
// happens when loading a video via the Recent Menu.
|
||||
|
||||
bool originalSRGBWrite = GL.sRGBWrite;
|
||||
GL.sRGBWrite = true;
|
||||
//this.Repaint();
|
||||
UnityEditorInternal.InternalEditorUtility.RepaintAllViews();
|
||||
GL.sRGBWrite = originalSRGBWrite;
|
||||
}
|
||||
// TODO: OnDisable - stop the video if it's playing (and unload it?)
|
||||
#endif
|
||||
}
|
||||
|
||||
private void OnInspectorGUI_Settings()
|
||||
{
|
||||
foreach (AnimCollapseSection section in _settingSections)
|
||||
{
|
||||
AnimCollapseSection.Show(section, indentLevel:1);
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowSupportWindowButton()
|
||||
{
|
||||
//GUI.backgroundColor = new Color(0.96f, 0.25f, 0.47f);
|
||||
//if (GUILayout.Button("◄ AVPro Video ►\nHelp & Support"))
|
||||
if (GUILayout.Button("Click here for \nHelp & Support"))
|
||||
{
|
||||
SupportWindow.Init();
|
||||
}
|
||||
//GUI.backgroundColor = Color.white;
|
||||
}
|
||||
|
||||
private void ShowImportantMessages()
|
||||
{
|
||||
// Describe the watermark for trial version
|
||||
if (_isTrialVersion)
|
||||
{
|
||||
string message = string.Empty;
|
||||
if (Application.isPlaying)
|
||||
{
|
||||
#if UNITY_EDITOR_WIN
|
||||
MediaPlayer media = (this.target) as MediaPlayer;
|
||||
message = "The watermark is the horizontal bar that moves vertically and the small 'AVPRO TRIAL' text.";
|
||||
if (media.Info != null && media.Info.GetPlayerDescription().Contains("MF-MediaEngine-Hardware"))
|
||||
{
|
||||
message = "The watermark is the RenderHeads logo that moves around the image.";
|
||||
}
|
||||
#elif UNITY_EDITOR_OSX
|
||||
message = "The RenderHeads logo is the watermark.";
|
||||
#endif
|
||||
}
|
||||
|
||||
EditorHelper.IMGUI.BeginWarningTextBox("AVPRO VIDEO - TRIAL WATERMARK", message, Color.yellow, Color.yellow, Color.white);
|
||||
if (GUILayout.Button("Purchase"))
|
||||
{
|
||||
Application.OpenURL(LinkPurchase);
|
||||
}
|
||||
EditorHelper.IMGUI.EndWarningTextBox();
|
||||
}
|
||||
|
||||
// Warning about not using multi-threaded rendering
|
||||
{
|
||||
bool showWarningMT = false;
|
||||
|
||||
if (/*EditorUserBuildSettings.selectedBuildTargetGroup == BuildTargetGroup.iOS ||
|
||||
EditorUserBuildSettings.selectedBuildTargetGroup == BuildTargetGroup.tvOS ||*/
|
||||
EditorUserBuildSettings.selectedBuildTargetGroup == BuildTargetGroup.Android)
|
||||
{
|
||||
#if UNITY_2017_2_OR_NEWER
|
||||
showWarningMT = !UnityEditor.PlayerSettings.GetMobileMTRendering(BuildTargetGroup.Android);
|
||||
#else
|
||||
showWarningMT = !UnityEditor.PlayerSettings.mobileMTRendering;
|
||||
#endif
|
||||
}
|
||||
/*if (EditorUserBuildSettings.selectedBuildTargetGroup == BuildTargetGroup.WSA)
|
||||
{
|
||||
}*/
|
||||
if (showWarningMT)
|
||||
{
|
||||
EditorHelper.IMGUI.WarningTextBox("Performance Warning", "Deploying to Android with multi-threaded rendering disabled is not recommended. Enable multi-threaded rendering in the Player Settings > Other Settings panel.", Color.yellow, Color.yellow, Color.white);
|
||||
}
|
||||
}
|
||||
|
||||
#if !UNITY_2019_3_OR_NEWER
|
||||
if (SystemInfo.graphicsDeviceType == UnityEngine.Rendering.GraphicsDeviceType.Direct3D12)
|
||||
{
|
||||
EditorHelper.IMGUI.WarningTextBox("Compatibility Warning", "Direct3D 12 is not supported until Unity 2019.3", Color.yellow, Color.yellow, Color.white);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
private void OnInspectorGUI_Main()
|
||||
{
|
||||
/////////////////// STARTUP FIELDS
|
||||
|
||||
EditorGUILayout.BeginVertical(_styleSectionBox);
|
||||
GUILayout.Label("Startup", EditorStyles.boldLabel);
|
||||
EditorGUILayout.PropertyField(_propAutoOpen);
|
||||
EditorGUILayout.PropertyField(_propAutoStart, new GUIContent("Auto Play"));
|
||||
EditorGUILayout.EndVertical();
|
||||
|
||||
/////////////////// PLAYBACK FIELDS
|
||||
|
||||
EditorGUILayout.BeginVertical(GUI.skin.box);
|
||||
GUILayout.Label("Playback", EditorStyles.boldLabel);
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
EditorGUILayout.PropertyField(_propLoop);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
Undo.RecordObject(target, "Loop");
|
||||
foreach (MediaPlayer player in this.targets)
|
||||
{
|
||||
player.Loop = _propLoop.boolValue;
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
EditorGUILayout.PropertyField(_propRate);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
Undo.RecordObject(target, "PlaybackRate");
|
||||
foreach (MediaPlayer player in this.targets)
|
||||
{
|
||||
player.PlaybackRate = _propRate.floatValue;
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUILayout.EndVertical();
|
||||
|
||||
EditorGUILayout.BeginVertical(GUI.skin.box);
|
||||
GUILayout.Label("Other", EditorStyles.boldLabel);
|
||||
EditorGUILayout.PropertyField(_propPersistent, new GUIContent("Persistent", "Use DontDestroyOnLoad so this object isn't destroyed between level loads"));
|
||||
|
||||
if (_propForceFileFormat != null)
|
||||
{
|
||||
GUIContent label = new GUIContent("Force File Format", "Override automatic format detection when using non-standard file extensions");
|
||||
_propForceFileFormat.enumValueIndex = EditorGUILayout.Popup(label, _propForceFileFormat.enumValueIndex, _fileFormatGuiNames);
|
||||
}
|
||||
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
|
||||
private void OnInspectorGUI_Visual()
|
||||
{
|
||||
#if AVPRO_FEATURE_VIDEORESOLVE
|
||||
|
||||
{
|
||||
EditorGUILayout.BeginVertical(GUI.skin.box);
|
||||
GUILayout.Label("Resolve", EditorStyles.boldLabel);
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
EditorGUILayout.PropertyField(_propUseVideoResolve);
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
Undo.RecordObject(target, "UseVideoResolve");
|
||||
foreach (MediaPlayer player in this.targets)
|
||||
{
|
||||
player.UseVideoResolve = _propUseVideoResolve.boolValue;
|
||||
}
|
||||
}
|
||||
|
||||
if (_propUseVideoResolve.boolValue)
|
||||
{
|
||||
EditorGUILayout.PropertyField(_propVideoResolve);
|
||||
/*EditorGUI.indentLevel++;
|
||||
EditorGUILayout.PropertyField(_propVideoResolveOptions, true);
|
||||
EditorGUI.indentLevel--;*/
|
||||
}
|
||||
|
||||
GUILayout.EndVertical();
|
||||
}
|
||||
#endif
|
||||
|
||||
EditorGUILayout.BeginVertical(GUI.skin.box);
|
||||
GUILayout.Label("Texture", EditorStyles.boldLabel);
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
EditorGUILayout.PropertyField(_propFilter, new GUIContent("Filter"));
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
Undo.RecordObject(target, "TextureFilterMode");
|
||||
foreach (MediaPlayer player in this.targets)
|
||||
{
|
||||
player.TextureFilterMode = (FilterMode)_propFilter.enumValueIndex;
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
EditorGUILayout.PropertyField(_propWrap, new GUIContent("Wrap"));
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
Undo.RecordObject(target, "TextureWrapMode");
|
||||
foreach (MediaPlayer player in this.targets)
|
||||
{
|
||||
player.TextureWrapMode = (TextureWrapMode)_propWrap.enumValueIndex;
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
EditorGUILayout.PropertyField(_propAniso, new GUIContent("Aniso"));
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
Undo.RecordObject(target, "TextureAnisoLevel");
|
||||
foreach (MediaPlayer player in this.targets)
|
||||
{
|
||||
player.TextureAnisoLevel = _propAniso.intValue;
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUILayout.EndVertical();
|
||||
|
||||
EditorGUILayout.BeginVertical(GUI.skin.box);
|
||||
GUILayout.Label("Layout Mapping", EditorStyles.boldLabel);
|
||||
EditorGUILayout.PropertyField(_propVideoMapping);
|
||||
EditorGUILayout.EndVertical();
|
||||
|
||||
{
|
||||
EditorGUILayout.BeginVertical(GUI.skin.box);
|
||||
GUILayout.Label("Resampler (BETA)", EditorStyles.boldLabel);
|
||||
EditorGUILayout.PropertyField(_propResample);
|
||||
EditorGUI.BeginDisabledGroup(!_propResample.boolValue);
|
||||
|
||||
EditorGUILayout.PropertyField(_propResampleMode);
|
||||
EditorGUILayout.PropertyField(_propResampleBufferSize);
|
||||
|
||||
EditorGUI.EndDisabledGroup();
|
||||
EditorGUILayout.EndVertical();
|
||||
}
|
||||
}
|
||||
|
||||
private static bool IsTrialVersion()
|
||||
{
|
||||
string version = GetPluginVersion();
|
||||
return version.Contains("-trial");
|
||||
}
|
||||
|
||||
//private int _updateFrameCount = -1;
|
||||
public override bool RequiresConstantRepaint()
|
||||
{
|
||||
MediaPlayer media = (this.target) as MediaPlayer;
|
||||
if (media != null && media.Control != null && media.isActiveAndEnabled && media.Info.GetDuration() > 0.0)
|
||||
{
|
||||
if (!media.Info.HasVideo())
|
||||
{
|
||||
if (media.Info.HasAudio())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if (media.TextureProducer.GetTexture() != null)
|
||||
{
|
||||
//int frameCount = media.TextureProducer.GetTextureFrameCount();
|
||||
//if (_updateFrameCount != frameCount)
|
||||
{
|
||||
//_updateFrameCount = frameCount;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8fdcfef6a9f4f724486d3374e03f4864
|
||||
timeCreated: 1448902492
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,160 @@
|
|||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright 2015-2021 RenderHeads Ltd. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
namespace RenderHeads.Media.AVProVideo.Editor
|
||||
{
|
||||
/// <summary>
|
||||
/// About/Help section of the editor for the MediaPlayer component
|
||||
/// </summary>
|
||||
public partial class MediaPlayerEditor : UnityEditor.Editor
|
||||
{
|
||||
public const string LinkPluginWebsite = "https://renderheads.com/products/avpro-video/";
|
||||
public const string LinkForumPage = "https://forum.unity.com/threads/released-avpro-video-complete-video-playback-solution.385611/";
|
||||
public const string LinkForumLastPage = "https://forum.unity.com/threads/released-avpro-video-complete-video-playback-solution.385611/page-100";
|
||||
public const string LinkGithubIssues = "https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues";
|
||||
public const string LinkGithubIssuesNew = "https://github.com/RenderHeads/UnityPlugin-AVProVideo/issues/new/choose";
|
||||
public const string LinkAssetStorePage = "https://assetstore.unity.com/packages/slug/181844?aid=1101lcNgx";
|
||||
public const string LinkUserManual = "https://www.renderheads.com/content/docs/AVProVideo/";
|
||||
public const string LinkScriptingClassReference = "https://www.renderheads.com/content/docs/AVProVideo/api/RenderHeads.Media.AVProVideo.html";
|
||||
public const string LinkPurchase = "https://www.renderheads.com/content/docs/AVProVideo/articles/download.html";
|
||||
|
||||
private struct Native
|
||||
{
|
||||
#if UNITY_EDITOR_WIN
|
||||
[System.Runtime.InteropServices.DllImport("AVProVideo")]
|
||||
public static extern System.IntPtr GetPluginVersion();
|
||||
#elif UNITY_EDITOR_OSX
|
||||
[System.Runtime.InteropServices.DllImport("AVProVideo")]
|
||||
public static extern System.IntPtr AVPPluginGetVersionStringPointer();
|
||||
#endif
|
||||
}
|
||||
|
||||
private static string GetPluginVersion()
|
||||
{
|
||||
string version = "Unknown";
|
||||
try
|
||||
{
|
||||
#if UNITY_EDITOR_WIN
|
||||
version = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Native.GetPluginVersion());
|
||||
#elif UNITY_EDITOR_OSX
|
||||
version = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Native.AVPPluginGetVersionStringPointer());
|
||||
#endif
|
||||
}
|
||||
catch (System.DllNotFoundException e)
|
||||
{
|
||||
#if UNITY_EDITOR_OSX
|
||||
Debug.LogError("[AVProVideo] Failed to load Bundle. " + e.Message);
|
||||
#else
|
||||
Debug.LogError("[AVProVideo] Failed to load DLL. " + e.Message);
|
||||
#endif
|
||||
}
|
||||
return version;
|
||||
}
|
||||
|
||||
private static Texture2D GetIcon(Texture2D icon)
|
||||
{
|
||||
if (icon == null)
|
||||
{
|
||||
icon = Resources.Load<Texture2D>("AVProVideoIcon");
|
||||
}
|
||||
return icon;
|
||||
}
|
||||
|
||||
private void OnInspectorGUI_About()
|
||||
{
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
GUILayout.FlexibleSpace();
|
||||
_icon = GetIcon(_icon);
|
||||
if (_icon != null)
|
||||
{
|
||||
GUILayout.Label(new GUIContent(_icon));
|
||||
}
|
||||
GUILayout.FlexibleSpace();
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
GUI.color = Color.yellow;
|
||||
EditorHelper.IMGUI.CentreLabel("AVPro Video by RenderHeads Ltd", EditorStyles.boldLabel);
|
||||
EditorHelper.IMGUI.CentreLabel("version " + Helper.AVProVideoVersion + " (plugin v" + GetPluginVersion() + ")");
|
||||
GUI.color = Color.white;
|
||||
GUI.backgroundColor = Color.white;
|
||||
|
||||
if (_icon != null)
|
||||
{
|
||||
GUILayout.Space(8f);
|
||||
ShowSupportWindowButton();
|
||||
GUILayout.Space(8f);
|
||||
}
|
||||
|
||||
EditorGUILayout.LabelField("Links", EditorStyles.boldLabel);
|
||||
|
||||
GUILayout.Space(8f);
|
||||
|
||||
EditorGUILayout.LabelField("Documentation");
|
||||
if (GUILayout.Button("User Manual, FAQ, Release Notes", GUILayout.ExpandWidth(false)))
|
||||
{
|
||||
Application.OpenURL(LinkUserManual);
|
||||
}
|
||||
if (GUILayout.Button("Scripting Class Reference", GUILayout.ExpandWidth(false)))
|
||||
{
|
||||
Application.OpenURL(LinkScriptingClassReference);
|
||||
}
|
||||
|
||||
GUILayout.Space(16f);
|
||||
|
||||
GUILayout.Label("Bugs and Support");
|
||||
if (GUILayout.Button("Open Help & Support", GUILayout.ExpandWidth(false)))
|
||||
{
|
||||
SupportWindow.Init();
|
||||
}
|
||||
|
||||
GUILayout.Space(16f);
|
||||
|
||||
GUILayout.Label("Rate and Review (★★★★☆)", GUILayout.ExpandWidth(false));
|
||||
if (GUILayout.Button("Asset Store Page", GUILayout.ExpandWidth(false)))
|
||||
{
|
||||
Application.OpenURL(LinkAssetStorePage);
|
||||
}
|
||||
|
||||
GUILayout.Space(16f);
|
||||
|
||||
GUILayout.Label("Community");
|
||||
if (GUILayout.Button("Forum Thread", GUILayout.ExpandWidth(false)))
|
||||
{
|
||||
Application.OpenURL(LinkForumPage);
|
||||
}
|
||||
|
||||
GUILayout.Space(16f);
|
||||
|
||||
GUILayout.Label("Homepage", GUILayout.ExpandWidth(false));
|
||||
if (GUILayout.Button("Official Website", GUILayout.ExpandWidth(false)))
|
||||
{
|
||||
Application.OpenURL(LinkPluginWebsite);
|
||||
}
|
||||
|
||||
GUILayout.Space(32f);
|
||||
|
||||
EditorGUILayout.LabelField("Credits", EditorStyles.boldLabel);
|
||||
GUILayout.Space(8f);
|
||||
|
||||
EditorHelper.IMGUI.CentreLabel("Programming", EditorStyles.boldLabel);
|
||||
EditorHelper.IMGUI.CentreLabel("Andrew Griffiths");
|
||||
EditorHelper.IMGUI.CentreLabel("Morris Butler");
|
||||
EditorHelper.IMGUI.CentreLabel("Ste Butcher");
|
||||
EditorHelper.IMGUI.CentreLabel("Richard Turnbull");
|
||||
EditorHelper.IMGUI.CentreLabel("Sunrise Wang");
|
||||
EditorHelper.IMGUI.CentreLabel("Muano Mainganye");
|
||||
EditorHelper.IMGUI.CentreLabel("Shane Marks");
|
||||
GUILayout.Space(8f);
|
||||
EditorHelper.IMGUI.CentreLabel("Graphics", EditorStyles.boldLabel);
|
||||
GUILayout.Space(8f);
|
||||
EditorHelper.IMGUI.CentreLabel("Jeff Rusch");
|
||||
EditorHelper.IMGUI.CentreLabel("Luke Godward");
|
||||
|
||||
GUILayout.Space(32f);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2463176874e32294998504d6b1f2f21c
|
||||
timeCreated: 1448902492
|
||||
licenseType: Free
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue