Grotto Kapitel Parmigiano + AVPro Test Package

story_process
Nadine Ganz 2024-09-05 16:43:17 +02:00
parent 1f7a3befdb
commit 47baa001ad
622 changed files with 105968 additions and 168262 deletions

View File

@ -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") {
}
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4f8030f6428d642a9a6090f7a564225a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: ac9801f71509e0a4c949a03ae8940ecf
folderAsset: yes
timeCreated: 1438729080
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 50a3b8d1bf24f2943bd18205a6ad0cce
folderAsset: yes
timeCreated: 1609504095
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: db39bb6249db0924bb87d6e0bb294ed3
timeCreated: 1609503593
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 3c2c8026b487d4d4a84e01da83637ceb
timeCreated: 1609505219
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: -1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 276368b4e7f7f044e8288312f105954e
timeCreated: 1601367715
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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);
}
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0e87d2abb8af1da4aa3e1949ee6d680d
timeCreated: 1609504095
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: a922ae46315cc884c879056759d73251
timeCreated: 1546854091
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: af11c0475fc59fd46ae3d7101e9cb7ad
timeCreated: 1600732643
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: -1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 9c36a7d03d5746f4bab781d213a86f49
timeCreated: 1546682531
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 8e67518da82e8334685a53cd09579095
timeCreated: 1546682531
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 42d01ca03bef81a4db5efcc72b712aca
timeCreated: 1546682531
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 1d9b78c72d0d96c4ea3ffb49880bf0c6
timeCreated: 1546682531
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 3defb26db59b1fa489c3d83b2dda2210
timeCreated: 1546682531
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: fc3335a6cd5229642a818d162865fe8a
timeCreated: 1546682531
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: dced9abe5e3da3e47bbaa9d7febe796e
timeCreated: 1546682531
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 82d37723c9304fa4e9f2cd4daf2351ad
timeCreated: 1546682531
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: b246d2a0da7bbb3459e271e203c4abe1
timeCreated: 1546682531
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 35bb2f3708dd0394cb564ca3557a37fc
timeCreated: 1546712398
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 4dc8d5e4c33efff42a23dc52502a4a4d
timeCreated: 1546682531
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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
}
}
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 8b83f1522b53ad44a9a271e7db8aa527
timeCreated: 1546682502
licenseType: Pro
ShaderImporter:
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:

View 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

View File

@ -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

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 7ea26c1ee23534e45906e4c8dd184883
timeCreated: 1609503535
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: -1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 7b8a48f17a76b0d449f396690db75ebf
timeCreated: 1604318423
licenseType: Pro
NativeFormatImporter:
mainObjectFileID: -1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,5 @@
fileFormatVersion: 2
guid: 071b80f70fe42d44ab5631af0998b01e
folderAsset: yes
DefaultImporter:
userData:

View File

@ -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}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ca8fdd4aa85509743878be7fbacf5a4f
timeCreated: 1601367920
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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}

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0317dfde9ab745b4e9ef01be5f43c7ce
timeCreated: 1614604940
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,14 @@
{
"name": "AVProVideo.Demos",
"references": [
"AVProVideo.Runtime"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"noEngineReferences": false
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5bd17dc1ff50f4c4fa776d3217f7bc99
timeCreated: 1546681558
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: a55421118ec262a4f98e9ad575b052b1
folderAsset: yes
timeCreated: 1606945622
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 07174a511872628448e2ac649a06da70
timeCreated: 1607701805
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1 @@
Please visit https://www.renderheads.com/content/docs/AVProVideo/ for full documentation

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8e59b18f5f75b614cba8c1c963515435
timeCreated: 1606945622
licenseType: Pro
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 78f6caa0eb99b0947a68c3abfc4b0287
folderAsset: yes
timeCreated: 1551709592
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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

View File

@ -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:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: fa40b7e33f12f754586d06e6df3d98ba
folderAsset: yes
timeCreated: 1551712689
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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();
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 7ca21d2c4a039f347a66568bb23b62bc
timeCreated: 1448902492
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: df15cc9892e0644469f075f3a1c0c8f4
folderAsset: yes
timeCreated: 1591790246
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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();
}
}
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 60268ddd706f2f1469acb32edab1dea9
timeCreated: 1591790256
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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();
}
}
}
}
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 114ac842bfcaf0745a5e45cb2a7d6559
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -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();
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f7852924144fc064aad785e5985b5402
timeCreated: 1495783665
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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();
}
}
}
}
}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8c822ced482d9444aa15d55b5f9d6e7a
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@ -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;
}
}
}

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 8fdcfef6a9f4f724486d3374e03f4864
timeCreated: 1448902492
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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);
}
}
}

View File

@ -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