Вопрос-[ответ] по Unity
| |
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
Knight1032 | Дата: Пятница, 16 Марта 2012, 22:33 | Сообщение # 1721 |
заслуженный участник
Сейчас нет на сайте
| Как подключить библиотеки в юнити ?
Да, я программист, дизайнер, сценарист, Я сам себе издатель и сам себе игрок...
|
|
| |
seaman | Дата: Суббота, 17 Марта 2012, 00:00 | Сообщение # 1722 |
старожил
Сейчас нет на сайте
| Засунуть ее в папку Plugins и использовать using в скриптах. Это если библиотека написана на .NET. Если на нативных языках, то нужна ПРО версия Юнити и нужно изучать маршалинг и интероп.
|
|
| |
Knight1032 | Дата: Суббота, 17 Марта 2012, 00:12 | Сообщение # 1723 |
заслуженный участник
Сейчас нет на сайте
| seaman, а если я хочу подключить что-то вроде булета?
Да, я программист, дизайнер, сценарист, Я сам себе издатель и сам себе игрок...
|
|
| |
seaman | Дата: Суббота, 17 Марта 2012, 00:27 | Сообщение # 1724 |
старожил
Сейчас нет на сайте
| Второй вариант. Например: Маршалинг Interop По этой теме очень много инфы, но она достаточно сложна. Пробуйте - может что и получится.
|
|
| |
jazzy | Дата: Воскресенье, 18 Марта 2012, 22:22 | Сообщение # 1725 |
заслуженный участник
Сейчас нет на сайте
| Кто нибудь знает как сотворить сие чудо? web demo Точнее поворот листьев в направлении камеры как в speed three. Как я понял листья это частицы.
|
|
| |
SnakeR | Дата: Воскресенье, 18 Марта 2012, 23:04 | Сообщение # 1726 |
постоянный участник
Сейчас нет на сайте
| jazzy, берешь этот полигон с листьями и заставляешь его все время смотреть на игрока, вот и вся хитрость.
Unity3D Developer Ваш лучший помощник при разработке в Unity3D
|
|
| |
jazzy | Дата: Понедельник, 19 Марта 2012, 00:04 | Сообщение # 1727 |
заслуженный участник
Сейчас нет на сайте
| Quote (SnakeR) берешь этот полигон с листьями и заставляешь его все время смотреть на игрока, вот и вся хитрость. чет сомниваюсь
|
|
| | |
SnakeR | Дата: Понедельник, 19 Марта 2012, 00:22 | Сообщение # 1729 |
постоянный участник
Сейчас нет на сайте
| jazzy, ну возьми и попробуй, ты думаешь что там мего-сложная технология? ))
Unity3D Developer Ваш лучший помощник при разработке в Unity3D
|
|
| |
Eizahler | Дата: Понедельник, 19 Марта 2012, 09:43 | Сообщение # 1730 |
участник
Сейчас нет на сайте
| Здравствуйте. Имеется несколько теоретических вопросов по Unity. Сразу оговорюсь, что особых практических навыков в работе с движками не имею, раньше работал только с конструктором RPG Maker (без изучения Ruby), в институте учили Pascal, но уже смутно, что помню. Учить собираюсь C# и 3Ds Max.
1) Для начала вопрос о размерах. В одном видео упоминалось, что значения размеров объекта в его свойствах обозначается в метрах. Однако когда я поставил на сцену несколько стандартных объектов и задал им одинаковые значения, они (объекты) получились разные. Возможно, это я плохо разобрался в осях координат, но все же, как на самом деле обстоит дело?
2) Как лучше создавать карту (уровень): Сделать несколько деталей в 3D редакторе, а затем собрать их в Unity, или сразу делать готовый уровень в редакторе? Я так понимаю, что первый способ предпочтительней, если делать игру с разрушаемым окружением?
3) Вопрос об АИ. Чисто теоретический. Допустим, есть уровень: узкий коридор, выходящий в просторный зал с балконами. Можно ли объектам или определенным площадям уровня (если он единое целое) задавать определенные параметры (наверное, я подразумеваю триггеры), вступив на которые АИ принимает соответствующие решения? Объясню подробнее. АИ заходит в коридор и «понимает», что нужно достать дробовик, следует в просторный зал и «понимает», что нужно достать штурмовую винтовку и спрятаться за ближайшим укрытием, ну а когда он будет на балконе, то достанет снайперскую винтовку.
4) Вопрос по обучению. Для C# нашел книгу «Visual С# 2008 Базовый курс», за авторством кучи мужиков. Стоит учиться по ней, или есть, что лучше? Встречал еще, что то типа «C# для игр», но я не доверяю книгам с таким названием.
|
|
| |
Barbatos | Дата: Понедельник, 19 Марта 2012, 09:48 | Сообщение # 1731 |
3D-моделлер/Руководитель
Сейчас нет на сайте
| Eizahler, 1) Смотри внимательней документацию и свойства обьектов. 2) Если ты сделаешь все в 3д редакторе будет очень много проблем - Тени будут просчитыватся неправильно, колизия будет стоять не там где нужно и будет корявой, анимировать уровень будет невозможно. Лучше через редактор игры на то он и есть. 3) Не знаком с юнити, но вроде тригеры поведения есть во всех редакторах от 2007 года.
Его остатки и на хлеб не намазать. Мой тебе совет Пабло - относись к жизни как к веселухе, но непродолжительной. @Эш
Сообщение отредактировал Barbatos - Понедельник, 19 Марта 2012, 09:49 |
|
| |
jazzy | Дата: Понедельник, 19 Марта 2012, 09:51 | Сообщение # 1732 |
заслуженный участник
Сейчас нет на сайте
| Quote (Eizahler) 2) Как лучше создавать карту (уровень): Сделать несколько деталей в 3D редакторе, а затем собрать их в Unity, или сразу делать готовый уровень в редакторе? Я так понимаю, что первый способ предпочтительней, если делать игру с разрушаемым окружением? разницы нет.....если собрать уровень в редакторе то в unity вы получите префаб. Но лучше собрать в unity. Если вы имели в виду что раставлять в 3д редакторе обьекты. А если имели в виду одним мешем весь уровень то этого просто делать нельзя
Сообщение отредактировал jazzy - Понедельник, 19 Марта 2012, 10:12 |
|
| |
pixeye | Дата: Понедельник, 19 Марта 2012, 10:30 | Сообщение # 1733 |
Red Winter Software
Сейчас нет на сайте
| Quote (Eizahler) 1) Для начала вопрос о размерах. В одном видео упоминалось, что значения размеров объекта в его свойствах обозначается в метрах. Однако когда я поставил на сцену несколько стандартных объектов и задал им одинаковые значения, они (объекты) получились разные. Возможно, это я плохо разобрался в осях координат, но все же, как на самом деле обстоит дело?
разные по размерам? Вообще юнити не использует "метры" - называй это как хочешь, но метрика в данном случае влияет только на физику. Я делаю на юнити 2д игры и у меня все в пикселах ( делаешь ортограф камеру с размером равным половине от высоты разрешения - ВСЕ. каждая единица пространства станет равна одному пикселу.
Я забыл/лень искать сейчас про соотношения в юнити и максе метрики, однако такая проблема у меня возникала и я смотрел на глаз, подгоняя маштабы в максе под маштбы юнити.
Quote (Eizahler) 2) Как лучше создавать карту (уровень): Сделать несколько деталей в 3D редакторе, а затем собрать их в Unity, или сразу делать готовый уровень в редакторе? Я так понимаю, что первый способ предпочтительней, если делать игру с разрушаемым окружением?
Комплексный вопрос - зависит от чего и на что уровень. Например если игра мобильная, то очень важен размер приложения. Каждая твоя сцена-уровень может весить в районе 150-300 кб ( утрирую, у меня примерно столько выходило для 2д игры ) - умножаем на уровней 40 и уже как то печально. У меня например в таком случае одна сцена, на которой я создаю "слепки" параметров уровня и объектов и потом их воссоздаю при загрузке N уровня на одной сцене. В любом случае ( даже если тебя не парят размеры ) - собирать все лучше в юнити, по многим причинам столь банальным что перечислять не хочется. (Ну как минимум это удобнее )
Quote (Eizahler) 3) Вопрос об АИ. Чисто теоретический. Допустим, есть уровень: узкий коридор, выходящий в просторный зал с балконами. Можно ли объектам или определенным площадям уровня (если он единое целое) задавать определенные параметры (наверное, я подразумеваю триггеры), вступив на которые АИ принимает соответствующие решения? Объясню подробнее. АИ заходит в коридор и «понимает», что нужно достать дробовик, следует в просторный зал и «понимает», что нужно достать штурмовую винтовку и спрятаться за ближайшим укрытием, ну а когда он будет на балконе, то достанет снайперскую винтовку.
Нет, "тригерных зон" нет, ровно как и готовый поведений для АИ. Однако на практике создать самому триггерную зону - не так сложно. Ты можешь сделать невидимую плашку с коллайдером ( не забыв поставить переключать "триггер" (иначе друге физ объекты будут сталкиваться с твоей зоной буквально ), все - дальше создаешь скрипт для своей тригерной зоны где описываешь поведение для объектов которые в нее ступят. Разумеется это самый примитивный вариант.
Quote (Barbatos) 3) Не знаком с юнити, но вроде тригеры поведения есть во всех редакторах от 2007 года. Если не знаком, то зачем лезть?
Quote (Eizahler) 4) Вопрос по обучению. Для C# нашел книгу «Visual С# 2008 Базовый курс», за авторством кучи мужиков. Стоит учиться по ней, или есть, что лучше? Встречал еще, что то типа «C# для игр», но я не доверяю книгам с таким названием.
Программирование это логика. Базовый синтаксис языка запоминается за пару дней битья об стену кодинга. Освоив один язык и имея опыт не составит труда в сжатые сроки пересесть на другой язык. В некоторых случаях от языка может зависеть стиль программирования и твое мышление. Так что в твоем "базовом" курсе будет все тоже самое, что и во всех остальных "базовых" курсах.
Клик - хорошая библия для начала твоих мучений, после того как освоишь "азы" - поищи в интернете так же примеры по разработке игр, там своя специфика о которой не будут писать в твоем базовом курсе. Не понимая как работает твоя программа-игра и из чего состоит сложно что-то сделать самому.
Клик - немного математики и чтобы не путался в плоскостях
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
Сообщение отредактировал pixeye - Понедельник, 19 Марта 2012, 10:33 |
|
| |
Eizahler | Дата: Понедельник, 19 Марта 2012, 11:00 | Сообщение # 1734 |
участник
Сейчас нет на сайте
| Quote (pixeye) сделать невидимую плашку с коллайдером Это я и имел ввиду. Значит можно. Barbatos, jazzy, спасибо. Отдельная благодарность pixeye.
|
|
| |
seaman | Дата: Понедельник, 19 Марта 2012, 21:11 | Сообщение # 1735 |
старожил
Сейчас нет на сайте
| Quote Нет, "тригерных зон" нет Что за чушь, а это что? Четко написано - Trigger. OnTriggerEnter Любой коллайдер - триггер. И проще не плашка, а бокс.
|
|
| |
pixeye | Дата: Понедельник, 19 Марта 2012, 22:38 | Сообщение # 1736 |
Red Winter Software
Сейчас нет на сайте
| Quote (seaman) Что за чушь, а это что? Четко написано - Trigger. OnTriggerEnter Любой коллайдер - триггер. И проще не плашка, а бокс.
Ну я вообще то написал про Quote (pixeye) Нет, "тригерных зон" нет, ровно как и готовый поведений для АИ. Однако на практике создать самому триггерную зону - не так сложно. Ты можешь сделать невидимую плашку с коллайдером ( не забыв поставить переключать "триггер" (иначе друге физ объекты будут сталкиваться с твоей зоной буквально ), все - дальше создаешь скрипт для своей тригерной зоны где описываешь поведение для объектов которые в нее ступят. Разумеется это самый примитивный вариант.
Плашка, бокс, сфера - для абстрактного примера не имеет значения. Я делаю 2д игры и использую плашки. Поэтому на автомате привожу их, думаю Eizahler достаточно смышлен, чтобы использовать коллайдер той формы который подходит под его игру/пример/случай.
Quote (seaman) Любой коллайдер - триггер. И проще не плашка, а бокс. Нет. Не любой коллайдер триггер, но любой триггер в данной интерпретации - коллайдер.
Словосочетание "триггерная зона" подразумевает готовый функционал/фичу под конкретные нужды проекта. В юнити нет понятие тригерной зоны. Или как минимум я о ней не слышу ( тогда каюсь)
-Грамотное отображение зоны в редакторе, желательно раскраски по смысловому значению ( задается пользователем ) и редактирование размеров и (!)формы непосредственно в окне сцены ( Минимум в форме прямоугольника ), в окне сцены подразумевает, что человек не полезет каждый раз изменять данные физ колайдера через инспектор а сможет по визуальным точкам в сцене маштабировать свою зону) -Грамотная отсылка сообщений объектам, включая отправку сообщений объектам непосредственно не наступающим на тригер зону при необходимости. -Использование зоны как площади спауна,использование в качестве эмиттера для эффектов, -Задание слоев и области видимости для тригер зоны через редактор.
Я не помню чтобы OnTriggerEnter - выполнял хотя бы одно из выше перечисленного, это всеголишь создание события на условие соприкосновения с коллайдером помеченным как "триггер", не больше и не меньше. Это еще не делает триггерной зоны, которую к томуже можно реализовывать и другими способами.
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
Сообщение отредактировал pixeye - Понедельник, 19 Марта 2012, 22:46 |
|
| |
error111 | Дата: Вторник, 20 Марта 2012, 07:40 | Сообщение # 1737 |
заслуженный участник
Сейчас нет на сайте
| Добрый день. Возник вопрос по коду. Вот имеем нечто подобное: Code using UnityEngine; using System.Collections;
public class GameScript : MonoBehaviour { class MyClass { void MyClass() { bla-bla-bla; } } }
Создаю класс MyClass, в нем пытыюсь сделать метод-конструктор с тем же именем, что и класс. В ответ компилятор выдает:`GameScript.MyClass.MyClass()': member names cannot be the same as their enclosing type. А как тогда задавать конструкторы?
Вопрос на ходу. Как создавать массивы на C#? В рефе написано, что класс Array доступен только для JS. А какой тогда аналог для шарпа?
[Shmup/RPG] Fantasy Shmup!
Сообщение отредактировал error111 - Вторник, 20 Марта 2012, 08:09 |
|
| |
mrResident | Дата: Вторник, 20 Марта 2012, 08:57 | Сообщение # 1738 |
постоянный участник
Сейчас нет на сайте
| error111, массив в c# задается таким образом <тип>[] имя переменной = new <тип>[<кол-во элементов в массиве>] Примеры:
1) одномерный массив: int[] x = new int[10]; 2) двумерный массив: int[,] x = new int[10,10]; (аналогично задается n-мерный массив, т.е. <тип>[, .. ,] имя переменной = new <тип>[<кол-во элементов в массиве>, .. , <кол-во элементов в массиве>])
И есть еще одна фенька, так называемый рваный массив, пример:
int[][] x = new [3][]; x[0] = new [2]; x[1] = new [7]; x[2] = new [5];
т.е. получается двумерный массив состоящий из 3 строк и варьируемых для каждой строки кол-во столбцов, получается что-то типа того
1 1 2 2 2 2 2 2 2 5 5 5 5 5
P.S. запомни, в с# массив это класс!
По поводу вот этого
Quote (error111) public class GameScript : MonoBehaviour { class MyClass { void MyClass() { bla-bla-bla; } } }
что-то очень непонятная конструкция, класс в классе, так как я сам с# только осваиваю, не всех особенностей его знаю, но в других ЯП где есть классы я такой конструкции не встречал (object pascal (delphi), c++).
Укроп головного мозга - болезнь тяжелая, но излечимая!
|
|
| |
error111 | Дата: Вторник, 20 Марта 2012, 10:04 | Сообщение # 1739 |
заслуженный участник
Сейчас нет на сайте
| Да массив я воткнул. Вроде бы получилось. Смущает только, что в СкриптРеференсе пишут, что только через ЯваСкрипт можно его юзать.
По второму вопросу. Я пытаюсь в классе MyClass{} написать метод с таким же названием MyClass(){}. В ВижуалСтудии такое вроде бы прокатывает, а вот Юнити не дает обзывать метод, так же как и класс в котором он реализован.
[Shmup/RPG] Fantasy Shmup!
|
|
| |
mrResident | Дата: Вторник, 20 Марта 2012, 10:12 | Сообщение # 1740 |
постоянный участник
Сейчас нет на сайте
| error111, слушай, чет внимание не обратил, ты убери void перед названием метода, тогда он у тебя превратиться в конструктор
Укроп головного мозга - болезнь тяжелая, но излечимая!
|
|
| |
|