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;
}