Unity 3d
Transkrypt
Unity 3d
Unity 3d Krzysztof Drypczewski Unity 3d O mnie • Krzysztof Drypczewski, KSG, WETI PG • Pokój 329 „stare ETI” • Konsultacje: poniedziałek 10:00 - 11:00 Unity 3d Zasady zaliczenia • Dwa zajęcia laboratoryjne oceniane w skali 0-5 • Nie pracujemy na własnych komputerach • Odrabiamy zajęcia tylko w czasie trwania części dotyczącej przedmiotu • Kolokwium: 1-2 pytania z prezentowanej tematyki • Osoby zaawansowane mogą otrzymać zadanie projketowe Unity 3d Unity 3d Unity 3d • • • • • Narzędzie do tworzenia gier: silnik 2/3 D fizyka, animacje, światło etc. Skrypty: MonoDevelop, także VS Edytor powierzchni: ukształtowanie terenu, drzew, roślin, nieba • Edytor animacji • Narzędzia do tworzenia GUI Unity 3d Platformy • • • • • • • • • • Web Player PC, Mac, Linux Standalone IOS Android BlackBerry Xbon 360, Xbox One PS Vita PlayStation Mobile Windows Store Windows Phone 8 Unity 3d Unity 3d Game Object • • • • Podstawowy element składowy projektu Hierarchia obiektów: relacja rodzic - dziecko GameObject składa się z komponentów (Component) Transform: podstawowy komponent reprezentujący pozycję, skalę, i rotację obiektu • Na podstawie danego obiektu można przygotować Prefab – obiekt, którego będzie można z łatwością instancjonować. (Object oriented!) Game Object Lorem ipsum Skrypty Podstawowa klasa, komponent MonoBehaviour using UnityEngine; using System.Collections; public class MyScript : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } } http://docs.unity3d.com/Manual/ExecutionOrder.html Skrypty Konsola void Start () { Debug.Log("Znam się na Unity!"); } Zmienne publiczne public class MyScript : MonoBehaviour { public string mojString; void Update () { } void Start () { Debug.Log("Znam się na Unity!"); } } Skrypty Komponenty void Start () { Transform t = GetComponent<Transform>(); //lub t = this.transform; Rigidbody r = this.rigidbody; Animation a = this.animation; } Skrypty Pozycja void Start () { Transform t = this.transform; //t.localPosition.x = 4; // nie zadziała t.localPosition = new Vector3 (5,10,0); Vector3 vec = this.transform.position; vec.x += 10; vec.z -= 5; this.transform.position = vec; transform.position = Vector3.zero; } Skrypty Inne obiekty public class MyScript : MonoBehaviour { public string mojString; public GameObject player; // Use this for initialization void Start () { player.GetComponent<PlayerScript>().graj(); } // Update is called once per frame void Update () { } } Skrypty Dzieci public Transform [] dzieci; void Start() { dzieci = new Transform[transform.childCount]; int i = 0; foreach (Transform t in transform) { dzieci[i++] = ...;//zrób coś } } Skrypty Ruch // Update is called once per frame void Update () { Vector3 v = this.transform.localPosition; v.x += 0.1f; this.transform.localPosition = v; } // Update is called once per frame void Update () { float speed = 0.5f; Vector3 v = this.transform.localPosition; v.x += 0.1f *Time.deltaTime ; this.transform.localPosition = v; }