Difference between revisions of "Unity Sandbox"

From Wikicliki
Jump to: navigation, search
(AR Butterfly)
Line 1: Line 1:
 
* [[Unity AR Butterfly]]
 
* [[Unity AR Butterfly]]
 
* [[Unity Course Notes]]
 
* [[Unity Course Notes]]
 
 
== AR Butterfly ==
 
 
Attended the "Create Augmented Reality App" Webinar by Gen In finiti Academy, 13 Aug 2020, 7.30pm-9.30pm
 
- Conducted by Emmanual Tay
 
 
* 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.cs” - open it in editor of choice (be careful about naming of file)
 
* Drag and drop PlaceOnPlane script into AR session origin
 
* Download free asset butterfly (just go to Asset Store and look for the free Animated Butterly asset
 
* Download and import the butterfly asset - THIS ONE: https://assetstore.unity.com/packages/3d/characters/animals/butterfly-animated-58355
 
* Newly imported Butterfly asset folder > Double click on FBX > Double click on Materials
 
* Select second sphere (blue metallic) butterfly_Albedo > select the image material in emissions (otherwise butterfly will not show up)
 
* 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
 
* Copy the apk to your phone
 
* Recklessly install it on your phone
 
* AR BUTTERFLY APP COMPLETE
 
 
[[File:butterflyARapp.jpg]]
 
 
=== PlaceOnPlane.cs ===
 
 
<pre>
 
using System.Collections;
 
using System.Collections.Generic;
 
using UnityEngine;
 
using UnityEngine.XR.ARFoundation;
 
using UnityEngine.EventSystems;
 
 
public class PlaceOnPlane : MonoBehaviour
 
{
 
    ARRaycastManager raycastManager;
 
    List<ARRaycastHit> hits;
 
 
    public GameObject model;
 
   
 
    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>
 

Revision as of 00:55, 5 September 2020