Cardboard avec Unity – Hacking Mondays – Unity, c'est ?



Cardboard avec Unity – Hacking Mondays – Unity, c'est ?

0 0


unity-cardboard-slides


On Github HackingMondays / unity-cardboard-slides

Cardboard avec Unity

Hacking Mondays

Avant de commencer !

Posez autant de questions que nécéssaire !

N'attendez pas !

Slides dispo :

https://goo.gl/DJRFeR

Unity, c'est ?

Un environnement complet de développement de jeux.

Pourquoi Unity ?

  • Simple
  • Gratuit
  • Peu de limites
  • Grosse communauté
  • Une market place pleine à craquer
  • Une documentation exhaustive
  • Api quasi identique entre 2D et 3D
  • Des tutos dans tous les sens
  • Support de périphériques tiers (cardboard, leapmotion, myo, ...)

Languages

  • C# (vivement recommandé)
  • JS (peu recommandé)

Mais bon...

JS

#pragma strict

// Use this for initialization
function Start () {
    // Ici l'Ide m'abandonne...
}

// Update is called once per frame
function Update () {

}

C#

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {

    // Use this for initialization
    void Start () {
        // Ici l'ide m'aide !
    }

    // Update is called once per frame
    void Update () {

    }
}

Et pour ceux qui n'aiment/savent pas codé

Il y a des plugins pour ajouter de la logique sans code, le plus souvent payant.

  • uScript
  • uFrame
  • ...

Découverte de l'éditeur

La hiérarchie d'objet de la scène

  • Elle est représentée sous forme d'arbre
  • Tout objet peut en contenir d'autres
  • Déplacer un objet sur la scène déplace tous ses enfants

Récupérer les ressources

Import du sdk

Créez un nouveau projet 3D Cliquez sur "Assets" -> "Import Package" -> "Custom Package" Selectionnez "CardboardSDKForUnity.unitypackage" Cliquez sur "Import"

Configuration de l'export mobile

Une fois terminé : "Edit" -> "Project Settings" -> "Player" Choisir IOs ou Android en fonction de votre device Pour android : sélectionnez "Other Settings" Pour android : Dans "Bundle Identifier" mettre quelque chose comme "fr.hackingmondays.democardboard" Dans "Resolution and Presentation" mettre "default Orientation" à "Landscape Left" On y est presque !

Premiers éléments de jeux

Faites glisser sur la scène : "Assets/Cardboard/Prefabs/CardboardMain.prefab" Supprimer l'objet "Main Camera" Là on peut commencer à jouer !

Première interaction

Ajouté les éléments sur la scène

"Game Object" -> "3D Object" -> "Plane" "Game Object" -> "3D Object" -> "Cube" Déplacez un peu le cube

Ajouter un réticule

Ajouter l'objet : "Assets/Cardboard/Prefabs/UI/CardboardReticle.prefab" dans "CardboardMain" -> "Head" de la scène "GameObject" -> "UI" -> "Event System"

Ajout des composants

Selectionnez l'objet "CardboardMain" -> "Head" -> "Main Camera" Dans la partie "Components" faites "Add Components" Et ajoutez "Physics Raycaster" Selectionnez le cube Dans la partie "Components" faites "Add Components" Et ajoutez "Event Trigger" Selectionnez le "EventSystem" Dans la partie "Components" faites "Add Components" Et ajoutez "GazeInputModule" Cliquez sur le rouage à droite de "GazeInputModule" et faites "Move Up", pour qu'il soit prioritaire.

Testez !

  • Alt + mouvement de souris pour bouger la camera dans la simulation
  • Ctrl + mouvement de souris pour incliner la camera sur les côtés dans la simulation

Faire bouger le cube !

Créer un dossier "Scripts" Créer un script "BoxInteraction" Dans le script créez une methode/fonction MoveBoxUp avec :
    // C#
    public void MoveBoxUp() {
        transform.Translate(Vector3.up);
    }
    // ou en JS
    function MoveBoxUp() {
        transform.Translate(Vector3.up);
    }
Faites glisser le script sur le cube.

Faire bouger le cube !

Selectionnez le cube dans le Composant "Event Trigger" faites "Add new event type" Dans la liste selectionnez "PointerDown" Faites "+" en bas à droite du composant Maintenant faites glisser le composant de script ajouté plus tôt dans la partie "None (Object)" Une liste déroulante apparaît, selectionnez "BoxInteraction" -> "MoveBoxUp" Et... Testez ! (cliquez pour simuler le bouton du cardboard)