Initialer Upload neues Unity-Projekt

This commit is contained in:
Daniel Ocks
2025-07-21 09:11:14 +02:00
commit eeca72985b
14558 changed files with 1508140 additions and 0 deletions

View 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/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");
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 894efc8fc3b667045b3051a35605dac6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,183 @@
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");
}
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");
}
// 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");
}
//needs openXR backend in ovrplugin
static void BuildBouncingBall()
{
InitializeBuild("com.oculus.unitysample.bouncingball");
Build("BouncingBall");
}
//needs openXR backend in ovrplugin
static void BuildShowSceneModel()
{
InitializeBuild("com.oculus.unitysample.scenemanager");
Build("SceneManager");
}
//needs openXR backend in ovrplugin
static void BuildVirtualFurniture()
{
InitializeBuild("com.oculus.unitysample.virtualfurniture");
Build("VirtualFurniture");
}
//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",
"Assets/Oculus/SampleFramework/Usage/SceneManager.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;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ee0c62bdb80c20346b6cb19162b7bb3e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,53 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
* All rights reserved.
*
* Licensed under the Oculus SDK License Agreement (the "License");
* you may not use the Oculus 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/oculussdk/
*
* Unless required by applicable law or agreed to in writing, the Oculus 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

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 53c0844bfe5a33c41bc2ff02db18960e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: