clean project
This commit is contained in:
39
Assets/Oculus/SampleFramework/Editor/BuildAssetPackages.cs
Normal file
39
Assets/Oculus/SampleFramework/Editor/BuildAssetPackages.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
public class BuildAssetPackages
|
||||
{
|
||||
enum BuildConfiguration
|
||||
{
|
||||
Windows,
|
||||
Android
|
||||
}
|
||||
|
||||
public static void Build()
|
||||
{
|
||||
Debug.Log("Building Deliverables");
|
||||
ExportPackages();
|
||||
}
|
||||
|
||||
public static void ExportPackages()
|
||||
{
|
||||
string[] assets = AssetDatabase.FindAssets("t:Object", null).Select(s=>AssetDatabase.GUIDToAssetPath(s)).ToArray();
|
||||
assets = assets.Where(s=>
|
||||
s.StartsWith("Assets/Oculus/Avatar/") ||
|
||||
s.StartsWith("Assets/Oculus/AudioManager/") ||
|
||||
s.StartsWith("Assets/Oculus/LipSync/") ||
|
||||
s.StartsWith("Assets/Oculus/Platform/") ||
|
||||
s.StartsWith("Assets/Oculus/Spatializer/") ||
|
||||
s.StartsWith("Assets/Oculus/Voice/") ||
|
||||
s.StartsWith("Assets/Oculus/Interaction/") ||
|
||||
s.StartsWith("Assets/Oculus/VoiceMod/") ||
|
||||
s.StartsWith("Assets/Oculus/VR/") ||
|
||||
s.StartsWith("Assets/Oculus/SampleFramework/")
|
||||
).ToArray();
|
||||
AssetDatabase.ExportPackage(assets, "OculusIntegration.unitypackage");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 894efc8fc3b667045b3051a35605dac6
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
167
Assets/Oculus/SampleFramework/Editor/BuildSamples.cs
Normal file
167
Assets/Oculus/SampleFramework/Editor/BuildSamples.cs
Normal file
@@ -0,0 +1,167 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEditor;
|
||||
using UnityEditor.Build.Reporting;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
|
||||
//-------------------------------------------------------------------------------------
|
||||
// ***** OculusBuildSamples
|
||||
//
|
||||
// Provides scripts to build SamplesFramework scene APKs.
|
||||
//
|
||||
partial class OculusBuildSamples
|
||||
{
|
||||
private static TimeSpan? minThreshold = TimeSpan.FromSeconds(1);
|
||||
|
||||
static void ImportSamplesFramework() {
|
||||
AssetDatabase.ImportPackage("OculusIntegration-release.unitypackage", false);
|
||||
}
|
||||
|
||||
static void BuildLocomotion() {
|
||||
InitializeBuild("com.oculus.unitysample.locomotion");
|
||||
Build("Locomotion");
|
||||
}
|
||||
|
||||
static void BuildDistanceGrab() {
|
||||
InitializeBuild("com.oculus.unitysample.distancegrab");
|
||||
Build("DistanceGrab");
|
||||
}
|
||||
|
||||
static void BuildDebugUI() {
|
||||
InitializeBuild("com.oculus.unitysample.debugui");
|
||||
Build("DebugUI");
|
||||
}
|
||||
|
||||
// Note this APK isn't fully functional without some additional
|
||||
// build steps listed here:
|
||||
// ovrsource/Software/Samples/Unity/SampleFramework/Assets/Oculus/SampleFramework/Usage/Firebase/README.md
|
||||
//
|
||||
// Here we are only building the smaller (incomplete) build. It's
|
||||
// not perfect but it's better than nothing.
|
||||
static void BuildFirebase() {
|
||||
InitializeBuild("com.oculus.unitysample.firebase");
|
||||
Build("Firebase");
|
||||
}
|
||||
|
||||
static void BuildHandsInteractionTrain() {
|
||||
InitializeBuild("com.oculus.unitysample.handsinteractiontrain");
|
||||
Build("HandsInteractionTrainScene");
|
||||
}
|
||||
|
||||
static void BuildMixedRealityCapture() {
|
||||
InitializeBuild("com.oculus.unitysample.mixedrealitycapture");
|
||||
Build("MixedRealityCapture");
|
||||
}
|
||||
|
||||
static void BuildOVROverlay() {
|
||||
InitializeBuild("com.oculus.unitysample.ovroverlay");
|
||||
Build("OVROverlay");
|
||||
}
|
||||
|
||||
static void BuildOVROverlayCanvas() {
|
||||
InitializeBuild("com.oculus.unitysample.ovroverlaycanvas");
|
||||
Build("OVROverlayCanvas");
|
||||
}
|
||||
|
||||
static void BuildStereo180Video() {
|
||||
AndroidVideoEditorUtil.EnableNativeVideoPlayer();
|
||||
InitializeBuild("com.oculus.unitysample.stereo180video");
|
||||
Build("Stereo180Video");
|
||||
AndroidVideoEditorUtil.DisableNativeVideoPlayer();
|
||||
}
|
||||
|
||||
// TODO(radtker): Add additional build steps for proper functionality.
|
||||
static void BuildWidevineVideo() {
|
||||
AndroidVideoEditorUtil.EnableNativeVideoPlayer();
|
||||
InitializeBuild("com.oculus.unitysample.widevinevideo");
|
||||
Build("WidevineVideo");
|
||||
AndroidVideoEditorUtil.DisableNativeVideoPlayer();
|
||||
}
|
||||
|
||||
// reach out to panya or brittahummel for issues regarding passthrough
|
||||
static void BuildPassthrough() {
|
||||
InitializeBuild("com.oculus.unitysample.passthrough");
|
||||
// TODO: enable OpenXR so Passthrough works
|
||||
Build("Passthrough");
|
||||
}
|
||||
|
||||
//Reach out to Irad Ratamasky(iradicator) or Rohit Rao (rohitrao) for issues related to enchanced compositor
|
||||
static void BuildEnhancedOVROverlay() {
|
||||
InitializeBuild("com.oculus.samples_2DPanel");
|
||||
AddSplashScreen("/Assets/Oculus/SampleFramework/Core/OculusInternal/EnhancedOVROverlay/Textures/SplashScreen/STADIUM_White-01.png");
|
||||
SetAppDetails("Oculus","2DPanel");
|
||||
BuildInternal("EnhancedOVROverlay"); //Scene is presnet in OculusInternal folder.
|
||||
}
|
||||
|
||||
static void BuildStartScene() {
|
||||
InitializeBuild("com.oculus.unitysample.startscene");
|
||||
Build(
|
||||
"StartScene.apk",
|
||||
new string[]{
|
||||
"Assets/Oculus/SampleFramework/Usage/StartScene.unity",
|
||||
"Assets/Oculus/SampleFramework/Usage/Locomotion.unity",
|
||||
"Assets/Oculus/SampleFramework/Usage/DistanceGrab.unity",
|
||||
"Assets/Oculus/SampleFramework/Usage/DebugUI.unity",
|
||||
"Assets/Oculus/SampleFramework/Usage/HandsInteractionTrainScene.unity",
|
||||
"Assets/Oculus/SampleFramework/Usage/MixedRealityCapture.unity",
|
||||
"Assets/Oculus/SampleFramework/Usage/OVROverlay.unity",
|
||||
"Assets/Oculus/SampleFramework/Usage/OVROverlayCanvas.unity",
|
||||
"Assets/Oculus/SampleFramework/Usage/Passthrough.unity",
|
||||
});
|
||||
}
|
||||
|
||||
private static void InitializeBuild(string identifier) {
|
||||
PlayerSettings.stereoRenderingPath = StereoRenderingPath.SinglePass;
|
||||
GraphicsDeviceType[] graphicsApis = new GraphicsDeviceType[1];
|
||||
graphicsApis[0] = GraphicsDeviceType.OpenGLES3;
|
||||
PlayerSettings.SetGraphicsAPIs(BuildTarget.Android, graphicsApis);
|
||||
PlayerSettings.colorSpace = ColorSpace.Linear;
|
||||
//Set ARM64 Requirements
|
||||
PlayerSettings.SetScriptingBackend (BuildTargetGroup.Android, ScriptingImplementation.IL2CPP);
|
||||
PlayerSettings.SetArchitecture (BuildTargetGroup.Android, 1); //0 - None, 1 - ARM64, 2 - Universal
|
||||
PlayerSettings.Android.targetArchitectures = AndroidArchitecture.ARM64;
|
||||
EditorUserBuildSettings.androidBuildSystem = AndroidBuildSystem.Gradle;
|
||||
QualitySettings.antiAliasing = 4;
|
||||
PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, identifier);
|
||||
}
|
||||
|
||||
private static void Build(string sceneName) {
|
||||
Build(sceneName + ".apk", new string[] {"Assets/Oculus/SampleFramework/Usage/" + sceneName + ".unity"});
|
||||
}
|
||||
|
||||
private static void BuildInternal(string sceneName) {
|
||||
Build(sceneName + ".apk", new string[] {"Assets/Oculus/SampleFramework/Usage/OculusInternal/" + sceneName + ".unity"});
|
||||
}
|
||||
|
||||
private static void Build(string apkName, string[] scenes) {
|
||||
BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
|
||||
buildPlayerOptions.target = BuildTarget.Android;
|
||||
buildPlayerOptions.locationPathName = apkName;
|
||||
buildPlayerOptions.scenes = scenes;
|
||||
BuildReport buildReport = BuildPipeline.BuildPlayer(buildPlayerOptions);
|
||||
}
|
||||
|
||||
private static void AddSplashScreen(string path){
|
||||
Texture2D companyLogo = Resources.Load<Texture2D>(path);
|
||||
PlayerSettings.virtualRealitySplashScreen = companyLogo;
|
||||
|
||||
var logos = new PlayerSettings.SplashScreenLogo[2];
|
||||
|
||||
// Company logo
|
||||
Sprite companyLogoSprite = (Sprite)AssetDatabase.LoadAssetAtPath(path, typeof(Sprite));
|
||||
logos[0] = PlayerSettings.SplashScreenLogo.Create(2.5f, companyLogoSprite);
|
||||
|
||||
// Set the Unity logo to be drawn after the company logo.
|
||||
logos[1] = PlayerSettings.SplashScreenLogo.CreateWithUnityLogo();
|
||||
|
||||
PlayerSettings.SplashScreen.logos = logos;
|
||||
}
|
||||
|
||||
private static void SetAppDetails(string companyName,string productName){
|
||||
PlayerSettings.companyName = companyName;
|
||||
PlayerSettings.productName = productName;
|
||||
}
|
||||
}
|
||||
11
Assets/Oculus/SampleFramework/Editor/BuildSamples.cs.meta
Normal file
11
Assets/Oculus/SampleFramework/Editor/BuildSamples.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ee0c62bdb80c20346b6cb19162b7bb3e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,49 @@
|
||||
/************************************************************************************
|
||||
Copyright : Copyright (c) Facebook Technologies, LLC and its affiliates. All rights reserved.
|
||||
|
||||
Licensed under the Oculus Utilities SDK License Version 1.31 (the "License"); you may not use
|
||||
the Utilities 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
|
||||
https://developer.oculus.com/licenses/utilities-1.31
|
||||
|
||||
Unless required by applicable law or agreed to in writing, the Utilities 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.
|
||||
************************************************************************************/
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
|
||||
[InitializeOnLoadAttribute]
|
||||
public class OculusSampleFrameworkUtil
|
||||
{
|
||||
static OculusSampleFrameworkUtil()
|
||||
{
|
||||
#if UNITY_2017_2_OR_NEWER
|
||||
EditorApplication.playModeStateChanged += HandlePlayModeState;
|
||||
#else
|
||||
EditorApplication.playmodeStateChanged += () =>
|
||||
{
|
||||
if (EditorApplication.isPlaying)
|
||||
{
|
||||
OVRPlugin.SendEvent("load", OVRPlugin.wrapperVersion.ToString(), "sample_framework");
|
||||
}
|
||||
};
|
||||
#endif
|
||||
}
|
||||
|
||||
#if UNITY_2017_2_OR_NEWER
|
||||
private static void HandlePlayModeState(PlayModeStateChange state)
|
||||
{
|
||||
if (state == PlayModeStateChange.EnteredPlayMode)
|
||||
{
|
||||
OVRPlugin.SendEvent("load", OVRPlugin.wrapperVersion.ToString(), "sample_framework");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 53c0844bfe5a33c41bc2ff02db18960e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user