Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 29.06.2012, 12:38   #421
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

AntiRock, изучай шарп. Серьезный проект - nfs world.
(Offline)
 
Ответить с цитированием
Старый 29.06.2012, 12:46   #422
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Вопросы от новичка

какой язык программирования лучше выучить чтобы использовать данный двиг в своих целях
Лучше, конечно, C#. Будет больше возможностей.

какой быстрее выучить
JavaScript (UnityScript). Хотя при решении простых задач разница между C# и UnityScript минимальна. В C# в этом плане просто больше "лишнего кода".

назовите какой-нибудь хоть один серьезный проект
Тебе сюда: http://unity3d.com/gallery/made-with-unity/game-list
Игры AAA-класса для PC, PS3, XBox 360 на нем практически не делают. Он не конкурент CryEngine'у и UDK. По крайней мере, пока (ждем Unity3D 4.0 ). Unity гораздо чаще используется для создания мобильных и небольших игр. В этом плане конкурентов у него практически нет.

Стоит ли вообще учить язык программирования только чтобы начать что-то делать на этом движке?
Если решил изучить C#, то эти знания пригодятся не только в Unity. Я бы даже сказал, Юнити несколько облегчает процесс изучения C#, опуская сложные для понимания вещи на второй план.
Если решил изучить Boo (Python), то несколько в меньшей степени, но все-таки также может пригодится знание языка за пределами Unity.
Изучать UnityScript (Java) можно, но общего с настоящей Java'ой там только синтаксис. Если потом решишь писать на чистой Java (например, для Андроид - приложений), то могут возникнуть трудности, ибо тут же придется понимать, что такое ООП, классы, наследования, методы и т.д. и т.п.
__________________
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо cahekp за это полезное сообщение:
AntiRock (29.06.2012), pax (29.06.2012)
Старый 29.06.2012, 13:00   #423
AntiRock
Оператор ЭВМ
 
Аватар для AntiRock
 
Регистрация: 23.06.2012
Сообщений: 31
Написано 9 полезных сообщений
(для 9 пользователей)
Ответ: Вопросы от новичка

Спасибо за развернутый ответ. Порекомендуйте какую-нибудь книжку по JS, ту с которой вы возможно сами начали изучение, или та с которой изучение JS станет интересным занятием, надеюсь я понятно изложил. =)
(Offline)
 
Ответить с цитированием
Старый 29.06.2012, 13:04   #424
AntiRock
Оператор ЭВМ
 
Аватар для AntiRock
 
Регистрация: 23.06.2012
Сообщений: 31
Написано 9 полезных сообщений
(для 9 пользователей)
Ответ: Вопросы от новичка

И еще вопрос: в каком плане Unity не конкурент "КрайЭнгин"? Производительность, графика или что-то еще? В юнити вроде очень даже реалистичные сцены получаются, да и шейдеры вроде можно написать под нее, что не хуже crysis2 будет...
(Offline)
 
Ответить с цитированием
Старый 29.06.2012, 13:13   #425
jimon
 
Сообщений: n/a
Ответ: Вопросы от новичка

Сообщение от AntiRock Посмотреть сообщение
И еще вопрос: в каком плане Unity не конкурент "КрайЭнгин"? Производительность, графика или что-то еще? В юнити вроде очень даже реалистичные сцены получаются, да и шейдеры вроде можно написать под нее, что не хуже crysis2 будет...
CryEngine Sandbox видел ? Unity еще долго до такого, а технологические возможности уже давно не главное
 
Ответить с цитированием
Старый 30.06.2012, 00:38   #426
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Вопросы от новичка

Порекомендуйте какую-нибудь книжку по JS
Ну, чтобы начать работать в Юнити, никакой книги по JS прочитывать перед этим не нужно. Абсолютно бесполезное занятие. Пока прочтешь книгу, писать что-либо на этом движке уже расхочется. А если и нет, то всё-равно изучать всё придется практически с нуля. Ты же писал, что Паскаль знаешь? Ну вот и всё, этого достаточно! Переменные объявляй через var имя : тип; прям как в Паскале. Главное помни, что вместо begin и end надо использовать фигурные скобки. )
В общем, я сторонник Quick Start'ов. Изучать что-то новое лучше, когда быстро пробегаешь по справке, попутно гугля непонятные места. А потом, когда уже освоишься, можно и в дебри уходить, изучая каждую мелочь.

в каком плане Unity не конкурент "КрайЭнгин"? Производительность, графика или что-то еще?
И в том, и в другом плане. Еще можно удобство приписать. Например, в CryEngine ландшафты представлены воксельными объектами. Можно легко делать пещеры и различные дырки прямо в редакторе. Unity такие вещи, прямо скажем, даже и не снились.
Зато у нас свои плюсы есть. Огромнейшим плюсом считаю компиляцию скриптов "на лету", полную кастомизацию интерфейса и здоровенную кросс-платформенность.

В юнити вроде очень даже реалистичные сцены получаются
Ну дык, ёлки, правильную атмосферу и окружение делают не движки, а прямые руки человеческие. Пример: Venus Hostage. До сих удивляюсь той красоте, которую смогли сделать на Blitz3D с древнейшим DirectX7. Хорошие движки могут несколько упростить процесс создания той самой красоты, да немного ее приукрасить. Но главное - это прямые руки. С ними и на ассемблере можно офигенные штуки мутить. Только очень, очень долго.
__________________
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо cahekp за это полезное сообщение:
AntiRock (30.06.2012), pax (30.06.2012)
Старый 30.06.2012, 01:07   #427
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Вопросы от новичка

Посоны! Нужна помощь!

