1.3 Середа Unity як інструмент розробки
Це мульти-платформний інструмент для розробки двох - і тривимірних додатків та ігор, що працює під операційними системами Windows і OS X. Створені за допомогою Unity програми працюють під операційними системами Windows, OS X, Android, AppleiOS, Linux, а також на ігрових приставках Wii, PlayStation 3 і Xbox 360. Є можливість створювати інтернет-додатки за допомогою спеціального модуля, що підключається до браузера Unity, а також за допомогою експериментальної реалізації в рамках модуля AdobeFlashPlayer. Пізніше від підтримки Flash відмовилися. Програми, створені за допомогою Unity, підтримують DirectX і OpenGL. [ 12 ] характеризується наступними можливостями:
Сценарії на C #, JavaScript (модифікація) і Boo;
Ігровий движок повністю увязаний з середовищем розробки. Це дозволяє прямо в редакторі відчувати гру;
Робота з ресурсами можлива через простий Drag&Drop.
Інтерфейс редактора настроюється;
Здійснено система успадкування обєктів;
Підтримка імпорту з дуже великої кількості форматів;
Вбудована підтримка мережі;
Є рішення для спільної розробки - Asset Server;
Також можна використовувати відповідний користувачеві спосіб контролю версій. Наприклад, Tortoise SVN або SourceGear;
До особливостей даного середовища розробки можна віднести
широкі можливості імпорту
повністю настроюється і доступний більшості людей інтерфейс
кроссплатформенность
гнучкість і розширюваність
гнучка цінова політика
доступно для VITV і epichnoetv
підтримка фізики тканини (PhysXCloth)
AssetsStore, так званий магазин компонентів
наявність безкоштовної версії з деякими обмеженнями
скіннінг на CPU
Основною концепцією Unity3d є використання в сцені легко керованих обєктів, які, в свою чергу, складаються з безлічі компонентів. Створення окремих ігрових обєктів і наступне розширення їх функціональності за допомогою додавання різних компонентів дозволяє нескінченно удосконалювати і ускладнювати проект.
Вплив компонента на поведінку або положення того чи іншого обєкта в сцені (властивості компонента) визначається за допомогою змінних компонента.
Ресурси (Assets) проекту - це будівельні / складові блоки всіх проектів Unity, в якості яких можуть бути використані файли зображень (текстур), 3D -моделей, звукові файли, які будуть використовуватися при створенні в якості ресурсів. Тому в будь-якій папці проекту Unity завжди існує підкаталог з імям Assets, де зберігаються всі файли ресурсів.
Коли-небудь ресурс (наприклад, геометрична 3D-модель) використовується в сцені гри, він стає в термінології Unity ігровим обєктом (GameObject). Всі ці обєкти спочатку мають хоча б один компонент, що задає його положення в сцені і можливі перетворення (компонент Transform). Змінні компонента Transform визначає положення (position), поворот (rotation) і масштаб (scale) обєкта в його локальної декартовій прямокутній системі координат X, Y, Z. Наявність змінних у кожного компонента обумовлює можливість звернення до них з відповідної програми (скрипта).
Компоненти (components) в Unity3d мають різне призначення: вони можуть впливати на поведінку, зовнішній вигляд і багато інших функцій обєктів, до яких прикріплюються (attaching). Unity надає безліч компонентів різного призначення.
Для забезпечення інтерактивності різних 3D -додатків в Unity3d використовуються скрипти, які також розглядаються середовищем як компоненти. Крім JavaScript, Unity3d також надає можливість використовувати для написання скриптів мови C # і Boo (похідний від мови Python). Для написання скриптів можна скористатися вбудованим редактором Unity3d MonoDevelop.
В якості мови для написання скриптів в Unity застосовуються C #, JavaScript і Boo. Найбільш пріоритетними мовами для нас були C # і JavaScript.
Обидві мови використовують як синтаксичної основи мова програмування C. Зокрема, від нього успадковані без змін :
позначення початку / кінця блоку коду фігурними дужками;
позначення, асоціативність і пріоритет більшості вбудованих операцій (привласнення, арифметичні, логічні, побітові операції, операції інкремента / декремента);
синтаксис опису та використання змінних і функцій (порядок « тип імя», використання модифікаторів, обовязковість дужок для функцій, опис формальних параметрів);
синтаксис всіх основних конструкцій: умовного оператора, циклів, оператора множинного вибору;
відсутність процедур (їх замінюють функції типу void);
найменування вбудованих елементарних типів (крім bool, в JavaScript цей тип називається boolean);
використання крапки з комою
Все це призводить до того, що програми на JavaScript і C # зовні на перший погляд виглядають надзвичайно схоже на C -програми.
В обох мовах зроблені однотипні розширення та доповнення стосовно C (або C + +), зокрема, розширено алфавіт і введений власний синтаксис, що підтримує пакети, імпорт описів, визначення одиниць компіляції.
Обидві мови дозволяють визначити клас усередині класу. Внутрішні класи JavaScipt мають доступ до нестатичних членам батьківського класу; крім того, всередині методів можна визначати локальні класи, що мають доступ з читання до локальних змінних, і безіменні (анонімні) локальні класи, які фактично дозволяють створювати екземпляри обєктів і інтерфейсів, що перекривають методи свого класу, безпосередньо в місці їх використання. На цьому механізмі в JS- програмах може будуватися обробка подій (подія генерує виклик методу, у вихідному класі - обробнику що є абстрактним; там, де потрібен конкретний обробник події, програміст створює екземпляр локального анонімного класу - спадкоємця базового класу - обробника і безпосередньо використовує його). Таким чином, зникає необхідність у спеціальному типі і синтаксичної підтримки для подій, але сам код, який створює обробники, кілька більш складний для розуміння.
Підхід C # більше нагадує C + +. Внутрішні класи в C # мають доступ тільки до статичних членам зовнішнього класу, а для доступу до нестатичних членам потрібно явно вказувати примірник зовнішнього класу. Локальні внутрішні класи в C # не підтримуються, обробка подій у ньому не вимагає таких класів, оскільки будується на інших механізмах.старше, ніж C # і побудований на великою і активною користувача базі. JavaScript домінує в курсах програмування американських університетів і коледжів, і літератури з JavaScript сьогодні набагато більше, ніж по C #. #, В свою чергу, розвивається швидше, набагато слабкіше обмежуючи себе в додаванні нових проблемно- орієнтованих можливостей. Особливо ця тенденція проявилася у версії C # 3.0, в якій, наприклад, зявилися SQL - подібні запити. Нові можливості при цьому будуються так, щоб мова залишалася мовою загального призначення. # - Мова відносно новий. Microsoft вивчила існуючі мови, такі як Java, Delphi і VisualBasic, і змінила деякі аспекти мови для кращої відповідності потребам деяких типів додатків.
Це визначило наше рішення у виборі мови. C #, виразно, набагато більш пристосований для роботи в проектах нашого типу, завдяки своїй гнучкості, стрімкому розвитку і загальної адаптованості.
РОЗДІЛ 2
ОПИСАННЯ ПРОЕКТУ ТА ЙОГО СТВОРЕННЯ
- 1.3 Огляд існуючих моделей дистанційного управління навчальним процесом.
- Принципи дистанційного навчання
- Сутність дистанційного навчання
- 4.3. Методи дистанційного навчання
- Вимоги до викладачів дистанційного навчання
- 4. Дистанційне навчання як вид віртуальної реальності Зв’язок віртуальності з комунікативністю
- Технологія дистанційного навчання.