тухлая шапка:
А я люблю обмазываться не свежими ассетами и таскать их мышкой. Каждый день я хожу по ассет стору с черным винтом для ассетов и собераю в него все ассеты которые вижу. На два полных винта целый день уходит. Зато, когда после тяжёлого дня я прихожу домой, иду к компьютеру, включаю юнити...ммм и сваливаю в нее свое сокровище. И таскаю ассеты мышкой, представляя, что меня поглотил единый организм юнити. Мне вообще кажется, что ассеты, умеют думать, у них есть свои семьи, города, чувства, не удаляйте их в корзину, лучше приютите у себя, говорите с ними, ласкайте их.... А вчера за компьютером, мне преснился чудный сон, как будто я нырнул в море, и оно прератилось в ассеты, рыбы, водоросли, медузы, все из ассетов, даже небо, даже Аллах.
Предыдущий тред >>109094 в бамплимите
Полезные ссылки:
http://docs.unity3d.com/Documentation/ScriptReference/ справка по скриптингу в юнити
unity3d.ru - Русскоязычный форум
forum.cgpersia.com - главный пиратский форум для всех юнитибогов, огромная свалка, в которой при желании можно найти практически любой ассет для юнити
https://mega.co.nz/#F!YBNjmZZa!BcEIxhmg6ykJivStEQXVQg -
Сборочка ассетов от доброго анона на 48 Гб. Запускать через хром.
Номер этого треда - 13 или 14 или 15, хуй знает.
Также была длинная подборка линков от анона, но, видимо, проёбана.
Когда уже 4.6 будет? Бетки на торрентах, очевидно, сильно урезаны, отсутствуют фичи из видеопрезентаций. А я только хотел запилить гуй. Кстати, у кого есть "законная" бетка, напишите отзыв, хуле. Как дела с ДК, вообще с производительностью, удобно ли эту всю поеботу скриптами рисовать на канвасе? Я смотрю видео и там только мышкой таскают, мне это не годится.
>>129631
сделай Web build, результатом будет 2 файла с расширениями .html и .unity3d. Оба файла нужно залить на хостинг. Например 3owl.com (бесплатный) или cishost.ru (платный, бесплатно первые 2 недели). В любом случае - будет домен, заливаешь файлы по ftp, сборка будет доступна по адресу домен/названиесборки.html
либо можно использовать специализированный хостинг юнити-веббилдов, например webplayerbuild.ru, там нужно будет загрузить только .unity3d файл и выбрать шаблон.
>>129591
Использую взломанную юнити, ворую ассеты. Если выложить игру на маркет например, но ко мне будут предъявлять претензии. Какие подводные камни?
>>129730
Обесни зачкм тебе выкладывать игру на моркет. Если зороботать денег то купи юнити. Ты успеешь купить на заработанные и перевыложить билд с нормального ключа.
Если бесплатено просто дать людям свою егру тода к тебе никто не приебеться.
>>129798
Еще один из /izd, гоните уебка!
Аноны, хелп. Херня какая то. Делаю сценку, пихаю стандартного 3rdcontroller а этот гнойный ублюдок постоянно бежит вперед и не останавливается. С фирстперсон все нормально, в чем проблема может быть?
>>130049
Все сейчас делают через фёстпирсон, потому что задний вид у них не обновлялся 100.000.000 лет, вообще полное говно, инерция, камера основана на модели а не наоборот. Спизди ассет, никто не узнает.
>>130067
Просто эта хрень у меня там не только в стандартном. Но уже решил с 3rd контроллером, просто каким то образом слетела идл анимация.
Трахаюсь уже какой день с этим уебищным Mekanim. Нашел видео уроки от одного дядьки на ютубе, и вот нихрена не получается. Просто пидорство какое то. Когда другие проекты смотришь, то вроде удобно, и даже более чем. Но у меня никак не получается адекватно сделать персонажа.
>>130071
скачай sample assets (http://u3d.as/6ft) и используй оттуда все. Стандартный 3rd контроллер устарел на технологическую эпоху уже.
>уебищным Mekanim
не смог разобраться с крутейшей фичей - кричи на каждом углу: "кривое говно!"
как трогательно
>>130088
> с крутейшей фичей
Что там крутейшего? Ты аниматор?
>>130088
Я ведь написал, что это удобная вещь.
Асло, реквестирую годных и подробных туторилов на русском языке, по Mekanim.
Аноны, я не пойму, хули юнити такая недружелюбная хуйня?
А думал тут будешь таскать ассеты, в итоге так глядишь и соберешь свою игруню.
Ан нет, нужно кодить точнее перебирать все доступные варианты которые нашел в гугле по тому или иному вопросу, платить 50 тысяч рублей и страдать.
Вы ведь обещали что все так просто будет!
>>130128
Все итак проще некуда, ебаный ты дегенерат. Если ты думаешь, что это сравнимо с написанием своего движка - я ссу тебе в рот. Если ты тупой Кирилл и думаешь, что можно на чем-либо сделать игру мечты, нажав пару кнопок - я ссу тебе в рот. Если ты даже не можешь осилить додиез на уровне массивов, тебе не место в гейбдеве, - я ссу тебе в рот.
Просто умри, бесполезный кусок говна. Ты никогда не добьешься успеха.
>>130092
Крутейшего там много чего - один ретаргетинг анимаций чего стоит! Нодовый редактор контроллера анимаций опять же. Да чего и говорить. Пусть каждый решает сам. Не нравится меканим - поставь себе 3.5 и сиди там как сыч. Бленди анимации скриптами.
>>130128
Если хочешь просто таскать ассеты - поставь любой фреймворк или демо-проект от юнитеков, найди ассетов на замену и таскай. Хотя бы банально сделай roll-a-ball тутор, а? http://goo.gl/MB8G9m
И возражу - все очень просто, даже с кодингом. Суть юнити в том, что она превратила адский труд в просто труд. Но никто не говорил, просто не мог сказать, что ты сможешь сделать что-то, ничего не делая. Это категориально невозможно
Чому у вас в шапке нет ссылок на годные курсы на ангельском офк. Реквестирую их.
Планирую писать джва дэ под мобильные платформы.
Реквестирую учебников и туториалов русскоязычных по Mekanim.
Можно ли как-то напрямую манипулировать скелетом во время проигрывании анимации? Хотелось бы добавить влияние физона.
Ананасы, такая беда, пикрелейтед.
Делаю RigidBody.SweepTest против MeshCollider (Дефолтный Plane). Если точка касания находится на самом треугольнике, возвращается корректная нормаль (Верхняя пикча, жёлтая линия), однако стоит направить Sweep на край треугольника, как нормаль тут же идёт по пизде и возвращается некорректной; Такое ощущение что берётся первый попавшийся треугольник, с которым куб столкнулся гранью а на остальные кладётся хер.
Никто не в курсе как мне получить корректную нормаль на всей модели? (В теории, вместо этого Plane'а будет какая-либо модель).
Отлаживал тут багу пол-часа в этом вашем юнити.
Затрахался мальца. Рестартнул юнити целиком. Бага самоликвидировалась. Код все тот же.
Это нормальный ход поршня для сего супер-тулза?
Блять, анон, что за пиздос, как вернуть старую систему анимаций?
Сука пидоры, как блядь анимации сделать нормально может кто объяснить? Я по урока Валерия Беляева делал. Вроде просто все, а как сам делаю, то пиздец какой то. Может кто сделать туториал? Как там блядские координаты в деревьях работают? Как ни стараюсь, все через жопу.
>>130303
Да ты говноед ебаный смотришь уроки такого же говноеда. Еблан. Посмотри оффициальные туторы по Меканиму, пидор.
>>130299
у анимируемого объекта в сцене удали компонент animator и добавь animation, у модели тип рига поставь legacy
но это жи тупо! меканим точно также можно использовать даже для дверей и сундуков, анимируя их встроенными средствами. По сути - та же старая система, но с новыми удобностями(да, перетащить анимацию в контроллер мышкой удобнее, чем указывать ее имя в скрипте). Но нет, блядь, хотим жрать говно...
>>130295
фактически, то что ты сделал, эквивалентно AssetDatabase.Refresh
Но по идее то конечно все скрипты, которых коснулись изменения должны рекомпилиться, то есть то, что случилось у тебя - не совсем обычно.
Привет, антон. Решил запилить пошаговую недостратегию. Вроде не нуб, но сама система пошаговости вызывает вопросы. Как лучше реализовать "ядро" игры, а именно скрипт, который будет говорить всем объектам что ход закончен этакий OnTurnEnd(). Мне на ум приходит только List<Transform> gos;, в котором находятся все игровые объекты, и при завершения хода им всем посылается сообщение об окончании хода. Может есть какие-то более элегантные решения?
>>130323
Блядь, и как я недодумался?! Ты понимаешь, что не смотри сюда, пидор я не знаю английского. И кстати, интересно это ведь очень полезная штука, а почему туториалов на русском нет? Может хоть бы перевел кто, а лучше свои сделал.
>>130340
Но это говно для даунёнков. Самое важное же что меканим с какого-то хуя берёт на себя обязанности скриптоты, а это очень плохо
Спиздил ассет для Alice-стиля управления.
Они камеру сделали ребёнком модели ГГ, а на саму модель хуйнули mouselook.
Господа, это пиздос.
>>130369
Английский - это самый важный язык для кодера. Не знаешь его - будешь сосать постоянно.
скажите пожалст, как делать кастинг класса в наследуемый класс?
например:
protected class container{
int val = 0;
public container(int some_val){val = some_val;}
}
protected class inherited_class : container{
public inherited_class(int some_val) : base (some_val){}
}
List<container> lib = new List<container>();
void Start(){
lib.Add(new container(123));
lib[0] = (inherited_class)lib[0];
}
я получаю Cannot cast from source type to destination type. а как сделать?
Имею быдлопроблему.
Мой персонаж при повороте камеры поворачивается с едва заметным подлагиванием, однако это нервирует. Памагай.
Нет, поворот не в FixedUpdate().
>>130426
Никак. Если бы у тебя в наследнике было несколько полей - какое бы им значение по твоему передалось?
Можно вот так естественно:
container A = new inherited_class(123)
...
>>130457
Да, я знаю что наследственные классы можно хранить в том от которого они наследуются.
передался бы нулл и меня бы это устроило. но раз нельзя, то писать костыль на этот случай не хочу.
спасибо за ответ.
>>130455
Бампирую. Поворот персонажа кажется идёт позже апдейта камеры.
Как сделать так, чтоб объект смотрел на стену. Lookat смотрит в центр стены.
>>130471
Нарисуй в пэинте или научить формировать вопросы более понятно.
>>130473
Ох. Нужно, чтобы объект встал параллельно стене.
Пилю стратегию в стиле тотал вар/эпоха империй. С чего начать разработку ии?
>>130475
>С чего начать разработку ии?
Придумать ему стратегию и выразить ее через команды юнитов?
>>130474
object.transform.rotation = wall.transform.rotation
Надеюсь, ты понял идею.
>>130477
а как ее придумать. Есть вобще стратегии на юнити, на код которых можно посмотреть?
>>130480
>а как ее придумать.
Ну а что таем придумывать. Для начала, сделаий ИИ школорашера: добывает два вида ресов - строи три казармы - НАБИГАЕТ базовым военом. Потом его усложнишь и приспособишь.
>Есть вобще стратегии на юнити, на код которых можно посмотреть?
Загугли, будь навсегда лаской. Я не знаю.
>>130483
Я кажется протупил: ты говоришь как сделать стратегию как игру, а я как ИИшник, лол.
Если как игру: попробуй собрать геймобжект который может выполнять базовые приказы любой стратежки. Ну и взаимодействовать с другими такимиже обжектами.
>>130485
Нет, в первый раз ты все правильно понял. Я уже кое-что нагуглил
Привет, анон.
Я - Кирилл, который хорошо прокачал скилл в программировании. И даже довёл одну из своих простых Игорь в продакшн.
И вот, наконец, решил сделать чтото посложнее, чем тупая карточная игра. Поэтому обмазался мануалами по юнити и стал усердно готовиться к началу производства Игоря, напоминающего это говнище: https://play.google.com/store/apps/details?id=com.fingersoft.hillclimb
Так вот, терпеливый, анон, есть два стула:
1) На одном стуле появившийся модуль в юнити 4.3 для работы с 2д игрушками и куча уроков к нему
2) Плагин 2dToolkit с еще большим количество уроков.
Что выбрать, анон? Под что подтачиваться?
>>130528
>хорошо прокачал скилл в программировании
ахах не смеши
>>130528
Ванильный юнити вполне себе хорош для 2д.
Слепил на нём masterspark.zz.mu/dyatel , брат жив, зависимость есть.
Анон, спасай.
Есть камера и персонаж. Камера поворачивается независимо от персонажа вокруг него, а персонаж при нажатии WASD бежит в сторону относительно камеры.
Всё вроде бы просто решается через transform.TransformDirection, но тут проблема — камера может смотреть и вверх и вниз, а персонажу можно ходить только в горизонтальной плоскости.
Помоги.
>>130528
Я использую 2дтулкит, а вот физику использую стандартную из 2D Unity 4.3.
Подскажите пожалуйста как организовать.
Есть: плоскость с геймобжектами разных форм и цветов в случайном порядке и случайной формы, на них прикреплен скрипт который при их создании заполняется нужной мне информацией и там есть значение из энам : инт.
я хочу получить карту этих предметов с видом сверху, которая бы хранилась в инт[,], где по х,у значению хранился бы инт значения из энама.
попробовал делать рэйкастинг и каждый раз делать геткомпоненнт - вышло медленновато.
подумал что можно сделать сорт коллекции, или другой 2д массив с этими геймобжектами и для каждого из них делать гемкомпонент только один раз. после чего на все нужные кординаты после рэйкастинга совать нужное число.
но не знаю какой способ быстрей, или как лучше его выразить.
При написании следующего кода:
public class PlayerControl : MonoBehaviour {
public KeyCode MoveUp;
public KeyCode MoveDown;
public float speed=10;
// Use this for initialization
// Update is called once per frame
void Update () {
if (Input.GetKey (MoveUp))
{
rigidbody2D.velocity.y = speed;
}
}
}
>>130555
>rigidbody2D.velocity.y = speed;
Что за спид? У тебя тип данных rigidbody2D.velocity.y не совпадает с типом данных speed. Ньюфаг, учи C#.
>>130559
>public float speed=10;
а, вот что за спид. Все, как я и говорил. Код форматируешь как лох. RTFM
>>130560
а как переделать чтобы было правильно? Вроде velocity.y сам float же
>>130559
>public float speed=10;
Алсо, скорость должна быть вектором. У тебя же все на плоскости происходит. Ты еще и ньюфаг в матанах. Ты в каком классе? Физику уже начали проходить?
>>130561
Заебал. Просто RTFM, написание игр отложи пока что, подучи матан и C#. Сходу у тебя нихуя не получится.
http://docs.unity3d.com/ScriptReference/Rigidbody2D-velocity.html
>The value is not usually set directly but rather by using forces.
Это значит, что тебе следует менять velocity не напрямую, а через механизм_приложения_сил_Юнити, с которым я сам незнаком. Но да, как ты писал в своем тредике, можно попробовать поменять скорость напрямую, при этом скорость должна быть вектором. Ибо по ссылке написано вот это:
>var velocity: Vector2;
что значит, что это вектор двухмерный.
public float speed = new Vector2( 100500, 100500 );
rigidbody2D.velocity = speed;
Сам в юнитях не шарю, может и не заработать.
>>130562
Блять, знаю я все это просто в видео, по которому я обучаюсь
http://www.youtube.com/watch?v=hCysoAoV3dc автор спокойно присваивает velocity.y значение и норм. Алсо, следующий код работает, и я не до конца понимаю, почему.
void Update () {
if (Input.GetKey (MoveUp)) {
Vector2 v = rigidbody2D.velocity;
v.y = speed;
rigidbody2D.velocity = v;
} else {
if (Input.GetKey (MoveDown)) {
Vector2 v = rigidbody2D.velocity;
v.y = -1*speed;
rigidbody2D.velocity = v;
}
else
{
Vector2 v = rigidbody2D.velocity;
v.y = 0;
rigidbody2D.velocity = v;
}
}
>>130564
Юнитей у меня нету, проверить оба варианта не могу. Вот это однозначно колдовство:
Vector2 v = rigidbody2D.velocity;
v.y = speed;
rigidbody2D.velocity = v;
Видяшки не смотри, делай так:
>The value is not usually set directly but rather by using forces.
Подскажите пожалуйста, как настраивать координаты для анимаций в Mecanim? В деревьях смешивания 2D freeform.
Видел как это происходит автоматически, но у меня не выходит. Приходится вручную, и происходит это довольно долго, и само собой неправильно. Есть способ сделать это легче? Или может я просто неправильно настраиваю? Как это делать правильно?
>>130564
На примере твоего дауна понял зачем нужна инкапсуляция в ООП. Какие же вы жалкие уебки, ну поймите, что в ваших хуюнитях обьекты по ссылке блядь передаются! Можешь в обоих случаях убрать rigidbody2D.velocity = v и оно будет всё равно меняться.
А вообще нельзя так менять переменную, есть специльные методы бля! Юнитидевелоперы не для этого вам не стали инкапсулировать все поля, чтобы такие дауны как ты, пытались что-то сделать, сууууука.
Долбоебы везде, ёпт.
>>130605
Пиздос! Нихуя не знает, зато лезет поучать.
Vector2/3/4 - ValueType, Struct, переменной присваивается только копированием. ValueType не может быть равен null.
> А вообще нельзя так менять переменную, есть специльные методы бля!
Это не переменная, бля, это Property, при присвоении которой вызывается метод Set, а при чтении - Get, синтаксический сахар чтобы нигде не писать GetVelocity(), SetVelocity()
Любая ValueType возвращённая из функции это уже копия той переменной которую ты вернул. Так что изменения на возвращённом обьекте не относятся к обьекту хранимому внутри класса. После изменения, его нужно присвоить обратно.
> Долбоебы везде, ёпт.
Кто долбоёб? Ты долбоёб, ёпт!
>>130605
При чем тут передача по ссылке, дибилушка? Если убрать эту строчку и создавать новый вектор, то скорость по x будет зануляться.
>>130564
Разница в том, что при вызове rigidbody2D.velocity ты получаешь каждый раз новый вектор с координатами объекта на момент вызова (ебучие свойства шершавого...). Полученный вектор никак не связан с объектом и запись rigidbody2D.velocity.y = 10 ни к чему абсолютно не приведет. Создастся новый вектор, поменяется у него координата и он канет в небытие. По этому юнити и ругается на тебя. Правильным в данном случае как раз будет получение вектора текущей скорости (Vector2 v = rigidbody2D.velocity), проведение нужных изменений и запись полученного вектора в свойство velocity (rigidbody2D.velocity = v), что собственно и показано во втором примере.
>>130603
ну вот допустим у тебя 4 анимации - ходьба вперед, назад, стрейфом влево и вправо. Управляется все это через 2 параметра - движение вперед-назад и влево-вправо, которые изменяются, допустим, от -1 до 1 каждый. ну и ставишь в дереве WalkForward 1, 0; WalkBackward -1,0; StrafeLeft 0,-1; StrafeRight 0,1;
Так в чем вообще проблема?
>>130609
>ValueType не может быть равен null.
Nullable Value Types поссали тебе на ебло.
>>130642
Вы только посмотрите на этого умника.
А что ты об этом скажешь?
Nullable<int> allah = null;
Console.WriteLine(allah.GetValueOrDefault());
Анон, поясни за инстантинейт. Во всех гайдах пишется, что он очень медленный и мы сейчас его используем просто чтоб не забивать вам голову. Так ли это? Если я, допустим, захочу сделать дробовик, который инстантинейтит ~100 пулек за выстрел, я сосну?
>>130655
Соснёшь. Если делаешь игру на мобилки, то нужно обязательно кешировать объекты и заранее создать нужное количество.
>>130656
Имеешь в виду, что, грубо говоря, эти 100 пулек генерируются в начале где-то за пределами камеры и при выстреле просто переносятся в точку?
>>130658
Да. Вот я как-то делал для одной мобильной игры:
http://pastebin.com/qPiVpt9F
http://pastebin.com/vh8aMJCD
http://pastebin.com/8uZeC8gh
InitialPool кинь на ГеймОбджект на сцене.
Как вы пилите карты уровней. Прям в юнити, или юзаете сторонние проги?
Подскажите пожалуйста где искать примеры кода или статьи, как делать террейн наподобии как в террарии, то есть 2d кубы которые можно копать и чтобы все это не лагало интересует как о как вообще работать с этими кубами, когда и как их отобрадать.
>>130741
Хипстер блять
>>130746
Хипстоблять хуже анимебляди но лучше червя-пидара
Это ани ме тред?
>>130753
Нет блять!!!
>>130741
Для вывода одного тайла требуются четыре вершины (2 треугольника). Создаёшь меш с нужных количеством вершин. Допустим, на экране отображаются 100x80 тайлов, значит нам нужно 100 * 80 * 4 вершин. Вся графика тайлов должна быть в одном атласе. Текстуру нужного тайла задаёшь через UV. Таким образом для вывода всех тайлов тебе понадобится всего лишь один DrawCall, что охуительно быстро. Если один из тайлов пуст, то просто задаёшь ему в UV ноли.
>>130754
Тогда давай отшлёпаем синеблядь.
>>130755
О, спасибо, то что мне надо, для начала.
>>130757
>это видео
Юнити-цари, подскажите. Есть желание написать простецкий 2д-платформер (для саморазвития чисто). Нужно использовать rigidbody2d, если нужны только обычные коллизии и гравитация, или можно не раморачиваться и написать самому?
>>130922
> не раморачиваться и написать самому
> не раморачиваться
> написать самому
Ты какой-то ебанутый.
>>130929
У меня опыт юнити ~1.5 часа. После того, как я сделал персонажа, управление и плоскую платформу (оба rigidbody, платформа кинематик) и после задания объекту велосити он проходил расстояние, а потом, сука, возвращался назад (на плоской платформе с кинематиком) по непонятным мне причинам, я понял, что быстрее сам напишу, чем разберусь с этими делами. Опыта геймдева не имел раньше, если что.
>>130943
Спасибо. Просто я знатный рукожоп и не в первый раз сталкиваюсь с ситуацией, когда готовая реализация адаптируется мною дольше, чем быдлокодится заново.
>>129591
Первая игра сына Кармака.
http://www.1k3c.com/
Зацените как оно, а то мне приблуды юнити не хочется устанавливать.
Решил посвятить второй день копанию в юнити. И вот что я начинаю подозревать: Скажите, а правда, что в юнити нормальной точки входа тупо нет, и GameObject - есмь начало и конец всего? И насколько такая концепция построения приложения годится для чего-то сложнее Марио-лайк-гамез?
(например для TBS-ины, да...)
>>130967
Для 9-ти летнего - в самый раз. Хоть голос у него и мерзкий.
>>131056
Да, всё правильно подозреваешь.
>насколько такая концепция построения приложения годится для чего-то сложнее Марио-лайк-гамез?
Нормально годится для любых жанров игр, включая ммо или шутаны
>>131058
Просто немного непривычно как-то. Я привык сначала придумывать модель данных, а потом на нее уже вешать и вью, и контроль. А тут получается, что вьюшка первична и весь код - это просто обвес к событиям объектов сцены.
Или этот шок у меня от того, что до сего дня я только бизнес-приложения с мелкими БД писал? В гейбдеве так принято?
>>131059
В Юнити компонентная архитектура.
С этим просто надо смириться и понять как она работает. Ничего сложного в ней нет.
MVC не стоит в нее тащить, будет боль.
Если с нуля пишешь - почему нет. Пример - http://www.badlogicgames.com/wordpress/?p=2668
>>131061
Интересная ссылочка. libgdx, говоришь. Как вариант, на самом деле. Тем более, что с джавой немного знаком.
Добра, бро.
>>131064
На самом деле компонентная архитектура очень помогает в геймдеве. Если грамотно разбить крупные цели на небольшие задачи, то смешивая их тем или иным образом можно получать разные результаты. Например можно написать скрипты:
1) для поиска ближайшего объекта с заданным тэгом
2) для поворота в сторону цели
3) для перемещения к цели
При таком раскладе выйдет, что (1)+(2) подойдет для имитации установленной на земле пушки, а (1)+(3) для зомби, который идет к игроку и пытается его убить.
мимо пишу помаленьку свой компонентный движок с использованием libgdx
Пацаны, как в этом Mecanim настроить анимацию прыжка. Смотрите, есть одна анимация прыжка. Если персонаж стоит на месте и прыгает, то он должен просто подлетать вверх и опускатся вниз. Но если он бежит, то он должен лететь по дуге направленной в сторону бега. Как такое организовать?
А то сейчас, если я бегу и жму прыжок, то он останавливается, прыгает вверх на месте, потом опускается и дальше бежит.
>>131086
Два вопроса:
1) Кто у тебя обрабатывает(обновляет) компоненты (или они сами себя в иерархии)?
1) Как удобно расшаривать состояние одного обьекта на его компоненты?
Вот зомб может идти/стоять/атаковать. Допустим приходит команда от компонента ввода "идти туда", но в этот момент зомб может быть занят атакой на другой обьект и ему идти не резон. Получается надо синхронизировать состояние компонента движения и состояние компонента атаки - и это пиздецома, т.к. этим должен заниматься кото-то третий или атака и движение будут "знать" друг о друге. Для двух еще ладно, но когда их больше совсем грустно.
>>131140
та управление всем этим все равно должно происходить из одного места. а для зомби адекватным будет управление вообще всеми зомби из одного места.
кстати о ИИ: http://rivaltheory.com/rain/ клевая ссылка с бесплатным решением где как раз есть бихейвор три на эту тему и весьма клевый.
>>131125
Нужно использовать несколько анимаций. Это довольно очевидно.
1 для прыжка на месте 1 для прыжка в беге, анимация прыжка в беге примерно с той же скоростью перемещения в пространстве что и сам бег.
Вообще - скачай Sample Bets Assets http://u3d.as/6ft и посмотри, как там сделан контроллер для third person, там так круто оформлено, что при прыжке вперед при беге учитывается даже какая нога была выставлена вперед - соответственно прыжок имеет более натуралистичный вид.
>>131156
сенкс, а что сделать, чтобы было видно, какая анимация сейчас проигрывается? ну там должно подсвечиватся как-то, я видел
>>131140
1) Обновляет движок например так:
for(int i = 0; i < gameObjects.size; i++) {
gameObjects.get(i).update(deltaTime);
}
Внутри метода update происходит обновление всех прикрепленных компонентов.
2) При добавлении компонента к игровому объекту можно в компонент записывать ссылку на объект, к которому он принадлежит. Таким образом любой скрипт будет иметь доступ к данным объекта.
В общих чертах это будет выглядеть как-то так:
http://pastebin.com/LY9Gv3j2
Логику еще можно доработать, но основная мысль думаю должна быть понятна.
>>131160
>1) Обновляет движок например так:..
Т.е все компоненты для одного обьекта обновляются одновременно. Так? Это кажется неправильно.
Я думал суть компонентов - это возможная их зависимость от порядка их обновления и других обьектов.
Т.е. напрмер, сначала обновляем все компоненты ввода у всех обьектов, потом считаем передвижение для всех, потом пересечение и колизии(тут зависимость от других обьектов) и т.д. по кол-ву компонентов, а да - самый последний проход отрисовывает это все хозяйство. Была хорошая картинка - не могу счя найти.
>2) В общих чертах это будет выглядеть как-то так:..
Понятно т.е компонет который знает о других компонентах и занимается их синхронизацией. У меня так тоже сделано, но это не айс - невозможно просто накидать компонетов и понадеятся, что между собой они свяжутся правильно, все время нужет это синхронизатор состояний который знает обо всем. И получается один игровой обьект = одному классу синхронизатору - считай уникальный компонет...
>>131165
>считай уникальный компонет...
на грани год-обьекта, ну нахера тогда компонеты если появился год обьект и проще в лобовую нахуячить все через его методы без опосредованых компонентов. Пикрилейт выше.
тропливость не доводит
>>131159
нужно чтобы параллельно с Scene или Game было открыто окно Animator, тогда при выделенном в сцене объекте, на котором находится компонент animator, в окне Animator будет видно, какой animation-state
Объясните на пальцах, как работает AddForce в 2Д режиме. Я пилю
rigidbody2D.AddForce(new Vector2(0,1)*2,ForceMode2D.Impulse);
, а объект исчезает с экрана(думаю, что выходит за пределы).>>131165
>Т.е все компоненты для одного обьекта обновляются одновременно. Так?
Так. Можно выделить отдельные компоненты, которые будут обновляться в заданном порядке, например:
1) Перемещение
2) Подготовка матрицы трансформации
3) Подготовка данных для отрисовки
4) Определение коллизий
5) ...
Для всего остального порядок не так важен
>И получается один игровой обьект = одному классу синхронизатору - считай уникальный компонет...
Не совсем. Можно написать скрипт AggressiveMobController и повесить его на зомби, скелета, паука, etc. Они все будут подходить к игроку и атаковать с заданным уроном и проигрывая свои анимации под именем attackAnimation. Но если каждый моб будет иметь уникальную механику, то вероятно придется писать каждому по скрипту.
Анон, как можно в нормально сделать для гонки следование объекта вдоль маршрута с отклонениями? Что-то вроде аудиосерфа, когда можно менять полосы движения, но общее следование маршруту всегда останется. В принципе даже не обязательно точно следование с текущим отклонением от центра трассы.
Так бы я хранил список точек-чекпоинтов в центре трассы, а дальше брал бы ближайшие к игроку и от них определял, в какую сторону нужно "повернуть" объект. Может для юнити есть более адекватные варианты?
Привет антоны, как менять расстояние от центра?
Vector3.angle не работает, подскажите плз
var target:Transform;
function Update(){
transform.RotateAround (target.transform.position, Vector3.forward, 100 * Time.deltaTime);
if (Input.GetAxis("Horizontal")) {
target.transform.position.x = target.transform.position.x + 1;
}
}
>>131165
Ну, если по-хорошему, то компоненты не делают ничего. И игровые объекты тоже не делают ничего (более того, они даже не существуют). Есть системы, которые апдейтятся по-очереди, соответственно, сначала обновляется ввод, потом весь ии, потом вся отрисовка. "Ходить" и "атаковать" обрабатываются одной системой, поэтому тут проблем нет. Если в юните не так, то это, конечно, отсос.
>суть компонентов
Возможность собирать в рантайме новые объекты. Возможность легко отключать системы (например, можно вынести обсчёт гравитации в отдельную систему, а потом её отключить и получить космос).
>>131282
angle тебе угол между векторами дает, тут от него толку нету
transform.position += (transform.position - target.transform.position).normalized * (newRadius - oldRadius)
transform.position += (transform.position - target.transform.position)* newRadius / oldRadius
>>131285
Это помогло спс
transform.position += (transform.position - target.transform.position)* newRadius / oldRadius
Последний вопросик
Хочу перемещать объект вокруг цели, и чёто несоображу что нужно дописать (координаты изменяются а он не двигается)
var target:Transform;
function Update () {
var speed : float = Input.GetAxisRaw("Horizontal") * Time.deltaTime;
transform.Rotate (0, 0, speed);
}
>>131290
Всмысле координаты? В трансформе у него или где?
Если координаты в трансформе меняются а обхект не двигается то возможно у него стоит галочка static
>>131291
Да, но мне уже без разницы где, уже 3-й день эту суку оживить не могу никак
>>131293
Точнее оживить то могу, а управление по оси прикрутить нет
>>131294
Держи, сам помню ебался долго
http://www.41post.com/4101/programming/unity-rotation-controller
Господа, я ебусь в глаза или документацию к новому гую пока не завезли?
Ну что, писюны. После 5-й версии начнут пилить какую-то имбо стейт машину. И вот ещё кое-что для мобило-макак https://unityads.unity3d.com/crosspromo
Сап, кучаны. Мне выпало уйти в академ и пойти на работу, где я серьёзно пересмотрел последние два года своей жизни. В общем, развлекаться я, похоже, не умею, и "молодости" у меня и так не будет, так что нужно себя хоть любимым делом обеспечить. Ну или нравящимся хотя бы. Сейчас я работаю копирайтером, что совсем не кул, но есть компьютер и порой очень много свободного времени. Умею немного в фотошоп и ещё пару графических пакетов, хочу скачать на работу Unity и осваивать. Учится по бесплатной резанной нормально? Достаточно освоюсь за пару месяцев?
>>131551
Хз скачай да попробуй.
Я вот скачал, стал делать первый туториал - какие-то стрелки часов там блядь. Надо менять их ротацию и цвет со временем. Код написал, к объектам прицепил, всё запускается и не движется нихуя.
Так и забил на это говно.
В крестах можно отдебажить, если что не работает, а тут один гуй и костыли. Что блядь там где не так хуй проссышь.
>>131561
> В крестах можно отдебажить, если что не работает, а тут один гуй и костыли. Что блядь там где не так хуй проссышь.
Посмотрите на долбоеба, который не нашел дебагер в монодевелопе. А если не нравится монодевелоп что вполне естественно, ибо дерьмо есть божественная студия с бесплатным нынче плагином для юнити.
>>131570
И нахуй вся эта донатная костыльная параша, если я поставил штудию и в ней могу всё делать, используя бесплатные библиотеки с нормальным апи?
Да и уе с хрюзисом давно дешевле этого говна.
>>131576
>кудах-кудах кукареку я не осилил документацию и бросил, я не собираюсь делать игры, я собираюсь дрочить на код и движок, ведь я умнее всех вокруг, мамка приносит мне обед прямо к пека
Ясно.
>>131582
Потому что доебали уже. Движок - это, блять, движок, а не инициатор поллюций. Он должен быть шустрым, жрать говно, которое ты ему подсовываешь вместо контента и собственно собирать всё это для употребления сторонними людьми. Дрочка на красоту кода, дрочка на технологию, дрочка на известность бренда, дрочка на ШВАБОДКУ - всё хуйня. Берешь инструкцию и читаешь. Работает - заебись. Не работает - хуйня. Всем поебать на то, ЧТО под капотом у твоего дерьма, если оно не работает. Но все только кукарекают, даже не прочитав блядскую инструкцию. А нахуя? Я НЕ ВИЖУ КНОПКИ СДЕЛАТЬ КРУЗИС, Я УЁБЫВАЮ НА ПИРАТСКИЙ УСРИЛ4. Я НЕ ХОЧУ ОТКРЫВАТЬ ДОКУМЕНТАЦИЮ ПО ДЖВАДЭ, Я ХОЧУ СКОМПИЛИРОВАТЬ ЧУЖОЙ КОД НА КРЕСТАХ ИЗ ПРОТУХШЕГО БЛОГА И ДРОЧИТЬ НА ЭФЕМЕРНЫЕ БАЙТЫ. Я НЕ ХОЧУ ВСПОМИНАТЬ ШКОЛЬНЫЙ КУРС ГЕОМЕТРИИ И ВЕКТОРНОЙ АЛГЕБРЫ, Я ХОЧУ ПРОГРАММИРОВАТЬ МЫШКОЙ aka ТАСКАТЬ СПИЗЖЕННЫЕ МОДЕЛЬКИ И СТАНДАРТНЫЕ ЭФФЕКТЫ А ПОТОМ ОБМАЗЫВАТЬ ИХ СТАНДАРНЫМ БЛЮРОМ И DOF. Проще юнити только гамак, но и тут блять находятся уебки, умудрившиеся не найти дебагер и бугуртить от якобы неполноценности движка. В зеркало, блять, посмотрите. Да ну нахуй всё.
>>131588
У тебя бугурт от того, что твой любимый инструмент, юнити, не очень-то удобный. Дебажить в нем и правда мучение.
>>131589
Я люблю только своего кота. А бугурт у меня от уебков, не читающих мануалы. Он разве написал про мучительный дебаг? Нихуя. Он написал про его ОТСУТСТВИЕ. Это значит, что нихуя не был прочитан мануал и даже не был исследован методом тыка монодевелоп, зато кукарекаем. Если бы он написал про хуевую и странную физику, еботу с шейдерами, отвратительный старый гуй, изобретение собственных велосипедов из соплей и костылей для предотвращения мутации игоря в кучу шевелящегося взаимосвязанного говна, в котором даже сам Аллах не разберется - его право, так оно и есть да и не только в юнити, чо уж там Но ёбаный дебагер мне просто жопу разорвал. Вот ведь пидор, у меня джва дня до выкатки работоговна на продакшон, а я тут бисер мечу.
Официальный сайт:
http://unity3d.com/
Торренты:
http://cgpeers.com/torrents.php?searchstr=unity
Сохранение форматирования кода:
[code]код[/code]
Предыдущий тред:
>>123434