Делаю систему ботов.
Требования:
- Модель состоит из меша и кучи анимированных костей
- Бот может пинать всё, что попадается ему под ноги (всякие ящики с коллайдерами + Rigidbody)
- Убил бота - он упал по рэгдольному. Стрельнул из шотгана с близкого расстояния - он красиво и по физике отлетел.
- Взависимости от того, по какой части тела попал, дается то или иное количество очков.
- Бот не может проходить сквозь стены
- Два бота не могут входить друг в друга

В общем, что делал я:
1) Через стандартный "Ragdoll Wizard" создавал коллайдеры, rigidbody и joint'ы для отдельных частей тела.
2) Для всех rigidbody делаю isKinematic равным true.
3) Стреляю по боту с помощью Physics.Raycast. Взависимости от того, по какому коллайдеру попал, даю то или иное количество очков игрокам и уменьшаю количество жизней у бота.
4) Убил бота - выключаю везде isKinematic и придаю немного силы на ту часть тела, куда был произведен последний выстрел. Всё отлично.
5) Осталось выполнить последние два пункта. Решил делать через CharacterController и метод SimpleMove. Добавляю CharacterController, настраиваю капсулу. Проверяю. Черт! Выстрел (Physics.Raycast) возвращает не часть тела, а саму капсулу. Решил тем, что поместил CharacterController на слой "IgnoreRaycast". Проверяю - теперь всё работает.
6) Использую SimpleMove. Блин! Движение какое-то беспонтовое. Дергается и практически стоит на месте. Оказывается, ему мешают коллайдеры (части тела), которые находятся внутри капсулы CharacterController'а. Отключаю коллайдеры - CharacterController перемещается нормально, но теперь не понятно, по какой части тела попадаешь.

И вот, вопрос: что можно с этим сделать? Крайне желательно все действия производить через скрипты, не давая конечному пользователю (настройщику ботов) что-то перед этим химичить и настраивать в различных Manager'ах проекта.
__________________
(Offline)
 
Ответить с цитированием
Старый 30.06.2012, 13:05   #428
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Ну думается можно отвести один слой на то, что в нем никакая физика друг с другом не будет взаимодействовать (выключить все галочки в матрице коллизий на против этого слоя). Туда перенести колайдеры частей тела, по ним стрелять рейкастом именно по этому слою. А когда рагдол - то переносить все в дефолтный слой...

Толкать предметы можно чем-то вроде PhysicsFPSWalker или RigidbodyFPSWalker
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
cahekp (01.07.2012)
Старый 01.07.2012, 10:22   #429
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Вопросы от новичка

А можно ли как-нибудь с помощью скриптов создать / изменить / удалить слои? Чтобы пользователь перед этим вручную не отводил "один слой на то, что в нем никакая физика друг с другом не будет взаимодействовать".
__________________
(Offline)
 
Ответить с цитированием
Старый 01.07.2012, 13:43   #430
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Cлоев всего 32 и все доступны в рантайме, просто большинство не стандартных не имеют имени (если не задать).
Матрицу коллизий в рантайме можно настраивать с помощью Physics.IgnoreLayerCollision

ИМХО найти с помощью LayerMask.LayerToName первый слой без имени и его настроить функцией, приведенной выше.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
cahekp (01.07.2012), WISHMASTER35 (01.07.2012)
Старый 01.07.2012, 15:51   #431
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Скачал вчера новый юнити и сразу начали вылазить ошибки
Mesh.vertices is too small. The supplied vertex array has less vertices than are referenced by the triangles array.
Mesh.uv is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
Mesh.normals is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
Хотя если теперь перед генерацией вызвать mesh.Clear(); то нормально все. С чего такие требования теперь?
(Offline)
 
Ответить с цитированием
Старый 01.07.2012, 15:58   #432
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Новые оптимизации для динамических мешей, тут написано: http://unity3d.com/unity/whats-new/unity-3.5.3
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
WISHMASTER35 (01.07.2012)
Старый 01.07.2012, 16:27   #433
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Graphics: Added Camera.transparencySortMode to control how transparent objects are sorted. If you use a perspective camera for a 2D game, you can have proper object sorting now!
Хм. Может с помощью этого можно будет отсортировать по иерархии.
(Offline)
 
Ответить с цитированием
Старый 01.07.2012, 23:32   #434
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Вопросы от новичка

Сообщение от pax Посмотреть сообщение
Cлоев всего 32 и все доступны в рантайме, просто большинство не стандартных не имеют имени (если не задать).
Матрицу коллизий в рантайме можно настраивать с помощью Physics.IgnoreLayerCollision
Интересная штука. Не знал, что все 32 доступны в рантайме сразу. Спасибо.

По поводу моей задачи: пока изучал Physics.IgnoreLayerCollision, наткнулся на более простую Physics.IgnoreCollision. Этого оказалось достаточно! Даже слои не пришлось использовать. Ура!
Просто в Start'е написал:
CharacterController cc GetComponent<CharacterController>();
foreach (
Collider c in GetComponentsInChildren<Collider>()) {
    if (
!= ccPhysics.IgnoreCollision(ccctrue);

__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (02.07.2012)
Старый 02.07.2012, 23:09   #435
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Как можно сделать красивую не линейную интерполяцию? Т.е. чтобы чем ближе к 0.5 тем быстрее интерполяция.
Сейчас так написал
public static Vector2 SinLerp(Vector2 a, Vector2 b, float frame) {
		if(frame <= 0) return a;
		if(frame >= 1) return b;
		frame = Mathf.Clamp01(frame);
		frame = Mathf.Sin(frame * 90 * Mathf.Deg2Rad);
		return Vector3.Lerp(a, b, frame);
}
Но в начале оно быстро, а в конце медленно.
Вот https://dl.dropbox.com/u/55489242/Di...WebPlayer.html чтобы диаманты красиво менялись.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 13:53.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com