Знакомство с Unity3D


Мне всегда была интересна тема программной реализации (демонстрации) законов физики: как взаимодействуют тела. Какое-то бледное подобие даже пытался реализовать на флеш. Однако, если делать что-то более серьезное, то лучше использовать специальные движки. Подумав, я остановился на Unity3D – одной из самых популярных платформ разработки приложений, в том числе и в 3D формате. Вот что получилось у меня в итоге после недолгого разбирательства с основами:



Скачать Unity3D можно отсюда – получим сетевой установщик. Выбирайте галочками, что вам требуется, особо не волнуйтесь – в любой момент его можно будет запустить снова и скачать недостающие элементы. Итак, качаем, устанавливаем, регистрируемся, начинаем новый проект 3D.

Сложного ничего нет. В проекте по умолчанию у вас уже есть два объекта - Main Camera (камера) и Directional Light (источник света). Выберите Game Object –> 3D Object -> Plane и Game Object –> 3D Object -> Cube. Теперь у нас есть кубик над плоскостью и, собственно, сама плоскость. Если запустить проект, то ничего не произойдет: выведется статичная картинка. Внесем немного динамики.

Выберем наш куб и Component -> Physic -> Rigidbody. Этим мы сделал куб твердым телом. Теперь после запуска он упадет на плоскость. Далее создаем снизу в Assets - > Create – Physic Material -> назовем, к примеру, rubber1 – это будет материал. Можно играться с разными параметрами, добиться скольжения, упругости и так далее.



Далее также внизу создаем C# Script, открываем его в каком-нибудь редакторе ( по умолчанию идет MonoDevelop – признаться жутко глючная штука) удаляем созданный по умолчанию код и вставляем свой:

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

	void Start () {
		Rigidbody rb = GetComponent();	 
	}

	void Update () {
		if (Input.GetKeyUp( KeyCode.Space )) {
			GetComponent().material.color = Color.red;
		}
	}
		
	void OnCollisionEnter() {    
		Debug.Log("Oops!");  
	}		
} 
Сложного тут особо ничего нет, даже если и вы на вы с си шарп. В коде три метода: один работает при старте, второй при смене кадра – с помощью него меняем цвет куба на красный, если жмем пробел, третий же пишет в логе очень остроумную фразу, как только куб с чем-нибудь сталкивается. На основе этого скрипта и документации по юнити уже можно создавать что-то тридешное и интерактивное.

Таким образом, если не хочется изобретать велосипед, а хочется сразу работать с 3D, то Unity3D прекрасно подойдет. Платформа не выглядит сырой и возможно в будущем, я напишу серию статей, посвященной разработке на ней. Если интересно посмотреть на результат на своем компьютере, то вот файл программы - теоретически должно запуститься на любой Windows со вторым нет фреймворком на борту.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегистатьи IT, Unity3D, си шарп




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Вывод переменной в Twig на OpenCart 3
500 человек в день
Law of Demeter (Закон Деметры, LOD) с примером на PHP