Merge branch 'story_process'

master
Nadine Ganz 2024-09-05 16:44:04 +02:00
commit 4b686c057a
853 changed files with 418780 additions and 3659 deletions

View File

@ -0,0 +1,18 @@
## Changelog
### 0.2.1
* Added work-around for crashing on Quest
* Update SDK license agreement
### 0.2.0
* Updated to Unity 2022.3
* Tested with AVPro Video 2.9.1
### 0.1.3
* Updated assembly definitions.
### 0.1.2
* Player name and component name updated.
### 0.1.1
* Media references are supported by Depthkit clips.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a45ad1881a758b641abc18c0bfc596be
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,138 @@
SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT
The text of this license (this “License”) may be found at: www.depthkit.tv/license-agreement-v1
Thank you for your interest in using the Simile Inc dba Scatter ("Scatter") Software Development Kit (the "SDK").
In order to obtain and use the SDK, you must first agree to the terms of this License. If you do not agree to the
terms of this License, then you may not use the SDK.
SDK LICENSE
1. Subject to the terms and conditions of this License, Scatter hereby
grants to you a worldwide, non-exclusive, royalty-free, sublicenseable license to use, reproduce, modify,
embed and redistribute (subject to restrictions below) the software contained in the SDK, including, but
not limited to, the samples, headers, documentation and source code. This License is subject to the
following terms and conditions:
1.1 This license grants you the non-exclusive license and right to use the SDK to develop
methods to play back content produced in the software suite known as Depth Kit (such content referred
to as your “Content”) in the Unity game engine, as well as other features that may be added from time to
time by Scatter. You may not use the SDK to connect Depth Kit to any software platform or game engine
other than Unity.
1.2 For avoidance of doubt, when you use the SDK in or with your Content, you retain all
rights to your Content, and you have no obligations to share or license your Content (including your
source and object code) to Scatter or any third parties; provided, however, Scatter retains all rights to the
SDK and the headers, libraries and APIs of Depth Kit and other tools made available by Scatter, including
those that may be incorporated into your Content by virtue of your producing it through Depth Kit.
1.3 You agree not to commit any act intended to (a) interfere with the normal operation of
Depth Kit or the SDK, (b) provide software to Depth Kit users or developers that would induce breach of
any Scatter agreements, or (c) provide software to Scatter or Depth Kit users that contains malware,
viruses, hacks, bots, Trojan horses, or other malicious code.
1.4 You may not use the SDK for any purpose not expressly permitted by this License. You
may not:
a. decompile;
b. reverse engineer;
c. disassemble; or
d. attempt to derive the source code of any part of the SDK where source code is
not directly provided to you, or any other software or firmware provided to you by Scatter in binary
form (except as and only to the extent any foregoing restriction is prohibited by applicable law).
REDISTRIBUTION
2. Subject to the terms and conditions of this License, your license to redistribute and sublicense the SDK
is also expressly made subject to the following conditions:
2.1 You may sublicense and redistribute the binary or object code form of the SDK in whole
for no charge or as part of a for-charge piece of Content; provided, however, you may only license,
sublicense or redistribute the binary or object code of the SDK (and not the SDKs source code) in its
entirety. The SDK, including its associated libraries, and your Content that includes any portion of the
SDK, may only be used with Depth Kit and may not be used, licensed, or sublicensed to interface with
software that is not authorized and approved by Scatter;
2.2 You must include with all such redistributed or sublicensed SDK code the following copyright
notice: “Copyright 2016-2024 Simile Inc dba Scatter. All rights reserved.”;
2.3 You must give any other recipients of the SDK a copy of this License as such recipients,
licensees or sublicensees may only use the SDK subject to the terms of this License and such recipient's,
licensee's or sublicensee's agreement to and acceptance of this License with Scatter; and
2.4 The SDK includes a “LICENSE” text file (the “License Notice”), and any SDK distribution that
you distribute must include a copy of this License with the License Notice.
GENERAL PROVISIONS
3. Additional Materials
3.1 Scatter may include in this SDK additional content (e.g., samples) for demonstration,
references or other specific purposes. Such content will be clearly marked in the SDK and is subject to
any included terms and conditions.
3.2 Your use of third-party materials included in the SDK, or which the SDK may be dependent
upon (including without limitation Unity), may be subject to other terms and conditions typically found in
separate third-party license agreements or "READ ME" files included with such third-party materials. To
the extent such other terms and conditions conflict with the terms and conditions of this License, the
former will control with respect to the applicable third-party materials. The terms of licensing the Unity
game engine can be found here: https://unity3d.com/legal/terms-of-service/software.
4. THE SDK AND ANY COMPONENT THEREOF ARE PROVIDED “AS IS” AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL Scatter AS THE COPYRIGHT OWNER OR ITS CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SDK, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SOME JURISDICTIONS DO NOT PERMIT THE
EXCLUSION OR LIMITATION OF IMPLIED WARRANTIES, SO YOU MAY HAVE ADDITIONAL
RIGHTS.
5. This License does not grant permission to use the trade names, trademarks, service marks, or product
names of Scatter, including without limitation “Depth Kit,” except as required for reasonable and customary
use in describing the origin of the SDK, and reproducing the content of the License Notice file. Scatter
reserves all rights not expressly granted to you under this License. Neither Scatters name nor the names
of Scatters contributors, licensors, employees, or contractors, may be used to endorse or promote
products developed using the SDK without specific prior written permission of Scatter.
6. You are responsible for ensuring that your use of the SDK and your Content complies with all
applicable laws (including privacy laws) wherever your Content is made available. You acknowledge and
agree that you are solely responsible for any health and safety issues arising from your Content.
7. Your acceptance of the terms and conditions of this License in and of itself and for all of your Content
may be evidenced by your usage of the SDK or acceptance of this License. As this License is updated for
future releases of the SDK, you agree to abide by and meet all requirements of future updates of this
License for those future SDK releases, with acceptance evidenced by usage of the SDK or any element
thereof and the future updates of this License will apply for your Content that may be developed for or
with that future SDK or any element thereof (i.e., you cannot sidestep out of the requirements of future
updates of the License by developing against an older release of the SDK or License). You acknowledge
that future versions of the SDK may be provided for a fee or otherwise under substantially different terms
from those provided hereunder.
8. Scatter reserves the right to terminate this License and all your rights hereunder immediately in the
event you materially breach this License.
9. Furthermore, Scatter also reserves the right to cancel or terminate this License for any of the following
reasons:
a. Intellectual property infringement by you for your Content that is used with or by
the SDK;
b. Content that violates applicable law;
c. Health and safety issues associated with your Content;
d. Use of the SDK with a commercial product other than Depth Kit and Unity; and
e. Failure to provide required notices as set forth above.
10. You agree to fully indemnify Scatter from any and all losses, costs, damages and expenses (including
reasonable attorney's fees) arising out of your Content or any breach of this License.
11. Scatter may discontinue or change functionality of Depth Kit or the SDK at any time, and your
continued use of Depth Kit or the SDK or use of any modified or additional services in connection
therewith is conditioned upon your adherence to the terms of this License, as modified by Scatter from
time to time, as well as any additional license agreements necessitated by additional features.
12. In the event any provision of this License is determined to be invalid, prohibited or unenforceable by a
court or other body of competent jurisdiction, this License shall be construed as if such invalid, prohibited
or unenforceable provision has been more narrowly drawn so as not to be invalid, prohibited or
unenforceable.
13. You may not assign any rights or obligations under this License without the advance written consent
of Scatter, which may be withheld in its sole discretion. Scatter may assign its rights or obligations under
this License in its sole discretion.
14. Failure of either party at any time to enforce any of the provisions of this License will not be construed
as a waiver of such provisions or in any way affect the validity of this License or parts thereof.
15. Your remedies under this License shall be limited to the right to collect money damages, if any, and
you hereby waive your right to injunctive or other equitable relief.
16. You will comply with all applicable export control laws of the United States and any other applicable
governmental authority, including without limitation, the U.S. Export Administration Regulations. You
agree that this License and the SDK and accompanying documentation are Scatter's confidential
information (and is not publicly available), and you will not use it, disclose it or make it available to others
except in accordance with the terms of this License.
17. This License shall be governed by the laws of the State of New York, without giving effect to choice of
law principles. All disputes relating to this License shall be resolved by binding non-appearance-based
arbitration before a single arbitrator in New York County, New York. The arbitration shall be conducted in
accordance with the rules and procedures of JAMS then in effect, and the judgment of the arbitrator shall
be final and capable of entry in any court of competent jurisdiction. You and Scatter agree to submit to the
personal jurisdiction of the courts located within New York County, New York in connection with any
entrance of an arbitrators judgment or decision or any dispute with respect to the arbitration process or
procedure or Scatters exercise of its equitable rights or remedies.
Effective as of October 7, 2016

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0d89158092f3e114f891a5191ce27b87
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,2 @@
# Depthkit AVPro 2.x Video Player
Copyright 2021 Scatter All Rights reserved.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f0f0d066ae4548c4e862f61bb1fd6319
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@ -0,0 +1,408 @@
/************************************************************************************
Depthkit Unity SDK License v1
Copyright 2016-2024 Simile Inc dba Scatter. All Rights reserved.
Licensed under the the Simile Inc dba Scatter ("Scatter")
Software Development Kit License Agreement (the "License");
you may not use this SDK except in compliance with the License,
which is provided at the time of installation or download,
or which otherwise accompanies this software in either electronic or hard copy form.
You may obtain a copy of the License at http://www.depthkit.tv/license-agreement-v1
Unless required by applicable law or agreed to in writing,
the SDK distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.
************************************************************************************/
using UnityEngine;
using System;
using System.Collections;
using System.Reflection;
using RenderHeads.Media.AVProVideo;
#if !DK_AVPROv1
namespace Depthkit
{
/// <summary>
/// Implementation of the Depthkit player with an AVProVideo 2.x backend </summary>
[AddComponentMenu("Depthkit/Players/Depthkit Video Player (AVPro)")]
public class AVProVideoPlayer : Depthkit.ClipPlayer
{
[SerializeField, HideInInspector]
/// <summary>
/// Reference to the AVProVideo Component </summary>
protected MediaPlayer m_mediaPlayer;
[HideInInspector]
// Note: on AVProVideo 2.9.1 when building to Quest, and possibly all Android devices,
// There is a crash when exposing MediaPlayer.TextureProvider.GetTexture() directly.
// To work around this, we use a RenderTexture and Graphics.Blit to copy the video
// texture, and then return the copy. Whenever AVPro fixes this issue,
// we can remove this work around.
public bool disableAndroidTextureCopyWorkAround = false;
protected RenderTexture m_rt = null;
string m_path;
MediaPathType m_pathType;
public override void CreatePlayer()
{
m_mediaPlayer = gameObject.GetComponent<MediaPlayer>();
if (m_mediaPlayer == null)
{
// no media component already added to this component, try adding a MediaPlayer component
try
{
m_mediaPlayer = gameObject.AddComponent<MediaPlayer>();
}
catch (Exception e)
{
Debug.LogError("AVProVideo not found in project: " + e.ToString());
}
}
}
public override bool IsPlayerCreated()
{
return m_mediaPlayer != null;
}
public override bool IsPlayerSetup()
{
if (!IsPlayerCreated())
{
return false;
}
return m_mediaPlayer.MediaPath != null && (m_mediaPlayer.MediaSource == MediaSource.Path ? m_mediaPlayer.MediaPath.Path != "" : m_mediaPlayer.MediaReference != null);
}
/// <summary>
/// Sets the video from a path. Assumed relative to data folder path.</summary>
public override void SetVideoPath(string path)
{
if (!IsPlayerCreated())
{
return;
}
path = path.Replace("\\", "/");
if (path.StartsWith(Application.dataPath))
{
path = "Assets" + path.Substring(Application.dataPath.Length);
}
m_path = path;
m_pathType = MediaPathType.RelativeToProjectFolder;
}
/// <summary>
/// Get the absolute path to the video.</summary>
public override string GetVideoPath()
{
if (!IsPlayerSetup())
{
return "";
}
return m_mediaPlayer.MediaPath.GetResolvedFullPath();
}
public override IEnumerator Load()
{
//start the loading operation
m_mediaPlayer.OpenMedia(new MediaPath(m_path, m_pathType), false);
events.OnClipLoadingStarted();
//while the video is loading you can't play it
while (!m_mediaPlayer.Control.CanPlay())
{
videoLoaded = false;
yield return null;
}
videoLoaded = true;
events.OnClipLoadingFinished();
yield return null;
}
public override void StartVideoLoad()
{
StartCoroutine(Load());
}
public override IEnumerator LoadAndPlay()
{
StartVideoLoad();
while (!videoLoaded)
{
yield return null;
}
Play();
yield return null;
}
public override void Play()
{
if (videoLoaded || m_mediaPlayer.MediaOpened)
{
videoLoaded = true;
m_mediaPlayer.Control.Play();
events.OnClipPlaybackStarted();
}
}
public override void Pause()
{
m_mediaPlayer.Control.Pause();
events.OnClipPlaybackPaused();
}
public override void Stop()
{
if (m_mediaPlayer != null && m_mediaPlayer.Control != null)
m_mediaPlayer.Control.Stop();
events.OnClipPlaybackStopped();
}
public override double GetCurrentTime()
{
return m_mediaPlayer.Control.GetCurrentTime();
}
public override int GetCurrentFrame()
{
if (m_mediaPlayer != null && m_mediaPlayer.TextureProducer != null)
{
return m_mediaPlayer.TextureProducer.GetTextureFrameCount();
}
return -1;
}
public override double GetDuration()
{
return m_mediaPlayer.Info.GetDuration();
}
public override Texture GetTexture()
{
if (m_mediaPlayer != null && m_mediaPlayer.MediaOpened && m_mediaPlayer.TextureProducer != null)
{
Texture2D tex = m_mediaPlayer.TextureProducer.GetTexture() as Texture2D;
if (tex != null)
{
// Avoid crash on android when directly returning the TextureProducer.GetTexture()
if (Application.platform == RuntimePlatform.Android && !disableAndroidTextureCopyWorkAround)
{
if (m_rt == null ||
m_rt.width != tex.width ||
m_rt.height != tex.height)
{
if (m_rt != null)
{
m_rt.Release();
m_rt = null;
}
m_rt = new RenderTexture(tex.width, tex.height, 0);
m_rt.Create();
}
Graphics.Blit(tex, m_rt);
return m_rt;
}
else
{
return tex;
}
}
}
return null;
}
public override bool IsTextureFlipped()
{
if (m_mediaPlayer != null && m_mediaPlayer.TextureProducer != null)
{
return m_mediaPlayer.TextureProducer.RequiresVerticalFlip();
}
return false;
}
public override GammaCorrection GammaCorrectDepth()
{
if (QualitySettings.activeColorSpace == ColorSpace.Linear)
{
if (m_mediaPlayer.Info != null && !m_mediaPlayer.Info.PlayerSupportsLinearColorSpace())
{
return GammaCorrection.None;
}
else
{
return GammaCorrection.LinearToGammaSpace;
}
}
else // ColorSpace.Gamma
{
return GammaCorrection.None;
}
}
public override GammaCorrection GammaCorrectColor()
{
if (QualitySettings.activeColorSpace == ColorSpace.Linear)
{
if (m_mediaPlayer.Info != null && !m_mediaPlayer.Info.PlayerSupportsLinearColorSpace())
{
return GammaCorrection.GammaToLinearSpace;
}
else
{
return GammaCorrection.None;
}
}
else // ColorSpace.Gamma
{
return GammaCorrection.None;
}
}
public override bool IsPlaying()
{
return (!IsPlayerSetup() || !IsPlayerCreated() || m_mediaPlayer.Control == null) ? false : m_mediaPlayer.Control.IsPlaying();
}
public override void RemoveComponents()
{
if (!Application.isPlaying)
{
DestroyImmediate(m_mediaPlayer, true);
DestroyImmediate(this, true);
}
else
{
Destroy(m_mediaPlayer);
Destroy(this);
}
}
public override void OnMetadataUpdated(Depthkit.Metadata metadata) { /* do nothing */}
public override string GetPlayerTypeName()
{
return typeof(Depthkit.AVProVideoPlayer).Name;
}
public new static string GetPlayerPrettyName()
{
return "Video Player (AVPro)";
}
public RenderHeads.Media.AVProVideo.MediaPlayer GetPlayerBackend()
{
return m_mediaPlayer;
}
public override void Seek(float toTimeSeconds)
{
if (m_mediaPlayer == null)
{
return;
}
if (m_mediaPlayer.Control == null)
{
var Init = m_mediaPlayer.GetType().GetMethod("Initialise", BindingFlags.NonPublic | BindingFlags.Instance);
Init?.Invoke(m_mediaPlayer, null);
}
var control = m_mediaPlayer.Control;
if (control == null)
{
return;
}
if (control.IsPlaying())
{
control.Pause(); // Pause since we'll just be seeking.
}
float currentTime = (float)control.GetCurrentTime();
float directorTime = toTimeSeconds;
if (!Mathf.Approximately(currentTime, directorTime))
{
var preSeekFrameCount = m_mediaPlayer.TextureProducer.GetTextureFrameCount();
float preSeekTime = (float)control.GetCurrentTime();
control.Seek(directorTime);
float postSeekTime = (float)control.GetCurrentTime();
if (!Mathf.Approximately(preSeekTime, postSeekTime))
{
control.WaitForNextFrame(GetDummyCamera(), preSeekFrameCount);
}
}
m_mediaPlayer.Player.Update();
}
static Camera _dummyCamera;
private static Camera GetDummyCamera()
{
if (_dummyCamera == null)
{
const string goName = "Video Dummy Camera";
GameObject go = GameObject.Find(goName);
if (go == null)
{
go = new GameObject(goName);
go.hideFlags = HideFlags.HideInHierarchy | HideFlags.DontSave;
go.SetActive(false);
if (Application.isPlaying)
{
DontDestroyOnLoad(go);
}
_dummyCamera = go.AddComponent<Camera>();
_dummyCamera.hideFlags = HideFlags.HideInInspector | HideFlags.DontSave;
_dummyCamera.cullingMask = 0;
_dummyCamera.clearFlags = CameraClearFlags.Nothing;
_dummyCamera.enabled = false;
}
else
{
_dummyCamera = go.GetComponent<Camera>();
}
}
return _dummyCamera;
}
public override uint GetVideoWidth()
{
return m_mediaPlayer != null && m_mediaPlayer.Info != null ? (uint)m_mediaPlayer.Info.GetVideoWidth() : 0;
}
public override uint GetVideoHeight()
{
return m_mediaPlayer != null && m_mediaPlayer.Info != null ? (uint)m_mediaPlayer.Info.GetVideoHeight() : 0;
}
public override bool SupportsPosterFrame()
{
return true;
}
void OnDisable()
{
if (m_rt != null)
{
m_rt.Release();
m_rt = null;
}
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f836f7125ecaa7a40b96bbc592961c04
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: 42c51ff9981f3e24b83cd7ad3c56e235, type: 3}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,17 @@
{
"name": "Depthkit.AVPro",
"rootNamespace": "",
"references": [
"GUID:3ca842002c51d0a43b73e45298809a13",
"GUID:d757665d4a59fe94bab8bd5391e60e3d"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9399828fa2dee0448ab66bbae2c0eb43
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,21 @@
{
"name": "nyc.scatter.depthkit.avpro",
"version": "0.2.1",
"displayName": "Depthkit AVPro Video Player",
"description": "Use the Depthkit AVPro Video Player to playback Depthkit captures as combined-per-pixel videos using the AVPro Video Player from RenderHeads.\n\nNote AVPro Video is a dependency of this package, and is sold separately on the Unity Asset Store and supported by RenderHeads.",
"unity": "2022.3",
"dependencies": {
"nyc.scatter.depthkit.core" : "0.14.2"
},
"samples": [],
"keywords": [
"Depthkit",
"Volumetric",
"Scatter"
],
"author": {
"name": "Scatter",
"email": "support@depthkit.tv",
"url": "https://www.depthkit.tv"
}
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 404e38087f0d5504cb3538ae1c4f5dd7
PackageManifestImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +1,9 @@
Tree("Root") {
Composite(Sequence) {
RunTree("32_Grotto_Kueche_Intro")
RunTree("32_Grotto_Kueche_Zwiebeln_schneiden")
RunTree("32_Grotto_Kueche_alles_gefunden")
//RunTree("32_Grotto_Kueche_Intro")
//RunTree("32_Grotto_Kueche_Zwiebeln_schneiden")
// RunTree("32_Grotto_Kueche_alles_gefunden")
RunTree("32_Grotto_Kueche_Zusammen_Kochen")
}
}
@ -11,46 +12,53 @@ Tree("32_Grotto_Kueche_Intro") {
BTC.Run("AudioSource.AUDIO.Kueche1FIntro")
// Schuerze greifen
// Was passiert mit der Schuerze? Schuerze verstecken
BTC.Run("NamedGrabEvent.INTERACTABLES.Schuerze")
//BTC.GetKeyDown("Return")
BTC.Run("GO/NamedGrabEvent.INTERACTABLES.Schuerze")
BTC.Hide("GO/NamedGrabEvent.INTERACTABLES.Schuerze")
BTC.Run("AudioSource.AUDIO.Kueche2FIntro")
// Rezept vorlesen: Button Klick
BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "Rezept vorlesen")
BTC.Show("GO.HANDMENU.Option1Button")
Composite(Race) {
Composite(Sequence) {
// auf Button klicken
BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
//BTC.GetKeyDown("Return")
}
Composite(Sequence) {
// keine Reaktion
BTC.Wait(5)
// BTC.Run(Audio)
BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
}
}
BTC.Hide("GO.HANDMENU.Option1Button")
BTC.Run("AudioSource.AUDIO.Kueche3FIntro")
// Pilze leuchten
// ...
BTC.Enable("NamedGrabEvent/NamedOutline.INTERACTABLES.Steinpilze")
Composite(Race) {
Composite(Sequence) {
// Pilze ins Wasser Glas legen
// GrabEvent auf Pilz?
BTC.Set("Collider.INTERACTABLES.Wasser", "otherTag", "Steinpilze")
BTC.Run("Collider.INTERACTABLES.Wasser")
//BTC.GetKeyDown("Return")
BTC.Run("NamedGrabEvent/NamedOutline.INTERACTABLES.Steinpilze")
BTC.Set("Collider.INTERACTABLES.GlassWasserTrigger", "otherTag", "Steinpilze")
BTC.Run("Collider.INTERACTABLES.GlassWasserTrigger")
}
Composite(Sequence) {
// Keine Reaction
BTC.Wait(5)
RunTree("32_Grotto_Kueche_Steinpilze_Hilfe")
}
}
}
}
Tree("32_Grotto_Kueche_Steinpilze_Hilfe") {
Composite(Sequence) {
BTC.Run("AudioSource.AUDIO.Kueche1FSteinpilze")
BTC.Set("Collider.INTERACTABLES.Wasser", "otherTag", "Steinpilze")
BTC.Run("Collider.INTERACTABLES.Wasser")
//BTC.GetKeyDown("Return")
// Pilze ins Wasser Glas legen
BTC.Run("NamedGrabEvent/NamedOutline.INTERACTABLES.Steinpilze")
BTC.Set("Collider.INTERACTABLES.GlassWasserTrigger", "otherTag", "Steinpilze")
BTC.Run("Collider.INTERACTABLES.GlassWasserTrigger")
}
}
BTC.Disable("NamedGrabEvent/NamedOutline.INTERACTABLES.Steinpilze")
}
}
@ -58,60 +66,111 @@ Tree("32_Grotto_Kueche_Zwiebeln_schneiden") {
Composite(Sequence) {
BTC.Run("AudioSource.AUDIO.Kueche1FZwiebelnsc")
// Zwiebeln reichen
// Wie reiche ich die Zwiebeln? Auf eine bestimmte stelle am Tisch legen?
BTC.Set("Collider.INTERACTABLES.Arbeitsflaeche", "otherTag", "Zwiebeln")
BTC.Run("Collider.INTERACTABLES.Arbeitsflaeche")
//BTC.GetKeyDown("Return")
// Zwiebeln schneiden
// ...
BTC.Run("AudioSource.AUDIO.Kueche2FZwiebelnsc")
// Zutaten leuchten
// ...
// Zutaten auf die Arbeitsflaeche legen
RunTree("32_Grotto_Kueche_Zwiebeln_schneiden_Zutaten_suchen")
// Keine Reaction
//BTC.Wait(10)
//BTC.Run("AudioSource.AUDIO.Kueche1FkeineReakt")
}
}
Tree("32_Grotto_Kueche_Zwiebeln_schneiden_Zutaten_suchen") {
Composite(Marathon) {
BTC.Enable("NamedGrabEvent/NamedOutline.INTERACTABLES.Bouillon")
BTC.Show("GO/NamedSocketEvent.SOCKETS.BouillonSocket")
BTC.Enable("NamedGrabEvent/NamedOutline.INTERACTABLES.Weisswein")
BTC.Show("GO/NamedSocketEvent.SOCKETS.WeissweinSocket")
BTC.Enable("GO/NamedGrabEvent/NamedOutline.INTERACTABLES.Risotto")
BTC.Show("GO/NamedSocketEvent.SOCKETS.RisottoSocket")
BTC.Enable("NamedGrabEvent/NamedOutline.INTERACTABLES.Olivenoel")
BTC.Show("GO/NamedSocketEvent.SOCKETS.OlivenoelSocket")
BTC.Enable("NamedGrabEvent/NamedOutline.INTERACTABLES.Pfeffer")
BTC.Show("GO/NamedSocketEvent.SOCKETS.PfefferSocket")
BTC.Enable("NamedGrabEvent/NamedOutline.INTERACTABLES.Salz")
BTC.Show("GO/NamedSocketEvent.SOCKETS.SalzSocket")
}
// Zutaten auf die Arbeitsflaeche legen mithilfe Sockets
Composite(Marathon) {
Decorator (RepeatUntilFailed) {
Decorator(Inverter) {
Composite(Sequence) {
BTC.Run("NamedGrabEvent.INTERACTABLES.Risotto")
BTC.Set("Collider.INTERACTABLES.Arbeitsflaeche", "otherTag", "Risotto")
BTC.Run("Collider.INTERACTABLES.Arbeitsflaeche")
BTC.Run("GO/NamedGrabEvent/NamedOutline.INTERACTABLES.Risotto")
//BTC.GetKeyDown("Return")
Composite(Race) {
Composite(Sequence) {
// Success
BTC.Run("GO/NamedSocketEvent.SOCKETS.RisottoSocket")
BTC.Disable("GO/NamedGrabEvent/NamedOutline.INTERACTABLES.Risotto")
BTC.SetBool("IsSnapped")
}
Composite(Sequence) {
BTC.Run("NamedGrabEvent.INTERACTABLES.Salz")
BTC.Set("Collider.INTERACTABLES.Arbeitsflaeche", "otherTag", "Salz")
BTC.Run("Collider.INTERACTABLES.Arbeitsflaeche")
// Fail
BTC.Run("GO/NamedGrabEvent/NamedOutline.INTERACTABLES.Risotto")
Composite(Marathon) {
BTC.Run("AudioSource.AUDIO.Kueche2FZwiebelnsc")
// Objekt geht zurueck
BTC.SetPosition("GO/NamedGrabEvent/NamedOutline.INTERACTABLES.Risotto", -6.733, 1.362, -18.908)
}
BTC.SetBool("IsSnapped", false)
}
}
BTC.CompareBool("IsSnapped")
} // Sequence
}
} // Repeat
Composite(Sequence) {
BTC.Run("NamedGrabEvent/NamedOutline.INTERACTABLES.Salz")
BTC.Disable("NamedGrabEvent/NamedOutline.INTERACTABLES.Salz")
BTC.Run("GO/NamedSocketEvent.SOCKETS.SalzSocket")
}
Composite(Sequence) {
BTC.Run("NamedGrabEvent.INTERACTABLES.Pfeffer")
BTC.Set("Collider.INTERACTABLES.Arbeitsflaeche", "otherTag", "Pfeffer")
BTC.Run("Collider.INTERACTABLES.Arbeitsflaeche")
BTC.Run("NamedGrabEvent/NamedOutline.INTERACTABLES.Pfeffer")
BTC.Disable("NamedGrabEvent/NamedOutline.INTERACTABLES.Pfeffer")
BTC.Run("GO/NamedSocketEvent.SOCKETS.PfefferSocket")
}
Composite(Sequence) {
BTC.Run("NamedGrabEvent.INTERACTABLES.Weisswein")
BTC.Set("Collider.INTERACTABLES.Arbeitsflaeche", "otherTag", "Weisswein")
BTC.Run("Collider.INTERACTABLES.Arbeitsflaeche")
BTC.Run("NamedGrabEvent/NamedOutline.INTERACTABLES.Weisswein")
BTC.Disable("NamedGrabEvent/NamedOutline.INTERACTABLES.Weisswein")
BTC.Run("GO/NamedSocketEvent.SOCKETS.WeissweinSocket")
}
Composite(Sequence) {
BTC.Run("NamedGrabEvent.INTERACTABLES.Bouillon")
BTC.Set("Collider.INTERACTABLES.Arbeitsflaeche", "otherTag", "Bouillon")
BTC.Run("Collider.INTERACTABLES.Arbeitsflaeche")
BTC.Run("NamedGrabEvent/NamedOutline.INTERACTABLES.Bouillon")
BTC.Disable("NamedGrabEvent/NamedOutline.INTERACTABLES.Bouillon")
BTC.Run("GO/NamedSocketEvent.SOCKETS.BouillonSocket")
}
Composite(Sequence) {
BTC.Run("NamedGrabEvent.INTERACTABLES.Olivenoel")
BTC.Set("Collider.INTERACTABLES.Arbeitsflaeche", "otherTag", "Olivenoel")
BTC.Run("Collider.INTERACTABLES.Arbeitsflaeche")
BTC.Run("NamedGrabEvent/NamedOutline.INTERACTABLES.Olivenoel")
BTC.Disable("NamedGrabEvent/NamedOutline.INTERACTABLES.Olivenoel")
BTC.Run("GO/NamedSocketEvent.SOCKETS.OlivenoelSocket")
}
}
BTC.Wait(1)
Composite(Marathon) {
BTC.Hide("GO/NamedSocketEvent.SOCKETS.OlivenoelSocket")
BTC.Hide("GO/NamedSocketEvent.SOCKETS.BouillonSocket")
BTC.Hide("GO/NamedSocketEvent.SOCKETS.WeissweinSocket")
BTC.Hide("GO/NamedSocketEvent.SOCKETS.PfefferSocket")
BTC.Hide("GO/NamedSocketEvent.SOCKETS.SalzSocket")
BTC.Hide("GO/NamedSocketEvent.SOCKETS.RisottoSocket")
}
}
}
Tree("32_Grotto_Kueche_alles_gefunden") {
Composite(Sequence) {
BTC.Run("AudioSource.AUDIO.Kueche2Fallesgefun") // Audio fehlt
@ -121,8 +180,8 @@ Tree("32_Grotto_Kueche_alles_gefunden") {
// Zwiebeln in Topf geben
BTC.Run("NamedGrabEvent.INTERACTABLES.Zwiebeln")
BTC.Set("Collider.STATIC.Pfanne004", "otherTag", "Zwiebeln")
BTC.Run("Collider.STATIC.Pfanne004")
BTC.Set("Collider.INTERACTABLES.Topf", "otherTag", "Zwiebeln")
BTC.Run("Collider.INTERACTABLES.Topf")
BTC.Run("AudioSource.AUDIO.Kueche3Fallesgefun")
// Frage beantworten
@ -215,16 +274,111 @@ Tree("32_Grotto_Kueche_Kochen_Anzahl") {
Tree("32_Grotto_Kueche_Zusammen_Kochen") {
Composite(Sequence) {
BTC.GetKeyDown("Return")
BTC.Run("AudioSource.AUDIO.Kueche1FZusammenKo")
// Risotto in Topf geben
BTC.Run("GO/NamedGrabEvent/NamedOutline.INTERACTABLES.Risotto")
BTC.Set("Collider.INTERACTABLES.Topf", "otherTag", "Risotto")
BTC.Run("Collider.INTERACTABLES.Topf")
// Ruehren
BTC.Run("NamedGrabEvent.INTERACTABLES.Loeffel")
BTC.Set("Collider.INTERACTABLES.Topf", "otherTag", "Loeffel")
BTC.Run("Collider.INTERACTABLES.Topf")
// Wie lange ruehren?
BTC.Wait(2)
BTC.Run("AudioSource.AUDIO.Kueche2FZusammenKo")
// Wein leuchtet
BTC.Enable("NamedGrabEvent/NamedOutline.INTERACTABLES.Weisswein")
// Wein greifen
BTC.Run("NamedGrabEvent/NamedOutline.INTERACTABLES.Weisswein")
BTC.Disable("NamedGrabEvent/NamedOutline.INTERACTABLES.Weisswein")
// Wein in Topf giessen
// ...
BTC.Run("AudioSource.AUDIO.Kueche3FZusammenKo")
// Bouillon leuchtet
BTC.Enable("NamedGrabEvent/NamedOutline.INTERACTABLES.Bouillon")
// Bouillon greifen
BTC.Run("NamedGrabEvent/NamedOutline.INTERACTABLES.Bouillon")
BTC.Disable("NamedGrabEvent/NamedOutline.INTERACTABLES.Bouillon")
// Bouillon in Topf geben
// ...
BTC.Run("AudioSource.AUDIO.Kueche4FZusammenKo")
// Glas Wasser mit Steinpilze in Topf geben
BTC.Run("NamedGrabEvent/NamedOutline.INTERACTABLES.Steinpilze")
BTC.Set("Collider.INTERACTABLES.Topf", "otherTag", "Steinpilze")
BTC.Run("Collider.INTERACTABLES.Topf")
RunTree("32_Grotto_Kueche_Parmigiano")
}
}
Tree("32_Grotto_Kueche_Selbststaendig_Kochen") {
Composite(Sequence) {
BTC.GetKeyDown("Return")
BTC.Run("AudioSource.AUDIO.Kueche1FSelbststae")
// Selbstaendig kochen...
// ...
RunTree("32_Grotto_Kueche_Parmigiano")
}
}
Tree("32_Grotto_Kueche_Parmigiano") {
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
// Antwort User
BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "Ja")
BTC.Show("GO.HANDMENU.Option1Button")
Composite(Race) {
BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
BTC.Wait(5)
}
BTC.Hide("GO.HANDMENU.Option1Button")
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")
// --- Outro ---
BTC.Run("AudioSource.AUDIO.Kueche1GOutro")
BTC.Run("AudioSource.AUDIO.Kueche2GOutro")
// Name sagen
BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "Mein Name ist User.")
BTC.Show("GO.HANDMENU.Option1Button")
Composite(Race) {
BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
BTC.Wait(5)
}
BTC.Hide("GO.HANDMENU.Option1Button")
BTC.Run("AudioSource.AUDIO.Kueche3GOutro")
}
}
Tree("32_Grotto_Kueche_Hide") {
Composite(Sequence) {
@ -234,3 +388,4 @@ Tree("32_Grotto_Kueche_Hide") {
}
}

View File

@ -0,0 +1,146 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-5913085340061733947
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SocketTransparentMat
m_Shader: {fileID: 4800000, guid: 8d2bb70cbf9db8d4da26e15b26e74248, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ALPHAPREMULTIPLY_ON
- _RECEIVE_SHADOWS_OFF
- _SURFACE_TYPE_TRANSPARENT
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- DepthOnly
- SHADOWCASTER
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _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}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BlendOp: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.594
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 10
- _DstBlendAlpha: 10
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossinessSource: 0
- _GlossyReflections: 0
- _Metallic: 0
- _Mode: 3
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 0
- _SampleGI: 0
- _Shininess: 0
- _Smoothness: 0.5
- _SmoothnessSource: 0
- _SmoothnessTextureChannel: 0
- _SpecSource: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 1
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 0
m_Colors:
- _BaseColor: {r: 0.5188679, g: 0.4919455, b: 0.4919455, a: 0}
- _Color: {r: 0.51886785, g: 0.49194545, b: 0.49194545, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f6dc75ad58e34453eb50f8df8c8b5486
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 0d39ca0e3a0634cc5bc7ff014d49440c
guid: e140d538231bf44729512ec6061a0d0d
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 433bbbc5ea1c6494a94b3e58cf9ec9d5
guid: c49bec61413ab4eb3bef15520de642b8
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5a2feeb9d6da542879361ad2cc5e5d91
guid: cd6f87def808f49b3a441810b508f66a
TextureImporter:
internalIDToNameTable: []
externalObjects: {}

View File

@ -0,0 +1,275 @@
{
"_versionMajor": 0,
"_versionMinor": 5,
"boundsCenter": {
"x": -0.40000003576278687,
"y": -1.0,
"z": -0.2999999523162842
},
"boundsSize": {
"x": 1.600000023841858,
"y": 2.0,
"z": 1.5999999046325684
},
"defaultReconstructionSettings": {
"depthBiasAdjustment": 0.0,
"edgeMaskBlurAmount": 0.009999999776482582,
"edgeMaskSobelMultiplier": 10.0,
"surfaceNormalColorBlendPower": 2.000999927520752,
"viewDependentColorBlendPower": 0.0010000000474974513
},
"format": "perpixel",
"numAngles": 6,
"numColumns": 3,
"numRows": 2,
"perspectives": [
{
"clipEpsilon": 0.002312717027962208,
"crop": {
"w": 0.9564012289047241,
"x": 0.13061988353729248,
"y": 0.04359881207346916,
"z": 0.8693801164627075
},
"depthFocalLength": {
"x": 1500.3175048828125,
"y": 1499.0972900390625
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1275.4683837890625,
"y": 718.2286987304688
},
"extrinsics": {
"e00": -0.32180747389793396,
"e01": 0.0007329394575208426,
"e02": 0.9468048214912415,
"e03": 1.619429588317871,
"e10": -0.9467655420303345,
"e11": 0.008894646540284157,
"e12": -0.32180100679397583,
"e13": -1.4947996139526367,
"e20": -0.008657354861497879,
"e21": -0.99996018409729,
"e22": -0.002168441889807582,
"e23": 0.07123926281929016,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 3.151407480239868,
"nearClip": 0.9894483089447021
},
{
"clipEpsilon": 0.0018278819043189287,
"crop": {
"w": 1.0,
"x": 0.03410596773028374,
"y": 0.0,
"z": 0.7058027982711792
},
"depthFocalLength": {
"x": 1505.5750732421875,
"y": 1504.5609130859375
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1280.892578125,
"y": 728.7554321289063
},
"extrinsics": {
"e00": 0.6473193764686584,
"e01": 0.19083306193351746,
"e02": -0.7379433512687683,
"e03": -1.8117287158966064,
"e10": 0.04852348566055298,
"e11": 0.9558703899383545,
"e12": 0.2897537648677826,
"e13": -0.4360555410385132,
"e20": 0.7606728076934814,
"e21": -0.22337080538272858,
"e22": 0.6094935536384583,
"e23": 1.3320561647415161,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 3.5676116943359375,
"nearClip": 0.8322051763534546
},
{
"clipEpsilon": 0.0019183270633220673,
"crop": {
"w": 1.0,
"x": 0.0,
"y": 0.0,
"z": 1.0
},
"depthFocalLength": {
"x": 1498.4473876953125,
"y": 1497.11083984375
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1265.181884765625,
"y": 722.2222290039063
},
"extrinsics": {
"e00": 0.07454666495323181,
"e01": 0.9283208250999451,
"e02": -0.364229679107666,
"e03": -1.0427669286727905,
"e10": -0.9500028491020203,
"e11": -0.04494527727365494,
"e12": -0.30898958444595337,
"e13": -1.3992159366607666,
"e20": -0.30321186780929565,
"e21": 0.36905336380004883,
"e22": 0.8785568475723267,
"e23": 1.3279074430465698,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 3.0908966064453125,
"nearClip": 0.48445895314216614
},
{
"clipEpsilon": 0.00203624926507473,
"crop": {
"w": 1.0,
"x": 0.0,
"y": 0.0,
"z": 1.0
},
"depthFocalLength": {
"x": 1500.8951416015625,
"y": 1500.4202880859375
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1285.6243896484375,
"y": 726.32373046875
},
"extrinsics": {
"e00": -0.17494119703769684,
"e01": -0.4072752594947815,
"e02": -0.8963941335678101,
"e03": -2.031996965408325,
"e10": 0.9817010164260864,
"e11": -0.002594058169052005,
"e12": -0.19041116535663605,
"e13": -1.4524781703948975,
"e20": 0.07522445917129517,
"e21": -0.9133017659187317,
"e22": 0.4002763330936432,
"e23": 0.14448893070220947,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 2.95473575592041,
"nearClip": 0.49924084544181824
},
{
"clipEpsilon": 0.0019126877887174487,
"crop": {
"w": 1.0,
"x": 0.07671022415161133,
"y": 0.0,
"z": 0.5977309942245483
},
"depthFocalLength": {
"x": 1496.1097412109375,
"y": 1495.4033203125
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1274.7603759765625,
"y": 723.102294921875
},
"extrinsics": {
"e00": 0.7368024587631226,
"e01": -0.10684210807085037,
"e02": 0.6676127910614014,
"e03": 1.5086183547973633,
"e10": -0.03835581988096237,
"e11": 0.9792395234107971,
"e12": 0.19904454052448273,
"e13": -0.4446754455566406,
"e20": -0.6750192046165466,
"e21": -0.17226335406303406,
"e22": 0.7174081206321716,
"e23": 1.148557186126709,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 3.731019973754883,
"nearClip": 1.116897463798523
},
{
"clipEpsilon": 0.001989133656024933,
"crop": {
"w": 0.9230896234512329,
"x": 0.0,
"y": 0.07691039890050888,
"z": 1.0
},
"depthFocalLength": {
"x": 1495.0631103515625,
"y": 1494.4176025390625
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1267.37890625,
"y": 736.1304321289063
},
"extrinsics": {
"e00": 0.18193583190441132,
"e01": -0.9022316336631775,
"e02": 0.39099544286727905,
"e03": 0.6211448907852173,
"e10": 0.9682206511497498,
"e11": 0.09497898072004318,
"e12": -0.23136073350906372,
"e13": -1.3657952547073364,
"e20": 0.17160463333129883,
"e21": 0.42066267132759094,
"e22": 0.8908393383026123,
"e23": 1.283046007156372,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 3.1509616374969482,
"nearClip": 0.6373046636581421
}
],
"textureHeight": 4096,
"textureWidth": 4092
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: ce2d6d7d394e147518bcf4b8f2e80b93
guid: 4d549dc5174254a2fb09b62089c972ad
TextScriptImporter:
externalObjects: {}
userData:

View File

@ -1,18 +0,0 @@
fileFormatVersion: 2
guid: 268a239ef80834dcf8c3b27cdf03abf9
VideoClipImporter:
externalObjects: {}
serializedVersion: 2
frameRange: 0
startFrame: -1
endFrame: -1
colorSpace: 0
deinterlace: 0
encodeAlpha: 0
flipVertical: 0
flipHorizontal: 0
importAudio: 1
targetSettings: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB

View File

@ -1,275 +0,0 @@
{
"_versionMajor": 0,
"_versionMinor": 5,
"boundsCenter": {
"x": 0.0,
"y": -1.0,
"z": 0.0
},
"boundsSize": {
"x": 1.0,
"y": 2.0,
"z": 1.0
},
"defaultReconstructionSettings": {
"depthBiasAdjustment": 0.0,
"edgeMaskBlurAmount": 0.009999999776482582,
"edgeMaskSobelMultiplier": 10.0,
"surfaceNormalColorBlendPower": 2.0,
"viewDependentColorBlendPower": 0.0010000000474974513
},
"format": "perpixel",
"numAngles": 6,
"numColumns": 3,
"numRows": 2,
"perspectives": [
{
"clipEpsilon": 0.0036257191095501184,
"crop": {
"w": 0.9583691358566284,
"x": 0.0,
"y": 0.04163086414337158,
"z": 0.8483789563179016
},
"depthFocalLength": {
"x": 1500.3175048828125,
"y": 1499.0972900390625
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1275.4683837890625,
"y": 718.2286987304688
},
"extrinsics": {
"e00": -0.02792988158762455,
"e01": 0.28931593894958496,
"e02": -0.9568260908126831,
"e03": -1.7454001903533936,
"e10": -0.9881865382194519,
"e11": 0.13630491495132446,
"e12": 0.0700598657131195,
"e13": -1.2200618982315063,
"e20": 0.1506895273923874,
"e21": 0.9474794268608093,
"e22": 0.2820911109447479,
"e23": 0.472872257232666,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 2.4775383472442627,
"nearClip": 1.0985015630722046
},
{
"clipEpsilon": 0.0020958036184310913,
"crop": {
"w": 0.9860617518424988,
"x": 0.0,
"y": 0.0,
"z": 0.8655837774276733
},
"depthFocalLength": {
"x": 1505.5750732421875,
"y": 1504.5609130859375
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1280.892578125,
"y": 728.7554321289063
},
"extrinsics": {
"e00": 0.9806053638458252,
"e01": -0.03312395140528679,
"e02": -0.19317342340946198,
"e03": 0.012072339653968811,
"e10": -0.1616521179676056,
"e11": 0.4206206500530243,
"e12": -0.8927187919616699,
"e13": -2.5450408458709717,
"e20": 0.11082310229539871,
"e21": 0.9066317081451416,
"e22": 0.40710827708244324,
"e23": 0.5815377235412598,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 2.80656361579895,
"nearClip": 0.42084410786628723
},
{
"clipEpsilon": 0.002334830118343234,
"crop": {
"w": 0.8994048833847046,
"x": 0.1711658239364624,
"y": 0.0,
"z": 0.5544185638427734
},
"depthFocalLength": {
"x": 1498.4473876953125,
"y": 1497.11083984375
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1265.181884765625,
"y": 722.2222290039063
},
"extrinsics": {
"e00": 0.9874048829078674,
"e01": -0.14426489174365997,
"e02": -0.06495561450719833,
"e03": -0.09699346125125885,
"e10": 0.06451490521430969,
"e11": 0.7420088052749634,
"e12": -0.6672785878181458,
"e13": -2.207484006881714,
"e20": 0.14446251094341278,
"e21": 0.654683530330658,
"e22": 0.7419703602790833,
"e23": 1.717136263847351,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 3.156834602355957,
"nearClip": 1.015351414680481
},
{
"clipEpsilon": 0.004574344959110022,
"crop": {
"w": 0.6242855787277222,
"x": 0.14762921631336212,
"y": 0.3757144510746002,
"z": 0.8465307354927063
},
"depthFocalLength": {
"x": 1500.8951416015625,
"y": 1500.4202880859375
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1285.6243896484375,
"y": 726.32373046875
},
"extrinsics": {
"e00": -0.022001605480909348,
"e01": -0.048741407692432404,
"e02": 0.9985690712928772,
"e03": 1.930398941040039,
"e10": 0.9994720816612244,
"e11": 0.022810915485024452,
"e12": 0.023134930059313774,
"e13": -1.1329501867294312,
"e20": -0.023905903100967407,
"e21": 0.9985508918762207,
"e22": 0.04821380227804184,
"e23": -0.26948004961013794,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 2.458094358444214,
"nearClip": 1.365041732788086
},
{
"clipEpsilon": 0.002460331190377474,
"crop": {
"w": 1.0,
"x": 0.0,
"y": 0.0,
"z": 1.0
},
"depthFocalLength": {
"x": 1496.1097412109375,
"y": 1495.4033203125
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1274.7603759765625,
"y": 723.102294921875
},
"extrinsics": {
"e00": -0.9889599084854126,
"e01": 0.06957120448350906,
"e02": 0.13083656132221222,
"e03": -0.22282758355140686,
"e10": 0.0578983798623085,
"e11": -0.6313350200653076,
"e12": 0.7733458876609802,
"e13": -0.5165885090827942,
"e20": 0.13640430569648743,
"e21": 0.7723832726478577,
"e22": 0.6203369498252869,
"e23": 1.2551623582839966,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 2.2722465991973877,
"nearClip": 0.23999999463558197
},
{
"clipEpsilon": 0.0031662536785006523,
"crop": {
"w": 1.0,
"x": 0.0,
"y": 0.0,
"z": 1.0
},
"depthFocalLength": {
"x": 1495.0631103515625,
"y": 1494.4176025390625
},
"depthImageSize": {
"x": 2560.0,
"y": 1440.0
},
"depthPrincipalPoint": {
"x": 1267.37890625,
"y": 736.1304321289063
},
"extrinsics": {
"e00": 0.08565513789653778,
"e01": 0.9662866592407227,
"e02": 0.24280300736427307,
"e03": 0.10201678425073624,
"e10": -0.9804809093475342,
"e11": 0.03846389055252075,
"e12": 0.1928151249885559,
"e13": -1.1943856477737427,
"e20": 0.1769755333662033,
"e21": -0.2545793056488037,
"e22": 0.9507202506065369,
"e23": 1.273671269416809,
"e30": 0.0,
"e31": 0.0,
"e32": 0.0,
"e33": 1.0
},
"farClip": 1.9877712726593018,
"nearClip": 0.4086180031299591
}
],
"textureHeight": 4096,
"textureWidth": 4092
}

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:

Some files were not shown because too many files have changed in this diff Show More