Difference between revisions of "Unity Sandbox"

From Wikicliki
Jump to: navigation, search
(PlaceOnPlace.cs)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
* [[Unity AR Butterfly]]
 +
* [[Unity Course Notes]]
 +
* [[Unity Interface]]
 +
* [[Studying for the Unity Exam]]
  
== Create An Augmented Reality App Webinar by Gen Infiniti Academy, 13 Aug 2020, 7.30pm-9.30pm ==
+
<hr>
* Change build settings to Android/mobile
 
* Delete Main camera and Directional Light
 
* Window > Package Manager > AR Foundation > Install
 
* Window > Package Manager > ARCore XD Plugin > Install
 
* Window > Package Manager > ARkit Xr Plugin > Install
 
* Rightclick on Hierarchy Window > XR > AR Session origin
 
* Double click the tiny AR Session origin > look under inspector > tag: MainCamera
 
* Rightclick on Hierarchy Window > XR > AR Session (coordinates the real world)
 
* Rightclick on Hierarchy Window > XR > AR Default Plane
 
* Click on AR Session Origin in Hierarchy > Look in Inspector > Add Component > AR Raycast Manager (checks for floor)
 
* Click on AR Session Origin in Hierarchy > Look in Inspector > Add Component > AR Plane Manager (allows you to tag and project things)
 
* Now we want to add a plane prefab, first we create a folder in project called “prefabs”
 
* Drag the AR Default Plane into the Prefabs folder
 
* Drag the blue AR Default Prefab into inspector slot for AR Session Origin > plane manager > plane prefab
 
* Create in project a scripts folder
 
* Create a new C# script “PlaceOnPlane”
 
* Drag and drop this script into AR session origin
 
* Download free asset butterfly
 
* Double click on FBX
 
* Double click on Materials
 
* Select second sphere (blue metallic) butterfly_Albedo select the material in emissions
 
* Assets > Butterfly Animated > Prefab > left click on butterfly and drag it inside Place On Place Model (inside AR Session Origin)
 
* Project Settings > Player > Other setting > Identification > Minimum API Level > Set to Android 7.1
 
* Build and Run
 
  
=== PlaceOnPlane.cs ===
+
'''Video Player in Unity'''
  
<pre>
+
# Import video into Assets
using System.Collections;
+
# Create Render Texture and change dimensions of render texture to match video
using System.Collections.Generic;
+
# Create Material (URP/Lit) and drag Render Texture into Base Map
using UnityEngine;
+
# Create Video Player in Hierarchy and link the video clip to the Render Texture
using UnityEngine.XR.ARFoundation;
 
using UnityEngine.EventSystems;
 
  
public class PlaceOnPlane : MonoBehaviour
+
'''Spatial audio'''
{
+
# Spatial Blend from 2D to 3D.
    ARRaycastManager raycastManager;
+
# Volume Rolloff from logarithmic to linear.
    List<ARRaycastHit> hits;
+
# Set Minimum and Maximum distance.
  
    public GameObject model;
+
'''Optimising VR in Unity'''
   
+
* https://learn.unity.com/tutorial/optimizing-your-vr-ar-experiences
    void Start()
 
    {
 
        raycastManager = GetComponent<ARRaycastManager>();
 
        hits = new List<ARRaycastHit>();
 
    }
 
 
 
    // Update is called once per frame
 
    void Update()
 
    {
 
        if (Input.touchCount == 0)
 
            return;
 
 
 
        Touch touch = Input.GetTouch(0);
 
 
 
        if (IsPointerOverUIObject(touch.position))
 
            return;
 
 
 
        if (raycastManager.Raycast(touch.position, hits))
 
        {
 
            Pose pose = hits[0].pose;
 
 
 
            Instantiate(model, pose.position, pose.rotation);
 
        }
 
    }
 
 
 
    bool IsPointerOverUIObject(Vector2 pos)
 
    {
 
        if (EventSystem.current == null)
 
            return false;
 
        PointerEventData eventDataCurrentPosition = new PointerEventData(EventSystem.current);
 
        eventDataCurrentPosition.position = new Vector2(pos.x, pos.y);
 
        List<RaycastResult> results = new List<RaycastResult>();
 
        EventSystem.current.RaycastAll(eventDataCurrentPosition, results);
 
        return results.Count > 0;
 
    }
 
}
 
 
 
</pre>
 

Latest revision as of 06:27, 15 May 2022


Video Player in Unity

  1. Import video into Assets
  2. Create Render Texture and change dimensions of render texture to match video
  3. Create Material (URP/Lit) and drag Render Texture into Base Map
  4. Create Video Player in Hierarchy and link the video clip to the Render Texture

Spatial audio

  1. Spatial Blend from 2D to 3D.
  2. Volume Rolloff from logarithmic to linear.
  3. Set Minimum and Maximum distance.

Optimising VR in Unity