Этого треда уже нет.
Это копия, сохраненная 28 ноября 2014 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
11 Кб, 577x240
Unity #129591 В конец треда | Веб
Официальный сайт:
http://unity3d.com/

Торренты:
http://cgpeers.com/torrents.php?searchstr=unity

Сохранение форматирования кода:
[code]код[/code]

Предыдущий тред:
>>123434
#2 #129592
тухлая шапка:

А я люблю обмазываться не свежими ассетами и таскать их мышкой. Каждый день я хожу по ассет стору с черным винтом для ассетов и собераю в него все ассеты которые вижу. На два полных винта целый день уходит. Зато, когда после тяжёлого дня я прихожу домой, иду к компьютеру, включаю юнити...ммм и сваливаю в нее свое сокровище. И таскаю ассеты мышкой, представляя, что меня поглотил единый организм юнити. Мне вообще кажется, что ассеты, умеют думать, у них есть свои семьи, города, чувства, не удаляйте их в корзину, лучше приютите у себя, говорите с ними, ласкайте их.... А вчера за компьютером, мне преснился чудный сон, как будто я нырнул в море, и оно прератилось в ассеты, рыбы, водоросли, медузы, все из ассетов, даже небо, даже Аллах.
Предыдущий тред >>109094 в бамплимите
Полезные ссылки:
http://docs.unity3d.com/Documentation/ScriptReference/ справка по скриптингу в юнити
unity3d.ru - Русскоязычный форум
forum.cgpersia.com - главный пиратский форум для всех юнитибогов, огромная свалка, в которой при желании можно найти практически любой ассет для юнити
https://mega.co.nz/#F!YBNjmZZa!BcEIxhmg6ykJivStEQXVQg -
Сборочка ассетов от доброго анона на 48 Гб. Запускать через хром.
#3 #129593
Номер этого треда - 13 или 14 или 15, хуй знает.

Также была длинная подборка линков от анона, но, видимо, проёбана.
#4 #129631
>>129591
Как мне выложить игру в онлайн?
#5 #129634
>>129631
Залей на дропбокс в паблик и выложи ссылку
#6 #129644
Когда уже 4.6 будет? Бетки на торрентах, очевидно, сильно урезаны, отсутствуют фичи из видеопрезентаций. А я только хотел запилить гуй. Кстати, у кого есть "законная" бетка, напишите отзыв, хуле. Как дела с ДК, вообще с производительностью, удобно ли эту всю поеботу скриптами рисовать на канвасе? Я смотрю видео и там только мышкой таскают, мне это не годится.
#7 #129697
>>129631
сделай Web build, результатом будет 2 файла с расширениями .html и .unity3d. Оба файла нужно залить на хостинг. Например 3owl.com (бесплатный) или cishost.ru (платный, бесплатно первые 2 недели). В любом случае - будет домен, заливаешь файлы по ftp, сборка будет доступна по адресу домен/названиесборки.html

либо можно использовать специализированный хостинг юнити-веббилдов, например webplayerbuild.ru, там нужно будет загрузить только .unity3d файл и выбрать шаблон.
#8 #129711
>>129631
webplayerbuild.ru
#9 #129730
>>129591
Использую взломанную юнити, ворую ассеты. Если выложить игру на маркет например, но ко мне будут предъявлять претензии. Какие подводные камни?
#10 #129798
>>129730
Обесни зачкм тебе выкладывать игру на моркет. Если зороботать денег то купи юнити. Ты успеешь купить на заработанные и перевыложить билд с нормального ключа.
Если бесплатено просто дать людям свою егру тода к тебе никто не приебеться.
98 Кб, 1252x948
sage #11 #129802
>>129798
Еще один из /izd, гоните уебка!
#12 #130049
Аноны, хелп. Херня какая то. Делаю сценку, пихаю стандартного 3rdcontroller а этот гнойный ублюдок постоянно бежит вперед и не останавливается. С фирстперсон все нормально, в чем проблема может быть?
192 Кб, 680x453
#13 #130067
>>130049
Все сейчас делают через фёстпирсон, потому что задний вид у них не обновлялся 100.000.000 лет, вообще полное говно, инерция, камера основана на модели а не наоборот. Спизди ассет, никто не узнает.
#14 #130071
>>130067
Просто эта хрень у меня там не только в стандартном. Но уже решил с 3rd контроллером, просто каким то образом слетела идл анимация.
Трахаюсь уже какой день с этим уебищным Mekanim. Нашел видео уроки от одного дядьки на ютубе, и вот нихрена не получается. Просто пидорство какое то. Когда другие проекты смотришь, то вроде удобно, и даже более чем. Но у меня никак не получается адекватно сделать персонажа.
#15 #130088
>>130071
скачай sample assets (http://u3d.as/6ft) и используй оттуда все. Стандартный 3rd контроллер устарел на технологическую эпоху уже.

>уебищным Mekanim


не смог разобраться с крутейшей фичей - кричи на каждом углу: "кривое говно!"
как трогательно
#16 #130092
>>130088

> с крутейшей фичей


Что там крутейшего? Ты аниматор?
#17 #130093
>>130088
Я ведь написал, что это удобная вещь.
Асло, реквестирую годных и подробных туторилов на русском языке, по Mekanim.
#18 #130128
Аноны, я не пойму, хули юнити такая недружелюбная хуйня?
А думал тут будешь таскать ассеты, в итоге так глядишь и соберешь свою игруню.

Ан нет, нужно кодить точнее перебирать все доступные варианты которые нашел в гугле по тому или иному вопросу, платить 50 тысяч рублей и страдать.

Вы ведь обещали что все так просто будет!
#19 #130129
>>130128
Все итак проще некуда, ебаный ты дегенерат. Если ты думаешь, что это сравнимо с написанием своего движка - я ссу тебе в рот. Если ты тупой Кирилл и думаешь, что можно на чем-либо сделать игру мечты, нажав пару кнопок - я ссу тебе в рот. Если ты даже не можешь осилить додиез на уровне массивов, тебе не место в гейбдеве, - я ссу тебе в рот.

Просто умри, бесполезный кусок говна. Ты никогда не добьешься успеха.
#20 #130134
>>130129
Как и ты.
#21 #130139
>>130092
Крутейшего там много чего - один ретаргетинг анимаций чего стоит! Нодовый редактор контроллера анимаций опять же. Да чего и говорить. Пусть каждый решает сам. Не нравится меканим - поставь себе 3.5 и сиди там как сыч. Бленди анимации скриптами.
#22 #130140
>>130128
Если хочешь просто таскать ассеты - поставь любой фреймворк или демо-проект от юнитеков, найди ассетов на замену и таскай. Хотя бы банально сделай roll-a-ball тутор, а? http://goo.gl/MB8G9m

И возражу - все очень просто, даже с кодингом. Суть юнити в том, что она превратила адский труд в просто труд. Но никто не говорил, просто не мог сказать, что ты сможешь сделать что-то, ничего не делая. Это категориально невозможно
#23 #130142
Чому у вас в шапке нет ссылок на годные курсы на ангельском офк. Реквестирую их.
Планирую писать джва дэ под мобильные платформы.
#24 #130145
Реквестирую учебников и туториалов русскоязычных по Mekanim.
#25 #130207
Можно ли как-то напрямую манипулировать скелетом во время проигрывании анимации? Хотелось бы добавить влияние физона.
86 Кб, 755x1065
#26 #130282
Ананасы, такая беда, пикрелейтед.

Делаю RigidBody.SweepTest против MeshCollider (Дефолтный Plane). Если точка касания находится на самом треугольнике, возвращается корректная нормаль (Верхняя пикча, жёлтая линия), однако стоит направить Sweep на край треугольника, как нормаль тут же идёт по пизде и возвращается некорректной; Такое ощущение что берётся первый попавшийся треугольник, с которым куб столкнулся гранью а на остальные кладётся хер.

Никто не в курсе как мне получить корректную нормаль на всей модели? (В теории, вместо этого Plane'а будет какая-либо модель).
#27 #130295
Отлаживал тут багу пол-часа в этом вашем юнити.
Затрахался мальца. Рестартнул юнити целиком. Бага самоликвидировалась. Код все тот же.

Это нормальный ход поршня для сего супер-тулза?
#28 #130299
Блять, анон, что за пиздос, как вернуть старую систему анимаций?
#29 #130303
Сука пидоры, как блядь анимации сделать нормально может кто объяснить? Я по урока Валерия Беляева делал. Вроде просто все, а как сам делаю, то пиздец какой то. Может кто сделать туториал? Как там блядские координаты в деревьях работают? Как ни стараюсь, все через жопу.
#30 #130323
>>130303
Да ты говноед ебаный смотришь уроки такого же говноеда. Еблан. Посмотри оффициальные туторы по Меканиму, пидор.
#31 #130340
>>130299
у анимируемого объекта в сцене удали компонент animator и добавь animation, у модели тип рига поставь legacy

но это жи тупо! меканим точно также можно использовать даже для дверей и сундуков, анимируя их встроенными средствами. По сути - та же старая система, но с новыми удобностями(да, перетащить анимацию в контроллер мышкой удобнее, чем указывать ее имя в скрипте). Но нет, блядь, хотим жрать говно...
#32 #130341
>>130295
фактически, то что ты сделал, эквивалентно AssetDatabase.Refresh

Но по идее то конечно все скрипты, которых коснулись изменения должны рекомпилиться, то есть то, что случилось у тебя - не совсем обычно.
#33 #130342
Привет, антон. Решил запилить пошаговую недостратегию. Вроде не нуб, но сама система пошаговости вызывает вопросы. Как лучше реализовать "ядро" игры, а именно скрипт, который будет говорить всем объектам что ход закончен этакий OnTurnEnd(). Мне на ум приходит только List<Transform> gos;, в котором находятся все игровые объекты, и при завершения хода им всем посылается сообщение об окончании хода. Может есть какие-то более элегантные решения?
#34 #130369
>>130323
Блядь, и как я недодумался?! Ты понимаешь, что не смотри сюда, пидор я не знаю английского. И кстати, интересно это ведь очень полезная штука, а почему туториалов на русском нет? Может хоть бы перевел кто, а лучше свои сделал.
#35 #130377
>>130340
Но это говно для даунёнков. Самое важное же что меканим с какого-то хуя берёт на себя обязанности скриптоты, а это очень плохо
18 Кб, 400x300
#36 #130379
Спиздил ассет для Alice-стиля управления.
Они камеру сделали ребёнком модели ГГ, а на саму модель хуйнули mouselook.
Господа, это пиздос.
#37 #130384
>>130379
Действительно
#38 #130390
>>130369
Английский - это самый важный язык для кодера. Не знаешь его - будешь сосать постоянно.
#39 #130391
>>130377
Понятно.
Эффект утенка.
#40 #130426
скажите пожалст, как делать кастинг класса в наследуемый класс?
например:

\tprotected class container{
\t\tint val = 0;
\t\tpublic container(int some_val){val = some_val;}
\t}
\tprotected class inherited_class : container{
\t\tpublic inherited_class(int some_val) : base (some_val){}
\t}
\tList<container> lib = new List<container>();

\tvoid Start(){
\t\tlib.Add(new container(123));
\t\tlib[0] = (inherited_class)lib[0];
\t}

я получаю Cannot cast from source type to destination type. а как сделать?
105 Кб, 910x1081
#41 #130455
Имею быдлопроблему.
Мой персонаж при повороте камеры поворачивается с едва заметным подлагиванием, однако это нервирует. Памагай.
Нет, поворот не в FixedUpdate().
#42 #130457
>>130426
Никак. Если бы у тебя в наследнике было несколько полей - какое бы им значение по твоему передалось?
Можно вот так естественно:
container A = new inherited_class(123)
...
#43 #130459
>>130457
Да, я знаю что наследственные классы можно хранить в том от которого они наследуются.
передался бы нулл и меня бы это устроило. но раз нельзя, то писать костыль на этот случай не хочу.
спасибо за ответ.
101 Кб, 768x1024
#44 #130462
>>130455
Бампирую. Поворот персонажа кажется идёт позже апдейта камеры.
#45 #130463
>>130462
>>130455
Разобрался. Оказывается там есть ExecutionScriptOrder.
#46 #130471
Как сделать так, чтоб объект смотрел на стену. Lookat смотрит в центр стены.
#47 #130473
>>130471
Нарисуй в пэинте или научить формировать вопросы более понятно.
#48 #130474
>>130473
Ох. Нужно, чтобы объект встал параллельно стене.
35 Кб, 300x210
Искусственный интелект #49 #130475
Пилю стратегию в стиле тотал вар/эпоха империй. С чего начать разработку ии?
#50 #130476
>>130471
LoorАt по нормали стены?
#51 #130477
>>130475

>С чего начать разработку ии?


Придумать ему стратегию и выразить ее через команды юнитов?
#52 #130478
>>130474
object.transform.rotation = wall.transform.rotation
Надеюсь, ты понял идею.
#53 #130480
>>130477
а как ее придумать. Есть вобще стратегии на юнити, на код которых можно посмотреть?
#54 #130483
>>130480

>а как ее придумать.


Ну а что таем придумывать. Для начала, сделаий ИИ школорашера: добывает два вида ресов - строи три казармы - НАБИГАЕТ базовым военом. Потом его усложнишь и приспособишь.

>Есть вобще стратегии на юнити, на код которых можно посмотреть?


Загугли, будь навсегда лаской. Я не знаю.
#55 #130485
>>130483
Я кажется протупил: ты говоришь как сделать стратегию как игру, а я как ИИшник, лол.
Если как игру: попробуй собрать геймобжект который может выполнять базовые приказы любой стратежки. Ну и взаимодействовать с другими такимиже обжектами.
#56 #130486
>>130485
Нет, в первый раз ты все правильно понял. Я уже кое-что нагуглил
#57 #130528
Привет, анон.
Я - Кирилл, который хорошо прокачал скилл в программировании. И даже довёл одну из своих простых Игорь в продакшн.
И вот, наконец, решил сделать чтото посложнее, чем тупая карточная игра. Поэтому обмазался мануалами по юнити и стал усердно готовиться к началу производства Игоря, напоминающего это говнище: https://play.google.com/store/apps/details?id=com.fingersoft.hillclimb
Так вот, терпеливый, анон, есть два стула:
1) На одном стуле появившийся модуль в юнити 4.3 для работы с 2д игрушками и куча уроков к нему
2) Плагин 2dToolkit с еще большим количество уроков.
Что выбрать, анон? Под что подтачиваться?
#58 #130530
>>130528

>хорошо прокачал скилл в программировании


ахах не смеши
170 Кб, 1440x960
!86vMARISAE #59 #130531
>>130528
Ванильный юнити вполне себе хорош для 2д.
Слепил на нём masterspark.zz.mu/dyatel , брат жив, зависимость есть.
138 Кб, 700x431
#60 #130533
Анон, спасай.
Есть камера и персонаж. Камера поворачивается независимо от персонажа вокруг него, а персонаж при нажатии WASD бежит в сторону относительно камеры.
Всё вроде бы просто решается через transform.TransformDirection, но тут проблема — камера может смотреть и вверх и вниз, а персонажу можно ходить только в горизонтальной плоскости.
Помоги.
#61 #130534
>>130528
Я использую 2дтулкит, а вот физику использую стандартную из 2D Unity 4.3.
#62 #130536
Подскажите пожалуйста как организовать.
Есть: плоскость с геймобжектами разных форм и цветов в случайном порядке и случайной формы, на них прикреплен скрипт который при их создании заполняется нужной мне информацией и там есть значение из энам : инт.

я хочу получить карту этих предметов с видом сверху, которая бы хранилась в инт[,], где по х,у значению хранился бы инт значения из энама.
попробовал делать рэйкастинг и каждый раз делать геткомпоненнт - вышло медленновато.

подумал что можно сделать сорт коллекции, или другой 2д массив с этими геймобжектами и для каждого из них делать гемкомпонент только один раз. после чего на все нужные кординаты после рэйкастинга совать нужное число.
но не знаю какой способ быстрей, или как лучше его выразить.
123 Кб, 1366x768
#63 #130555
При написании следующего кода:
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;

}
}
}

Юнити выдает ошибку пикрилейтед. Что делать?
#64 #130559
>>130555

>rigidbody2D.velocity.y = speed;


Что за спид? У тебя тип данных rigidbody2D.velocity.y не совпадает с типом данных speed. Ньюфаг, учи C#.
#65 #130560
>>130559

>public float speed=10;


а, вот что за спид. Все, как я и говорил. Код форматируешь как лох. RTFM
#66 #130561
>>130560
а как переделать чтобы было правильно? Вроде velocity.y сам float же
#67 #130562
>>130559

>public float speed=10;


Алсо, скорость должна быть вектором. У тебя же все на плоскости происходит. Ты еще и ньюфаг в матанах. Ты в каком классе? Физику уже начали проходить?
#68 #130563
>>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;

Сам в юнитях не шарю, может и не заработать.
#69 #130564
>>130562
Блять, знаю я все это просто в видео, по которому я обучаюсь
http://www.youtube.com/watch?v=hCysoAoV3dc автор спокойно присваивает velocity.y значение и норм. Алсо, следующий код работает, и я не до конца понимаю, почему.
void Update () {
\t\tif (Input.GetKey (MoveUp)) {
\t\t\t\t\t\tVector2 v = rigidbody2D.velocity;
\t\t\t\t\t\tv.y = speed;
\t\t\t\t\t\trigidbody2D.velocity = v;

\t\t\t\t} else {
\t\t\tif (Input.GetKey (MoveDown)) {
\t\t\t\tVector2 v = rigidbody2D.velocity;
\t\t\t\tv.y = -1*speed;
\t\t\t\trigidbody2D.velocity = v;

\t\t\t\t}
\t\t\telse
\t\t\t{

\t\t\t\t\tVector2 v = rigidbody2D.velocity;
\t\t\t\t\tv.y = 0;
\t\t\t\t\trigidbody2D.velocity = v;
\t\t\t}
\t\t\t
}

Может объяснишь?
#70 #130566
>>130564
Юнитей у меня нету, проверить оба варианта не могу. Вот это однозначно колдовство:
Vector2 v = rigidbody2D.velocity;
v.y = speed;
rigidbody2D.velocity = v;

Видяшки не смотри, делай так:

>The value is not usually set directly but rather by using forces.

#71 #130603
Подскажите пожалуйста, как настраивать координаты для анимаций в Mecanim? В деревьях смешивания 2D freeform.
Видел как это происходит автоматически, но у меня не выходит. Приходится вручную, и происходит это довольно долго, и само собой неправильно. Есть способ сделать это легче? Или может я просто неправильно настраиваю? Как это делать правильно?
#72 #130605
>>130564
На примере твоего дауна понял зачем нужна инкапсуляция в ООП. Какие же вы жалкие уебки, ну поймите, что в ваших хуюнитях обьекты по ссылке блядь передаются! Можешь в обоих случаях убрать rigidbody2D.velocity = v и оно будет всё равно меняться.
А вообще нельзя так менять переменную, есть специльные методы бля! Юнитидевелоперы не для этого вам не стали инкапсулировать все поля, чтобы такие дауны как ты, пытались что-то сделать, сууууука.
Долбоебы везде, ёпт.
247 Кб, 603x336
#73 #130609
>>130605

Пиздос! Нихуя не знает, зато лезет поучать.

Vector2/3/4 - ValueType, Struct, переменной присваивается только копированием. ValueType не может быть равен null.

> А вообще нельзя так менять переменную, есть специльные методы бля!


Это не переменная, бля, это Property, при присвоении которой вызывается метод Set, а при чтении - Get, синтаксический сахар чтобы нигде не писать GetVelocity(), SetVelocity()

Любая ValueType возвращённая из функции это уже копия той переменной которую ты вернул. Так что изменения на возвращённом обьекте не относятся к обьекту хранимому внутри класса. После изменения, его нужно присвоить обратно.

> Долбоебы везде, ёпт.


Кто долбоёб? Ты долбоёб, ёпт!
#74 #130610
>>130605
При чем тут передача по ссылке, дибилушка? Если убрать эту строчку и создавать новый вектор, то скорость по x будет зануляться.
>>130564
Разница в том, что при вызове rigidbody2D.velocity ты получаешь каждый раз новый вектор с координатами объекта на момент вызова (ебучие свойства шершавого...). Полученный вектор никак не связан с объектом и запись rigidbody2D.velocity.y = 10 ни к чему абсолютно не приведет. Создастся новый вектор, поменяется у него координата и он канет в небытие. По этому юнити и ругается на тебя. Правильным в данном случае как раз будет получение вектора текущей скорости (Vector2 v = rigidbody2D.velocity), проведение нужных изменений и запись полученного вектора в свойство velocity (rigidbody2D.velocity = v), что собственно и показано во втором примере.
#75 #130611
>>130605
Жопой читаю... >>130610 -кун
Быстрофикс: если убрать rigidbody2D.velocity = v, то нихрена меняться не будет.
#76 #130621
>>130603
ну вот допустим у тебя 4 анимации - ходьба вперед, назад, стрейфом влево и вправо. Управляется все это через 2 параметра - движение вперед-назад и влево-вправо, которые изменяются, допустим, от -1 до 1 каждый. ну и ставишь в дереве WalkForward 1, 0; WalkBackward -1,0; StrafeLeft 0,-1; StrafeRight 0,1;

Так в чем вообще проблема?
sage #77 #130642
>>130609

>ValueType не может быть равен null.


Nullable Value Types поссали тебе на ебло.
#78 #130654
>>130642
Вы только посмотрите на этого умника.

А что ты об этом скажешь?

Nullable<int> allah = null;
Console.WriteLine(allah.GetValueOrDefault());


О чудо, я присвоил null, но при этом я всё равно могу обращаться к этой структуре. Значит нет никакого нуля, пидрилюк! Просто там чит с использованием explicit. Маму ебал твою!
#79 #130655
Анон, поясни за инстантинейт. Во всех гайдах пишется, что он очень медленный и мы сейчас его используем просто чтоб не забивать вам голову. Так ли это? Если я, допустим, захочу сделать дробовик, который инстантинейтит ~100 пулек за выстрел, я сосну?
#80 #130656
>>130655
Соснёшь. Если делаешь игру на мобилки, то нужно обязательно кешировать объекты и заранее создать нужное количество.
#81 #130658
>>130656
Имеешь в виду, что, грубо говоря, эти 100 пулек генерируются в начале где-то за пределами камеры и при выстреле просто переносятся в точку?
#82 #130664
>>130658
Да. Вот я как-то делал для одной мобильной игры:
http://pastebin.com/qPiVpt9F
http://pastebin.com/vh8aMJCD
http://pastebin.com/8uZeC8gh

InitialPool кинь на ГеймОбджект на сцене.
#83 #130666
>>130664
Ясно, спасибо.
127 Кб, 600x340
#85 #130737
Как вы пилите карты уровней. Прям в юнити, или юзаете сторонние проги?
#86 #130741
Подскажите пожалуйста где искать примеры кода или статьи, как делать террейн наподобии как в террарии, то есть 2d кубы которые можно копать и чтобы все это не лагало интересует как о как вообще работать с этими кубами, когда и как их отобрадать.
24 Кб, 400x300
#87 #130743
>>130741
Хипстер блять
#88 #130746
>>130743
Главное, что не анимеблядь.
#89 #130752
>>130746
Хипстоблять хуже анимебляди но лучше червя-пидара
76 Кб, Webm
#90 #130753
Это ани ме тред?
233 Кб, 640x480
#91 #130754
>>130753
Нет блять!!!
108 Кб, 816x1158
#92 #130755
>>130741
Для вывода одного тайла требуются четыре вершины (2 треугольника). Создаёшь меш с нужных количеством вершин. Допустим, на экране отображаются 100x80 тайлов, значит нам нужно 100 * 80 * 4 вершин. Вся графика тайлов должна быть в одном атласе. Текстуру нужного тайла задаёшь через UV. Таким образом для вывода всех тайлов тебе понадобится всего лишь один DrawCall, что охуительно быстро. Если один из тайлов пуст, то просто задаёшь ему в UV ноли.
1814 Кб, 400x230
#93 #130756
>>130754
Тогда давай отшлёпаем синеблядь.
6111 Кб, Webm
#94 #130757
>>130755
О, спасибо, то что мне надо, для начала.
1057 Кб, 250x190
#95 #130774
>>130757

>это видео

#96 #130797
>>130774
А у меня где-то был тредик даже созранён!
#97 #130922
Юнити-цари, подскажите. Есть желание написать простецкий 2д-платформер (для саморазвития чисто). Нужно использовать rigidbody2d, если нужны только обычные коллизии и гравитация, или можно не раморачиваться и написать самому?
23 Кб, 456x297
#98 #130929
>>130922

> не раморачиваться и написать самому


> не раморачиваться


> написать самому


Ты какой-то ебанутый.
#99 #130931
>>130929
У меня опыт юнити ~1.5 часа. После того, как я сделал персонажа, управление и плоскую платформу (оба rigidbody, платформа кинематик) и после задания объекту велосити он проходил расстояние, а потом, сука, возвращался назад (на плоской платформе с кинематиком) по непонятным мне причинам, я понял, что быстрее сам напишу, чем разберусь с этими делами. Опыта геймдева не имел раньше, если что.
#100 #130943
>>130922
Используй CharacterController
#101 #130950
>>130943
Спасибо. Просто я знатный рукожоп и не в первый раз сталкиваюсь с ситуацией, когда готовая реализация адаптируется мною дольше, чем быдлокодится заново.
#102 #130967
>>129591
Первая игра сына Кармака.
http://www.1k3c.com/
Зацените как оно, а то мне приблуды юнити не хочется устанавливать.
#103 #131056
Решил посвятить второй день копанию в юнити. И вот что я начинаю подозревать: Скажите, а правда, что в юнити нормальной точки входа тупо нет, и GameObject - есмь начало и конец всего? И насколько такая концепция построения приложения годится для чего-то сложнее Марио-лайк-гамез?
(например для TBS-ины, да...)
#104 #131057
>>130967
Для 9-ти летнего - в самый раз. Хоть голос у него и мерзкий.
#105 #131058
>>131056
Да, всё правильно подозреваешь.

>насколько такая концепция построения приложения годится для чего-то сложнее Марио-лайк-гамез?


Нормально годится для любых жанров игр, включая ммо или шутаны
#106 #131059
>>131058
Просто немного непривычно как-то. Я привык сначала придумывать модель данных, а потом на нее уже вешать и вью, и контроль. А тут получается, что вьюшка первична и весь код - это просто обвес к событиям объектов сцены.

Или этот шок у меня от того, что до сего дня я только бизнес-приложения с мелкими БД писал? В гейбдеве так принято?
#107 #131061
>>131059
В Юнити компонентная архитектура.
С этим просто надо смириться и понять как она работает. Ничего сложного в ней нет.
MVC не стоит в нее тащить, будет боль.
Если с нуля пишешь - почему нет. Пример - http://www.badlogicgames.com/wordpress/?p=2668
#108 #131064
>>131061
Интересная ссылочка. libgdx, говоришь. Как вариант, на самом деле. Тем более, что с джавой немного знаком.

Добра, бро.
#109 #131086
>>131064
На самом деле компонентная архитектура очень помогает в геймдеве. Если грамотно разбить крупные цели на небольшие задачи, то смешивая их тем или иным образом можно получать разные результаты. Например можно написать скрипты:
1) для поиска ближайшего объекта с заданным тэгом
2) для поворота в сторону цели
3) для перемещения к цели
При таком раскладе выйдет, что (1)+(2) подойдет для имитации установленной на земле пушки, а (1)+(3) для зомби, который идет к игроку и пытается его убить.

мимо пишу помаленьку свой компонентный движок с использованием libgdx
#110 #131125
Пацаны, как в этом Mecanim настроить анимацию прыжка. Смотрите, есть одна анимация прыжка. Если персонаж стоит на месте и прыгает, то он должен просто подлетать вверх и опускатся вниз. Но если он бежит, то он должен лететь по дуге направленной в сторону бега. Как такое организовать?
А то сейчас, если я бегу и жму прыжок, то он останавливается, прыгает вверх на месте, потом опускается и дальше бежит.
61 Кб, 460x604
#111 #131140
>>131086
Два вопроса:

1) Кто у тебя обрабатывает(обновляет) компоненты (или они сами себя в иерархии)?

1) Как удобно расшаривать состояние одного обьекта на его компоненты?
Вот зомб может идти/стоять/атаковать. Допустим приходит команда от компонента ввода "идти туда", но в этот момент зомб может быть занят атакой на другой обьект и ему идти не резон. Получается надо синхронизировать состояние компонента движения и состояние компонента атаки - и это пиздецома, т.к. этим должен заниматься кото-то третий или атака и движение будут "знать" друг о друге. Для двух еще ладно, но когда их больше совсем грустно.
#112 #131152
>>131140
та управление всем этим все равно должно происходить из одного места. а для зомби адекватным будет управление вообще всеми зомби из одного места.
кстати о ИИ: http://rivaltheory.com/rain/ клевая ссылка с бесплатным решением где как раз есть бихейвор три на эту тему и весьма клевый.
15 Кб, 183x97
#113 #131156
>>131125
Нужно использовать несколько анимаций. Это довольно очевидно.

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

Вообще - скачай Sample Bets Assets http://u3d.as/6ft и посмотри, как там сделан контроллер для third person, там так круто оформлено, что при прыжке вперед при беге учитывается даже какая нога была выставлена вперед - соответственно прыжок имеет более натуралистичный вид.
#114 #131159
>>131156
сенкс, а что сделать, чтобы было видно, какая анимация сейчас проигрывается? ну там должно подсвечиватся как-то, я видел
#115 #131160
>>131140
1) Обновляет движок например так:
for(int i = 0; i < gameObjects.size; i++) {
gameObjects.get(i).update(deltaTime);
}
Внутри метода update происходит обновление всех прикрепленных компонентов.
2) При добавлении компонента к игровому объекту можно в компонент записывать ссылку на объект, к которому он принадлежит. Таким образом любой скрипт будет иметь доступ к данным объекта.
В общих чертах это будет выглядеть как-то так:
http://pastebin.com/LY9Gv3j2
Логику еще можно доработать, но основная мысль думаю должна быть понятна.
107 Кб, 604x600
#116 #131165
>>131160

>1) Обновляет движок например так:..


Т.е все компоненты для одного обьекта обновляются одновременно. Так? Это кажется неправильно.

Я думал суть компонентов - это возможная их зависимость от порядка их обновления и других обьектов.
Т.е. напрмер, сначала обновляем все компоненты ввода у всех обьектов, потом считаем передвижение для всех, потом пересечение и колизии(тут зависимость от других обьектов) и т.д. по кол-ву компонентов, а да - самый последний проход отрисовывает это все хозяйство. Была хорошая картинка - не могу счя найти.

>2) В общих чертах это будет выглядеть как-то так:..


Понятно т.е компонет который знает о других компонентах и занимается их синхронизацией. У меня так тоже сделано, но это не айс - невозможно просто накидать компонетов и понадеятся, что между собой они свяжутся правильно, все время нужет это синхронизатор состояний который знает обо всем. И получается один игровой обьект = одному классу синхронизатору - считай уникальный компонет...
#117 #131168
>>131165

>считай уникальный компонет...


на грани год-обьекта, ну нахера тогда компонеты если появился год обьект и проще в лобовую нахуячить все через его методы без опосредованых компонентов. Пикрилейт выше.

тропливость не доводит
923 Кб, 1121x933
#118 #131169
>>131159
нужно чтобы параллельно с Scene или Game было открыто окно Animator, тогда при выделенном в сцене объекте, на котором находится компонент animator, в окне Animator будет видно, какой animation-state
#119 #131170
>>131169
сенкс)))
#120 #131171
>>131160
Ебашьте менеджеры-синглтоны и не ебите моск.
169 Кб, 1200x981
#121 #131176
Объясните на пальцах, как работает AddForce в 2Д режиме. Я пилю
rigidbody2D.AddForce(new Vector2(0,1)*2,ForceMode2D.Impulse);
, а объект исчезает с экрана(думаю, что выходит за пределы).
#122 #131181
>>131165

>Т.е все компоненты для одного обьекта обновляются одновременно. Так?


Так. Можно выделить отдельные компоненты, которые будут обновляться в заданном порядке, например:
1) Перемещение
2) Подготовка матрицы трансформации
3) Подготовка данных для отрисовки
4) Определение коллизий
5) ...
Для всего остального порядок не так важен

>И получается один игровой обьект = одному классу синхронизатору - считай уникальный компонет...


Не совсем. Можно написать скрипт AggressiveMobController и повесить его на зомби, скелета, паука, etc. Они все будут подходить к игроку и атаковать с заданным уроном и проигрывая свои анимации под именем attackAnimation. Но если каждый моб будет иметь уникальную механику, то вероятно придется писать каждому по скрипту.
#123 #131280
Анон, как можно в нормально сделать для гонки следование объекта вдоль маршрута с отклонениями? Что-то вроде аудиосерфа, когда можно менять полосы движения, но общее следование маршруту всегда останется. В принципе даже не обязательно точно следование с текущим отклонением от центра трассы.
Так бы я хранил список точек-чекпоинтов в центре трассы, а дальше брал бы ближайшие к игроку и от них определял, в какую сторону нужно "повернуть" объект. Может для юнити есть более адекватные варианты?
39 Кб, 565x543
#124 #131282
Привет антоны, как менять расстояние от центра?
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;

}

}
#125 #131284
>>131165
Ну, если по-хорошему, то компоненты не делают ничего. И игровые объекты тоже не делают ничего (более того, они даже не существуют). Есть системы, которые апдейтятся по-очереди, соответственно, сначала обновляется ввод, потом весь ии, потом вся отрисовка. "Ходить" и "атаковать" обрабатываются одной системой, поэтому тут проблем нет. Если в юните не так, то это, конечно, отсос.

>суть компонентов


Возможность собирать в рантайме новые объекты. Возможность легко отключать системы (например, можно вынести обсчёт гравитации в отдельную систему, а потом её отключить и получить космос).
#126 #131285
>>131282
angle тебе угол между векторами дает, тут от него толку нету
transform.position += (transform.position - target.transform.position).normalized * (newRadius - oldRadius)

или
transform.position += (transform.position - target.transform.position)* newRadius / oldRadius
149 Кб, 500x311
#127 #131290
>>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);\t
}
#128 #131291
>>131290
Всмысле координаты? В трансформе у него или где?
Если координаты в трансформе меняются а обхект не двигается то возможно у него стоит галочка static
#129 #131293
>>131291
Да, но мне уже без разницы где, уже 3-й день эту суку оживить не могу никак
#130 #131294
>>131293
Точнее оживить то могу, а управление по оси прикрутить нет
278 Кб, 500x500
#131 #131317
>>131294
Держи, сам помню ебался долго
http://www.41post.com/4101/programming/unity-rotation-controller
334 Кб, 990x707
#132 #131439
Господа, я ебусь в глаза или документацию к новому гую пока не завезли?
#133 #131444
>>131439
Таки ебусь, завезли.
#134 #131469
Ну что, писюны. После 5-й версии начнут пилить какую-то имбо стейт машину. И вот ещё кое-что для мобило-макак https://unityads.unity3d.com/crosspromo
#135 #131551
Сап, кучаны. Мне выпало уйти в академ и пойти на работу, где я серьёзно пересмотрел последние два года своей жизни. В общем, развлекаться я, похоже, не умею, и "молодости" у меня и так не будет, так что нужно себя хоть любимым делом обеспечить. Ну или нравящимся хотя бы. Сейчас я работаю копирайтером, что совсем не кул, но есть компьютер и порой очень много свободного времени. Умею немного в фотошоп и ещё пару графических пакетов, хочу скачать на работу Unity и осваивать. Учится по бесплатной резанной нормально? Достаточно освоюсь за пару месяцев?
27 Кб, 450x410
#136 #131561
>>131551
Хз скачай да попробуй.
Я вот скачал, стал делать первый туториал - какие-то стрелки часов там блядь. Надо менять их ротацию и цвет со временем. Код написал, к объектам прицепил, всё запускается и не движется нихуя.
Так и забил на это говно.
В крестах можно отдебажить, если что не работает, а тут один гуй и костыли. Что блядь там где не так хуй проссышь.
147 Кб, 293x380
#137 #131570
>>131561

> В крестах можно отдебажить, если что не работает, а тут один гуй и костыли. Что блядь там где не так хуй проссышь.



Посмотрите на долбоеба, который не нашел дебагер в монодевелопе. А если не нравится монодевелоп что вполне естественно, ибо дерьмо есть божественная студия с бесплатным нынче плагином для юнити.
sage #138 #131576
>>131570
И нахуй вся эта донатная костыльная параша, если я поставил штудию и в ней могу всё делать, используя бесплатные библиотеки с нормальным апи?
Да и уе с хрюзисом давно дешевле этого говна.
#139 #131578
>>131576

>кудах-кудах кукареку я не осилил документацию и бросил, я не собираюсь делать игры, я собираюсь дрочить на код и движок, ведь я умнее всех вокруг, мамка приносит мне обед прямо к пека



Ясно.
#140 #131581
>>131578
Ну мааам, зачем ты так.
#141 #131582
>>131578
Но почему такая боль?
13 Кб, 200x191
#142 #131588
>>131582
Потому что доебали уже. Движок - это, блять, движок, а не инициатор поллюций. Он должен быть шустрым, жрать говно, которое ты ему подсовываешь вместо контента и собственно собирать всё это для употребления сторонними людьми. Дрочка на красоту кода, дрочка на технологию, дрочка на известность бренда, дрочка на ШВАБОДКУ - всё хуйня. Берешь инструкцию и читаешь. Работает - заебись. Не работает - хуйня. Всем поебать на то, ЧТО под капотом у твоего дерьма, если оно не работает. Но все только кукарекают, даже не прочитав блядскую инструкцию. А нахуя? Я НЕ ВИЖУ КНОПКИ СДЕЛАТЬ КРУЗИС, Я УЁБЫВАЮ НА ПИРАТСКИЙ УСРИЛ4. Я НЕ ХОЧУ ОТКРЫВАТЬ ДОКУМЕНТАЦИЮ ПО ДЖВАДЭ, Я ХОЧУ СКОМПИЛИРОВАТЬ ЧУЖОЙ КОД НА КРЕСТАХ ИЗ ПРОТУХШЕГО БЛОГА И ДРОЧИТЬ НА ЭФЕМЕРНЫЕ БАЙТЫ. Я НЕ ХОЧУ ВСПОМИНАТЬ ШКОЛЬНЫЙ КУРС ГЕОМЕТРИИ И ВЕКТОРНОЙ АЛГЕБРЫ, Я ХОЧУ ПРОГРАММИРОВАТЬ МЫШКОЙ aka ТАСКАТЬ СПИЗЖЕННЫЕ МОДЕЛЬКИ И СТАНДАРТНЫЕ ЭФФЕКТЫ А ПОТОМ ОБМАЗЫВАТЬ ИХ СТАНДАРНЫМ БЛЮРОМ И DOF. Проще юнити только гамак, но и тут блять находятся уебки, умудрившиеся не найти дебагер и бугуртить от якобы неполноценности движка. В зеркало, блять, посмотрите. Да ну нахуй всё.
#143 #131589
>>131588
У тебя бугурт от того, что твой любимый инструмент, юнити, не очень-то удобный. Дебажить в нем и правда мучение.
#144 #131590
>>131589
Я люблю только своего кота. А бугурт у меня от уебков, не читающих мануалы. Он разве написал про мучительный дебаг? Нихуя. Он написал про его ОТСУТСТВИЕ. Это значит, что нихуя не был прочитан мануал и даже не был исследован методом тыка монодевелоп, зато кукарекаем. Если бы он написал про хуевую и странную физику, еботу с шейдерами, отвратительный старый гуй, изобретение собственных велосипедов из соплей и костылей для предотвращения мутации игоря в кучу шевелящегося взаимосвязанного говна, в котором даже сам Аллах не разберется - его право, так оно и есть да и не только в юнити, чо уж там Но ёбаный дебагер мне просто жопу разорвал. Вот ведь пидор, у меня джва дня до выкатки работоговна на продакшон, а я тут бисер мечу.
#145 #131644
>>131561

дебажь алертами в консоль, в чем проблема то?
вот же ты скудоумок.
43 Кб, 1040x460
#146 #131688
>>129591
Какими должны быть настройки лайтмаппинга, чтобы было охуенно? А то сейчас хуерга какая-то с непонятными тенями.
#147 #131697
>>131688
Вся суть юнитиблядков. ДАЙТИ НАМ КНОПКУ "СДЕЛАТЬ ХАРАШО" МЫ САМИ НИХУЯ НЕ ЗНАЕМ НИХУЯ НЕ УМЕЕМ
#148 #131698
>>131697
С чего ты начал меня оскарблять? Я не прошу волшебную кнопку, я прошу объяснить в кратце, ведь наверняка много анонов разбираются в этом, и им не составит труда изложить мне нужную инфу в нескольких предложениях.
#149 #131700
Есть вопрос по game maker. При продаже игры на их движке, он получают процент? Как вообще обстоят дела с этим движком?
#150 #131701
>>131700

>Как вообще обстоят дела


Нормально, братух. Сам-то как?
#151 #131702
>>131701
Шикарно.
#152 #131711
Вот и наступил 3-й день моего погружения в unity.

И вопрос сегодняшнего дня: а рисовать на спрайте и вообще всякие процедурно-генерируемые текстуры использовать тут можно? А то что-то гугль мне на эту тему уже 15 минут какую-то ахинею выдает.
#153 #131713
>>131590

>для предотвращения мутации игоря в кучу шевелящегося взаимосвязанного говна



Ага, я как раз рядом с этим этапом. Жоппой чую.
#154 #131714
>>131711
Да, можно создавать Texture2D объекты и рисовать на них процедурно. Я только упаковщики делал, но есть плагины, которые рисование реализуют
#155 #131715
>>131714
Спасибо, бро. Но, вроде уже нашлось таки: Texture2D.SetPixels, кажись оно. Будем почитать.
#156 #131718
Анон, на cgpeers уже раздают unity 5 beta. Расскажи что там есть отличного от unity 4.6. А то мне с моим интернетом долго качать?

Только расскажи не то что будет в релизной пятерке (я и так знаю где это почитать), а то что уже есть готового в бета
#157 #131720
>>131718
Еще ж 4.6 толком не вышла, зачем так далеко загадывать?
125 Кб, 1664x992
256 Кб, 1652x990
270 Кб, 1652x990
283 Кб, 1656x996
#158 #131721
Давно в тред не писал. доволен. перелопатил весь код так что теперь все делается раза в четыре быстрей, сделал речки (на которых я наконец понял как же работают ссылки в шарпе и все стало быстрей и лучше) и это заняло явно больше времени чем ожидал. сделал вменяемый менеджер всякой хуйни для карты, вроде сплатмапов, травы, деревьев, в которой все рассовано по полочкам и друг у друга хватает нужные значения (разве что гуи не написал. ну и хуй с ним), а мне надо только писать цыфры где чего и сколько делать да ассеты мышкой таскать.
Собственно, подскажите где можно почитать про разные способы генерации паттернов карты, да и вообще карты? сейчас способ их генерации так себе. все фрагменты по периметру делаются водяными, делается несколько случайных островков, а дальше по очереди берется то случайно земля, то случайно вода и делает соседний фрагмент как сам. и есть 30% шанс что на следующем "ходу" появится земля в случайном месте, для компенсации того что в начале фрагментов воды по периметру явно больше, чем земли. это работает и порой выходят клевые результаты, но ничего более клевого я так и не придумал.

>>131711
Да. Рисуется. Только в конце апплайнуть результат надо. например экзампл который я использую для дебага 2д массива с значениями 0f-1f.

public static Texture2D MakeImage(this float[,] array){
\tTexture2D Result = new Texture2D(array.GetLength(0), array.GetLength(1));
\tfor (int x = 0; x < array.GetLength(0); x++) {
\t\tfor (int y = 0; y < array.GetLength(1); y++) {
\t\t\tResult.SetPixel(x,y,new Color(array[x,y],array[x,y],array[x,y]));
\t\t}
\t}
\tResult.Apply();
\treturn Result;
}\t



>>131688
Что увидеть то в итоге хочешь? опции тени находятся в настройках света. еще немного можешь найти в прожект сеттингс > кволити.
#159 #131722
>>131688
Алсо еще есть лайтмапы которые можешь найти в соответствующей менюшке, в которой можно делать пререндереные тени.
#160 #131723
>>131688
Для разных случаев настройки разные.
Выдели под это дело целый день и попробуй разные варианты.
Для начала поставь качество пониже, поменьше отскоков и лучей. Попробуй все варианты. Наиболее понравившийся запечешь с максимальным качеством, но все равно будь готов к тому, чтобы переделывать.
Универсального рецепта нет.
#161 #131724
>>131721
Лучший ланшафт генерится перлином, и его вариациями. Можно накладывать друг на друга перлины, делать маски, делать детали, в общем кучу всего можно придумать.
368 Кб, 1326x1002
#162 #131726
>>131724
Да пробовал я всякие нойсы, в итоге выходило слишком однообразно. все что вынес сейчас разве что в сплатмапах и травке применяется.
Это было бы удобно если бы я хотел делать мир генерящийся навроде майнкрафтика, но я хочу чтобы карта состояла из островов. поэтому решил что можно генерировать сразу весь остров целиком.
!!2TJEXn7IY6 #163 #131734
>>130463
Использовать его это расписаться в своей криворукости и корявом дизайне. Используй LateUpdate()
!!2TJEXn7IY6 #164 #131735
>>130459
Можно писать "x as y". Вернёт null если x нельзя привести к y.
#165 #131736
>>131176
Чтобы не думать, выдели его в иерархии и посмотри что с ним происходит (координаты там в бесконечность уходят или ещё что).
43 Кб, 1041x460
#167 #131747
>>131721

> Что увидеть то в итоге хочешь? опции тени находятся в настройках света. еще немного можешь найти в прожект сеттингс > кволити.


хотеть увидеть плавненькие тени, и чтоб они небыли чисто черными, как у меня сейчас. Я настраиваю силу теней в настройках Directional Light, но это нифига не помогает
#168 #131772
>>131747

>хотеть увидеть плавненькие тени, и чтоб они небыли чисто черными, как у меня сейчас.


Чтобы тени не были чисто черными, на место тени должен ложиться свет, это очень просто.

Что это за свет - свечение неба (Sky Light Intensity) или дополнительные "отсветы" лучей - световой рефлекс (Bounces), а может быть дополнительный дирекшнал лайт без теней или что-то еще - решать тебе.
35 Кб, 1030x461
#169 #131774
>>131772
сенкс)) а как получить более качественный "градиент", а то у меня какие-то "ступеньки" получаются
#170 #131776
>>131774
Сглаживание теней
#171 #131777
>>131776
А где оно настраивается?
426 Кб, 924x900
#172 #131779
>>131774

>"ступеньки" получаются



чекни в едиторе отображение разрешения лайтмаппинга и настрой это самое разрешение, чтобы клетки были достаточно мелкими, чтобы не было заметно лесенки и достаточно крупными, чтобы сократить время запекания.

Поставь количество лучей побольше, если у тебя "про" версия или просто Quality: High сделай.

Проблема может быть также в само модели, у меня помню был случай, когда на скетчап-модель лайтмапа ну никак не хотела печься ровно из-за кривой развертки.

Вообще, чувствуется, что мануал по лайтмаппингу (http://docs.unity3d.com/Manual/Lightmapping.html) ты не читал, методом научного тыка тоже не разбирался. Исправляйся.
#173 #131780
>>131779
сенкс))
229 Кб, 1600x900
216 Кб, 1600x900
#174 #131799
Парни, не, ну серьезно. Эти мерзки тени никак не хотят делатся гладенькими. Смотрите, какие убернастройки я поставил, и все равно говно какое-то.
#175 #131800
>>131799
Я нихуя не понимаю, чего ты хочешь от теней. Пикселизации по краям не видно, что тебе еще надо?
33 Кб, 1024x459
#176 #131801
>>131800
Пздц, у меня дежавю от твоего поста. Но хорошо, я покажу поближе.
Видишь? Как-будто какие-то хлопья.
#177 #131802
>>131801
Притащи пнг, а то я не могу понять, где сжатие, а где тени распидорасило
172 Кб, 1023x457
#178 #131803
>>131802
пожалуйста
#179 #131804
>>131801
Но ведь это всего лишь лайтмап с довольно низким разрешением, чего же ты хочешь? Там интерполяция на интерполяции. Если ты ждешь рендера, как в vray, то увы. Это риалтайм, паринь.
#180 #131805
>>131804
1000 текселей на юнит это мало???
#181 #131806
>>131805
Не в одних текстелях дело же.
#182 #131807
>>131805
В юньке не силен, не знаю много это или мало. Если глазомер мне не изменяет, то на твоем последнем скрине один тексель лайтмапа покрывает примерно 50 пикселей, поэтому и видны переходы. Увеличь в 50 раз, должно стать по идее незаметным в этом масштабе.
#183 #131808
>>131806
Так просвети же.
197 Кб, 1209x512
#184 #131809
Запек при 2к текстелей пер юнит, такое же говно
#185 #131811
>>131809
запеки при 20к, можешь попробовать увеличить final gather rays и/или включи интерполяцию (на твоем скрине она на нуле вроде)
#186 #131812
>>131811
Какие нахуй 20к? У меня пекарня сгорит. В туториалах вообще при 50 текселях запекают http://docs.unity3d.com/Manual/Lightmapping.html
#187 #131813
>>131812
Но ведь они не рассматривают нетекстуренную картинку под микроскопом, как ты.
#188 #131814
>>131812
Ясен хуй, что сгорит. Но тебе же понядобились фотореалистичные тени, шоб как на рендерах, которые, к слову, рендерят кадр минут по 10-15 на хорошем пека.
#189 #131815
>>131813
ну хуй знает, пойду спрошу на юнити ансверс
#190 #131816
>>131815
Если найдешь проблему, не забудь тут отписаться тоже.
#191 #131817
>>131816
Проблема в самом юнити-дауне, который не понимает, как работает gpu, как пишутся шейдеры, какие есть популярные техники освещения/затенения, но он хочет ЧТОБ КРУТА БЫЛА КАРОЧЬ КАК В КРУЗИСЕ)) и думает, что сможет получить приличную картинку, накручивая ползунки в движке для дегенератов.
#192 #131830
>>131817
Научись себя вести адекватно, никто не давал тебе права оскарблять кого-либо, к тому же ты ничего обо мне не знаешь.
#193 #131872
>>131809
Ты поехавший, при 2k текселей запекать.
Сколько считалось, интересно?

Поставь 100, ну 200 максимум текстелей на юнит. И лучше увеличь количество лучей.

А вообще на твоем месте, я бы не страдал хуйней.
Запек все на более-менее нормальных настройках, открыл получившуюся карту в фотошопе и применил какой-нибудь "Surface Blur", покрутив его настройки так, чтобы и пятна ушли, и тень не размазалась больше чем нужно.

>>131813
плюс, вот тут тебе правильно сказали, назначь текстуры - это херня перестанет быть видной.
#194 #131873
>>131830

>оскарблять


И правда даун.
>>131830

>ничего обо мне не знаешь


Уже знает, и не только он.
#195 #131876
>>131804

>Это риалтайм, паринь.


реалтайм? лайтмапа? ты ваще упоротый?>>131807
Раз не силен - не лезь со своими "советами"
2500 текселей, вообще ебануться.
Мало того, что он дурак, так ты его еще к хуйне всякой подзуживаешь
#196 #131880
>>131814

>которые, к слову, рендерят кадр минут по 10-15 на хорошем пека.



Ты вообще хоть понимаешь о чем тут речь? Лайтмапы - это и есть фотореалистичные тени, которые по сути то рендерется, причем на запекание сцены запросто может уйти много часов, а не 10 блядь минут.

Куда ты лезешь с мякинным рылом, да в пекарный ряд?

Прочитай вот вслух, может просветишься хоть чуть: https://en.wikipedia.org/wiki/Lightmap
#197 #131883
>>131880
Не дергайся, паринь. Я знаю, что такое лайтмап, причем гораздо лучше чем ты. Фотореалистичные тени, хихи.
#198 #131884
>>131873
Одна опечатка ничего не значит, с любым может случиться. И судить человека из-за этого может как раз таки, как ты выразился, даун. К тому же неполноценный, ведь полноценный человек никогда не стал бы проявлять бепричинную агресию, так что не позорься лучше, школьничек.
95 Кб, 543x377
#199 #131888
>>131884

>Одна опечатка ничего не значит


>бепричинную агресию


>бепричинную


>агресию


Ясно.
#200 #131889
>>131884
Ты чё, пёс, охуел?)) Ты на двач пришёл или в паблик в вк, почему ты кукарекаешь НИ АБИЖАЙТИ МИНЯ Я ХАРОШИЙ НИ РУГАЙТЕСЬ))
Если тебя обложили хуями - значит, заслужил, никто не будет сюсюкаться с дегенератами.
#201 #131890
>>131889
Не тебе решать, чего я заслужил, а чего нет. И если кто-то агрится без причины, значит ему мозгов не хватает, чтобы понимать, что так себя вести нееельзяяя.
#202 #131891
>>131883
Ну тогда порази меня своими глубокими познаниями. Поведай нечто такое, что ты знаешь гораздо лучше меня, просто в качестве маленькой демонстрации своих несравненных ослепительных возможностей. Если конечно тебя это не обременит, о Великий Гуру!
#203 #131894
>>131891
Обременит, сорь.
sage #204 #131897
>>131890

>Не тебе решать, чего я заслужил, а чего нет


Правильно, не ему - а мне.
И заслужил ты только говна за шиворот, и то несвежего.
Так-то.
sage #205 #131980
Кто-нибудь уже попробовал 5ю версию?
#206 #131982
>>131980
Когда она уже официально выходит-то?
Мне по логике вещей сейчас бы пилить поиск пути для ботов, но думаю подождать до выхода 5, там вроде будет нормальный PathFinding из коробки.
#207 #131987
>>131982
поиск пути еще в 3.5 норм был, да и плагины сторонние неплохие тоже есть, например http://arongranberg.com/astar/ , чего ждать то?
А пятерку можно скачать уже http://beta.unity3d.com/download/4489870828/download.html
#208 #131998
>>131987

Уже придумали способ запуска для не избранных?
#209 #131999
>>131987
содомит, где взял ссылку на 5ю юньку? и что там с запуском, проблемс?
#210 #132001
Старый кряк работает, качается с офф сайта ссылка выше.
Сам уже скачал, но чет устанавливать пока не хочется.
#211 #132003
>>131998

http://forum.cgpersia.com/f13/unity-v5-x-x-betas-direct-links-valera-medicine-99173/

Нагуглил.

valera, настало твоё время))00
#212 #132004
>>132003
бля сука регу просит за кряк. ты скачал? поделись плз
#214 #132006
>>132005
чел это к 4й юньке патч
#215 #132008
>>132006
Господи, и что?
Я 4ю крякал третей, теперь пятую крякнул четвертой, те че жалко качать 0.21 мб?
Охуел что ли? Взял быстро скачал и поставил.
#216 #132009
>>132008
Да у меня есть уже для 4й. Я прост думал там специальный кряк для 5й.
109 Кб, 576x809
#217 #132011
ПАЦАНЫ, ПАЦАНЫ, ООЙ ПАЦАНЫ, СКАЧАЛ UNITY 5 И ОХУЕЛ!!!

ТЕПЕРЬ ПРИ СОЗДАНИИ ПРОЕКТА, ВСЕ АССЕТЫ РАСТАСКАНЫ ЗА ВАС, ВЫ ТОЛЬКО ВЫБИРАЕТЕ ТИП ПРОЕКТА - РАННЕР ИЛИ ТАУЕР ДЕФЕНС ИЛИ КАКОЙ ТО НОВЫЙ ЖАНР "MORE COMMING", НАВЕРНОЕ ЭТО ЧЁ ТО ВРОДЕ ТАУЕР ДЕФЕНСА, ТОЛЬКО ВОЛН "БОЛЬШЕ ПРИХОДИТ", И EMPTY PROJECT ДЛЯ ЛАХОВ.

НУ Я ЗАПУСКАЮ КАРОЧЕ СВОЙ ПРОЕКТ, И МНЕ ГЛАЗА СЛЕПИТ БЕЛЫЙ СВЕТ, ТАК-ЧТО ПРИХОДИТСЯ АЖ ПРИКРЫВАТЬ РУКОЙ ГЛАЗА. КАЖДАЯ МОДЕЛЬКА МНЕ В ЭКРАН ОТБЛЕСКИВАЕТ СОЛНЦЕМ, ВСЁ БЛЕСТИТ, ДАЖЕ НЕБО, ДАЖЕ АЛЛАХ. ИГРА ИЗ КЛОНА MAUNKRUPFT C ОКТАЭДРАМИ ВМЕСТО БЛОКОВ ПРЕВРАТИЛАСЬ В УБИЙЦУ KRUSIS'А. ПОКА Я СМОТРЕЛ НА ОХУЕННЕЙШИЙ ГРАФЕН, КО МНЕ СЗАДИ ПОДКРАЛСЯ НОВЫЙ ИСКУСТВЕННЫЙ ИНТЕЛЛЕКТ И НАЧАЛ ЗАДАВАТЬ МНЕ НЕУДОБНЫЕ ВОПРОСЫ. Я ТАКОЙ БЛЯ НАХУЙ, И ВЫРУБИЛ. ПОШЁЛ СМОТРЕТЬ ЧЁ ТАМ ЗА МИКСЕР СДЕЛАЛИ. А ТАМ КОРОЧЕ ВОБЩЕ ПИЗДОС, ОТКРЫВАЕШЬ ОКНО, А ТАМ КОРОЧЕ БЛЕНДЕРЫ МИКСЕРЫ СКОРОВАРКИ И SKRILLEX РУЧКАМИ ВСЕМИ ВЕРТИТ САМ, НАГЕНЕРИЛ МНЕ САУНДТРЕКА И ЗВУКОВ ДЛЯ ИГРЫ, ТЕПЕРЬ КОРОЧЕ ЗАХОДИШЬ В ДОМ, ИГРАЕТ ТЫЦ ТЫЦ ТЫЦ, А КОГДА НА УЛИЦЕ - ТЫЦ ТЫЦ, БЖЖЖЖ, ТЫЦ ТЫЦ. ВЩЕ ПАЦАНЫ, МОЯ ЖИЗНЬ НИКОГДА НЕ БУДЕТ ПРЕЖНЕЙ.
#218 #132013
>>132011
охуееееть
#219 #132019
>>132011
Это ты юич поставил, дурашка! Вернись в юнитисвинарник!
#220 #132043
анон, хочу доделать свою супер классную игру
но мне для полноценного ВАУЭФФЕКТА не хватает только одного:
плагинчика 2d physics extension.
где скачать, анон?
Молю!!!

Твой всегда искренний и честный,
Кирилл
156 Кб, 799x1200
#221 #132044
бампну няшей по поводу плагинчика
#222 #132051
Посоны, откуда можно пиздить киты по жанрам?
#223 #132142
Мужики! С хуя ли мой персонажик застервает, когда я прыгаю на стенку? использую Apply Root Motion
https://www.youtube.com/watch?v=XVv0tzsrtIo&feature=youtu.be
#224 #132143
>>132142
А ты уверен, что проблема в анимации? Как ты персонажа двигаешь в скрипте-то?
#225 #132144
>>132143
Ебан штоле? Я ж написал, что использую Apply root motion, т.е. анимация сама двигает персонажика
#226 #132145
>>132144
Я почему-то подумал про легаси-мод, когда твой пост читал спать надо больше, видимо, так что да, еблан. А чар цепляется только за эту стенку? После выхода из стенки на землю встает или по воздуху бегает? На видео нихуя не видно. Нахуй ты вообще рут мошон пользуешь, это же лишний черный ящик с дилдаками на твоем пути через кусты?
#227 #132146
>>132145
ну прост я хочу запилить игрулю со всякими паркурными штуками, и думаю, что с apply root motion будет более натуралньо и круто выглядеть.
За все стенки цепляется, при выходе из стенки падает на землю, вот те еще видюшка с няшной музычкой
https://www.youtube.com/watch?v=4_dHHhRrsEY
#228 #132153
>>132146
Чёт хуйня какая-то. И чует моя жопа, что дело в коллайдере, а не в анимации.
#229 #132154
>>132153
А что с ним не так?
#230 #132155
>>132154
Дык коллизии-то он обрабатывает, сообтветственно, и застревание именно из-за него происходит. Причем неизвестно, в каком из коллайдеров проблема: в коллайдере чара или в коллайдере то большой еболы, в стенку которой чар заходит. Попробуй удалить еболу и запилить заново, а потом проверь, застревает ли чар.
#231 #132157
>>132155
Может еще компьютер перезагрузить?
#232 #132158
>>132157
Иногда помогает, лол, равно как и перезапуск усей юнити, сам же знаешь.
#233 #132159
>>132158
100 раз уже так делал, не помогает
197 Кб, 1680x969
#234 #132164
>>132142
так он это, колайдером застревает за стену ж. как ты вниз то двигаешь его? тоже рутмоушеном?
#235 #132165
>>132159
Короче, там есть такая штука, Rigidbody.isSleaping, вроде, то есть это свойство возвращает false, если риджидбадя неактивна. Так вот, на продолжительности прыжка риджидбадя неактивна, и после приземления становится активной. Ящитаю, что проблема именно в этом.
#236 #132166
>>132164

> как ты вниз то двигаешь его?


в смысле после застревания? просто иду в сторону и срабатывает гравитация
#237 #132169
>>132165

>isSleaping


проигрунькал в голосину ахахах))00
#238 #132170
>>132169
почему?
#239 #132171
>>132166
но при рут моушене же обжект хуй кладет на параметры риджидбоди, кроме коллизий. тебя в пол же не гравитация после прыжка тянет, а анимация.
#240 #132173
>>132170
наверное потому что
isSleeping
а не
isSleaping
??7
#241 #132174
>>132171
не не не, если я буду просто идти прямо и упаду с горы, то я не пойду по воздуху, а таки упаду вниз, при этом анимация вниз не тянет же
>>132173
ой бля, и правда xD
#242 #132175
>>132174
XDDDDDDDDDDDDDDDDDDDDDDD
#243 #132176
>>132175
ты особенный шоль какой-то?
#244 #132178
Пздц хуйня какая-то, вроде и комьюнити мегабольшое, и русский сайт, и двач, и оффициальный форум, но нихуя, никто не знает ответа на вопрос, пизда просто.
#245 #132179
>>132178
Просто всё коммьюнити - такое же говно, как и ты, которое не может решать поставленные задачи, а только выпрашивает ответы на форумах.
#246 #132180
>>132179
Иди нахуй, пидор. Я делаю все правильно, это косяк юнитиразрабов, что такая хуйня с анимацией.
#247 #132181
>>132180
Какое же ты тупое и бесполезное говно. Не ты, кстати, тот дегенерат, который крутил ползунки с тенями и возмущался, что картинка не как в крузисе? Понимаешь, ты не можешь делать "всё правильно", если нихуя не понимаешь в физике и скелетной анимации, а ты нихуя в ней не понимаешь, т.к. ты дегенерат, и вместо того, чтобы сесть и разобраться, ты продолжаешь крутить ползунки и ругать разработчиков, что не сделали для тебя кнопку "сделать заебись".
#248 #132184
>>132181

> Иди нахуй, пидор.

#249 #132188
>>132184
Мы тебя услышали, хватит кричать о том, что ты обосрался.
#250 #132189
>>132188
Кхм, обосрался с того, что у тя пермабугурт?)))
#251 #132198
Короче, поспрашивал я на юнити ансверах, там походу сидят парни вроде этого
>>132181
потому что сказал, что не нужно поднимать персонажа используя анимацию прыжка, а нужно из скрипта его поднимать в момент проигрывания анимации прыжка. Но в офф туториалах есть прыжок, и там ниче не сказано за все то, что написали мне.
Алсо скачал файлы туториала, попрыгал - там все норм, на стенах не застревает, поднимается за счет анимации прыжка. Короче, хуй знает, че это.
#252 #132201
С чего начать осваивать?
#253 #132202
>>132201
Посмотри видосики. В каждом школокурсе есть вступительный урок, где показывают интерфейс и основные фичи.
#254 #132204
>>132202
А книги есть?
#255 #132205
>>132204
Мы же не в треде про японский язык. Погугли.
#256 #132206
Короче, как выяснилось, в туториалах использовался не коллайдер с риджидбадей, а CharacterController. Накатил его в свой проект - персонаж перестал цеплятся за стены. Ты доволен? Пидор
>>132179
>>132181
131 Кб, 1000x1000
#257 #132213
>>132206
Не смог повторить туториал
@
Это не я - мудак, это ты - пидор
#258 #132215
>>132213
Не смог повторить туториал
@
Это не я мудак, это разработчики движка дегенераты
#260 #132217
>>132216
Обсуждали уже много раз, большая часть пунктов - субъективная чушь
#261 #132284
Поясните подробнее за Match Targer
http://docs.unity3d.com/Manual/TargetMatching.html
Я так понял, оно перемещает персонажа в нужное место, и мы можем указать, на каком этапе проигрывания анимации нам начинать передвигать персонажа.
Я создал пустой объект, к которому должен переместится персонаж. Далее написал такой вот код
[CODE]anim.MatchTarget(jumpTarget.position, Quaternion.identity, AvatarTarget.LeftFoot,
new MatchTargetWeightMask(Vector3.one, 1f), 0, 1);[/CODE]
то есть, персонаж начинает двигатся вначале анимации, и к её концу он должен быть в нужном месте, ага?
А то у меня персонажик как-то не плавно перемещается, смотрите видюшку. Так и должно быть?
https://www.youtube.com/watch?v=y7pRN60jK0s&feature=youtu.be
#262 #132287
>>132284
А чё, в туториале нету этого, скопирнуть неоткуда?)
#263 #132291
>>132287
Там совсем другое
#264 #132292
>>132291
Печаль, не создать теперь тебе шедевр, в туториале ведь нету такого(
#265 #132294
>>132292
Соси хуй, пидор. Я сам разобрася, в чем была проблемаблагодаря юнитивскому ворнингу, без вашего говнофорума, где адекватно отвечают 1.5 анона и на каждого спрашивающего по 500 мамкиных тралей, вроде тебя, хуйло. хаха! я победил! да! это победа!
#266 #132297
>>132294

>я победил! да! это победа!


Лол, ты же опять через полчаса приползешь и будешь ныть Я ПИРИПИЧЯТАЛ КАК В ТУТАРИАЛЕ НО НИРАБОТАЕТ ГОВНО ДВИЖОК РАЗРАБОТЧИКИ МУДАКИ((
А вообще, скоро первое сентября, тебе будет не до юнити.
132 Кб, 1680x985
#267 #132304
Ну охуеть теперь. Спасибо вам, авторы юнити. Желаю вам корчи.
#268 #132311
>>132297
Нет, не приползу. И эт разве что тебе скоро в школу надо идти, а то ты кроме тралиравания ниче не можешь, лузер.
#269 #132320
>>132216

>Дискасс


неплохая статья, немного экспрессивная, заголовок претенциозный, но выводы в заключении удивительно объективные.
#270 #132321
>>132320
За исключением совета про мармелад лютый кал, нирикамендую
#271 #132322
>>132320
А по-моему просто вскукарек.
#272 #132323
>>132322
Да тащемта все современные движки - говно. Просто у некоторых есть фичи из коробки, которыми можно похвалиться, например, легкость освоения у юнити или масляные тормоза у усрила. Другое дело, что когда пытаешься запилить что-то выходящее за рамки туториала, начинаются муки - и от этого рождаются такие статьи. От сруэнжина у автора бы пукан разворотило покруче аттола Бикини.
#273 #132324
>>132323
Это не движки такие, это жизнь такая. Игра - это программа, а программу не собрать из готовых кусков, ее надо писать, долго и мучительно. В компьютер сайнс эта мечта об идеальном языке/иде/платформе, на которой любой сможет сделать что угодно без проблем, называется "серебрянная пуля". Подробнее здесь можно почитать: http://en.wikipedia.org/wiki/No_silver_bullet
Наивно думать, что несколько разработчиков игрового движка решат проблему, над которой лучшие умы бьются десятилетиями.
#274 #132325
>>132323

>и от этого рождаются такие треды


Пофиксил
187 Кб, 1616x938
189 Кб, 1616x938
#275 #132389
Доволен. Сделал копировальщик карты который копирует все в масштабе 1 к 1, независимо от настроек карт и расчищает все согласно сплатмапу, который действует как карта весов.
#276 #132421
>>130797
Вбрасывай, хули.
#277 #132422
>>132320
Максимум GDпараша.
#278 #132441
>>132389
Как это работает?
#279 #132469
>>132441
Не слишком хитро. Есть класс для хранения присоединяемых террэйнов, в котором всякие полезности вроде хватания первого сплатмапа и возвращения его растянутым на нужный размер. И отдельно есть структ для хранения сплат-прототипов и соответствующей ему карты(для удобства. выдергивать нужную карту из одного большого float[,,] как-то неочень удобно если хочется избавится от какой-то из них).
ну а дальше происходит хватание центральной координаты, прибавление-вычитание из неё размеров переносимой карты чтобы узнать крайние координаты, деление всего этого на размеры карты в которую переносится. чтобы получить 0-1 значение а дальше отдельно для разрешения карты высот/карт травки/карт текстурки умножается на эту циферку и округляется до инта чтобы узнать первую и вторую координату для нужной карты. Ну а дальше процесс натягивания на этот массив значения из другого массива по тому-же принципу с умножением на значения из того самого первого массива беленького сплатмапа. перенос получается приблизительный, но пока разрешение карт не слишком различается, это не слишком заметно.
отдельно чуть более хитренькая формула в карте высот, там надо еще умножать значение на отношение высоты, плюс прибавлять значение стартовой высоты, плюс прибавлять помноженное на растянутую карту "весов". ну и если новая карта больше старой раза в два и больше то она еще "размывается", чтобы лесенка не была столь заметной но это уже совсем другой код. и отдельно в карте деревьев приходится сначала составлять список всех удаленных деревьев за все переносимые карты, потому что они хранятся в одномерном массиве инстансов и если их много то перебор весьма долгий.
#280 #132471
>>132469
Ты что, ебанулся там совсем?
#281 #132473
>>132471
че почему
#282 #132498
Юнити открывает исходники
и выкладывает бета-версии - уже обсудили?
#283 #132501
>>132498
для дебаг-тулзов же, не?
#284 #132503
>>132498
Ты не пугай так людей. Нихуя они не выкладывают исходники движка. они выкладывают исходный код некоторых скриптов на C# (как до этого выложили исходный код базовых шейдеров). Который все равно нахуй никому не нужен, ибо в ассетсторе есть лучше скрипты

То есть я тоже обрадовался когда увидел эту их новость, побежал скачивать, а там тупо кучка скриптов на шарпе, да еще и не рабочих (реально примеры не запускаются из-за ошибок в коде)

Я даже не знаю что в этих скриптах делается (в новости какую-то хуйню написали, но судя по примерам (а их всего два) там дебагом даже не пахнет)
#285 #132506
>>132469
ой, че-т математики дохрена, я в этих отношениях не шарю
#286 #132508
>>132506
в таскании ассетов то шаришь?
#287 #132557
>>132508
а есть чо?
#288 #132587
>>132473
Нормальные посаны шутанчики делают, а ты хуетой с ландшавтом страдаешь. Ты не в теме.
#289 #132607
Аноны, я тут запутался. Нигде не могу найти.
В играх есть переход одной локации на другую, через дверь. Идешь по уровню снаружи дома к примеру, потом щелкаешь на входную дверь, локация грузится и попадаешь внутрь.
Как это сделать? Есть туториалы про это?
#290 #132608
>>132607
Ээээ а хуле там делать-то? По клику на двери Application.LoadLevel(levelname), или ты хочешь какую-то особую магию?
#291 #132609
>>132608
Я хочу умных мозгов себе подробных туториалов по такому.
Может где готовый скрипт есть?
А вообще спасибо, я про это >Application.LoadLevel(levelname) не подумал.
#292 #132611
>>132609
Всё, приехали, нет тутораила - не откуда переписать, создание игры на этом закончено.
43 Кб, 608x336
#293 #132632
Как конвертировать вектор3 в вектор2 в последней строчке?

private Vector2 pos;
private Quaternion q;
public GameObject go;

pos = Input.mousePosition;
pos.z = transform.position.z - Camera.main.transform.position.z;
pos = Camera.main.ScreenToWorldPoint(pos);
\t\t\t
q = Quaternion.FromToRotation(Vector3.up, pos - transform.position);
go = Instantiate(shot, transform.position, q);
go.rigidbody2D.AddForce(go.transform.up 500.0);
#294 #132633
>>132632
AddForce(Vector3(go.transform.up.x,go.transform.up.y,500))
27 Кб, 608x352
#295 #132642
>>132633

>Vector3(go.transform.up.x,go.transform.up.y,500)


error CS1501: No overload for method `AddForce' takes `3' arguments

И ещё ругается на эту строчку
go = Instantiate(shot, transform.position, q);

error CS0266: Cannot implicitly convert type `UnityEngine.Object' to `UnityEngine.GameObject'. An explicit conversion exists (are you missing a cast?)

Гугл говорит это потому что "It means that the variable isn't set to any particular value before you use it", только переменная "shot" в другой версии скрипта и так была без значения и ничего, работало.
наркоманский вопрос #296 #132648
Пачяны а как примерно двигать сюжет скриптом?

Я имею ввиду, вот ГГ наступил на триггер :

как результат - запускается анимация второстепенного персонажа,
он выходит на сцену, происходит диалог или обмен вн балунами, анимация исчезновения нпс -

я запутался как это реализовать во едином скрипте/триггере.

У меня ощущение, что я слишком все усложняю и наябываю сам себя.
271 Кб, 1024x683
#297 #132649
>>132642

>Rigidbody2D


>Vector3

#298 #132650
>>132648
Запиливай абстракции. Скрипт, который отвечает за СЮЖЕТ, скрипт, который отвечает за выполнение конкретной сцены, скрипт, который отвечает за диалог, етц етц етц.
84 Кб, 834x558
#299 #132651
>>132648
Очевидно, что нужно велосипедить. Можешь запилить такую хрень: триггер стартует корутину, корутина считает секунды и по нужной тайм-метке запускает действия из стека. Хотя я немножко бухнул и могу нести хуйню.
#300 #132653
>>132649
Да оно никак не работает. И если уж на то пошло, почему оно вообще пишет про 3 аргумента в ошибке, если ригидбоди2д?
34 Кб, 490x398
#301 #132655
>>132653
Пиздуй учить С++, мудило. Потом только берись за юнити.
#302 #132656
>>132655
Чего ты такой злой? Лучше объясни пожалуйста.
11 Кб, 320x240
#303 #132657
>>132656
Ты, блядь, даже доки открыть не в состоянии, что тебе объяснять?
http://docs.unity3d.com/ScriptReference/Rigidbody2D.AddForce.html
#304 #132658
>>132656

>void AddForce(Vector2 force, ForceMode2D mode = ForceMode2D.Force);



go.rigidbody2D.AddForce(new Vector2 (go.transform.up.z, 500.0f));
#305 #132660
>>132658
Спасибо, теперь не ругается, но проверить один хуй не могу из-за

>go = Instantiate(shot, transform.position, q);


>error CS0266: Cannot implicitly convert type `UnityEngine.Object' to `UnityEngine.GameObject'. An explicit conversion exists (are you missing a cast?)



>>132657
Проебался с английским, не бугурти пожалуйста.
#306 #132661
>>132660

>Проебался с английским


Критическая ошибка. Удаляй юнити и вместе с крестами пиздуй учить технический английский. Чтобы не было непонимания вот таких микроскопических ошибок, как эта.

>error CS0266: Cannot implicitly convert type `UnityEngine.Object' to `UnityEngine.GameObject'. An explicit conversion exists (are you missing a cast?)


Иначе будешь ловить их каждый ёбаный день.
#307 #132662
>>132660
go = Instantiate(shot, transform.position, q) as GameObject;
Переведи словосочетание implicitly convert открой книжку по шарпу и найди в оглавлении перевод.
лол #308 #132673
#309 #132674
>>132662
Спасибо.

Вообще я там настрочил какой-то хуйни.

В общем, суть такова, есть сфера Sphere невидимая, которая крутится по направлению к курсору, на сферу приклеена точка, откуда вылетают снаряды.
Кликаешь стрельбу - спавнится снаряд.

go = Instantiate(shot, shotSpawn.position, Sphere.rotation) as GameObject;

Сфера исправно крутится, спавнится снаряд где надо, но летит только в одном направлении, почему ему не передаётся угол поворота соответствующий от сферы?
#310 #132680
>>129591
есть норм гайд по лучам
Нужно чтобы луч проходил сквозь колайдеры
#311 #132681
>>132680
Суёшь объекты с коллайдерами в какой-нить слой, потом при касте юзаешь битовую маску, в которой выделяешь конкретный слой. Пиздуй гуглить короче.
#312 #132683
Как лучше всего работать с анимацией?
#313 #132711
>>132680
Можно коллайдерам дать тэг, а потом настроить чтобы рейкаст игнорил объекты с определенным тэгом.
#314 #132743
>>132711
это уже интереснее
где об этом почитать, а то в доках нихуя не понятно
#315 #132744
>>132743
http://docs.unity3d.com/Manual/Layers.html
http://docs.unity3d.com/ScriptReference/Physics.Raycast.html
layerMask - то, что тебе нужно. Доков хватает с головой, но раз уж ты тупорылый школьник без знания английского, то пиздуй на ютуб.
94 Кб, 1130x563
#316 #132753
Ебанная макака, что она на фон поставила. Мои глаза попыли... Но ладно, продублирую вопрос с gd.ru

Короче, разбираю 2D в юнити. Возникает ощущение что все эти мамкины школьники даже не трогали 2D, столько вопросов, а ответов нет - гугол молчит.

Вообщем задача. Сделать что-то типа двухмерных шашек (ну то есть на экране сетка, на сетке фишки, мы их двигаем). Все это 2D - спрайтами.

Далее перепост:

в паинте создал изображение с сектой 1024х768. Каждая ячейка равна 100х100. Нужные мне ячейки закрашены оранжевым (остальных не будет - это мусор) То есть верхняя левая точка начала сетки - 262х32.

Сделал размер ортогональной камеры по формуле 768/2/100 (ебаные идиоты это придумали, но по крайней мере знаю о нем уже)

Сделал в паинте изображение фишки размером где-то 100х100. Перетащил в юнити. Вопрос:

Как мне теперь узнать позиции всех ячеек сетки? Не гадать же? Что это за -2.11 и 3.04 ?

Хорошо, я знаю что на одну условную единицу у меня 100 пикселей (в инспекторе при импорте текстур так по умолчанию указано, и при размере камеры я делил на 100). Левая точка у меня 262. Хорошо, тогда 262/100=2.62. Проверяю. с минусом оно уезжает куда-то влево за пределы сетки. Без минуса куда-то вправо (также за пределы оранжевой сетки). То есть не туда куда надо.

Все. Идеи закончились. Уж не предлагаете ли вы мне, добрые разрабы юнити, теперь все 35 ячеек теперь на глаз высчитывать. А если я шахматы захочу сделать, так это застрелиться можно
62 Кб, 920x510
#317 #132760
Ну блин анончик, ну ответь. Вот я тебе более красивый скрин проблемы принес

Входные данные. Size камеры все тот же 3.84 (768/2/100). Я создал фоновое изображение размером 1024х768 (100 Pixel to Units). Нарисовал сетку размером 80 пикселей (все остальное - прозрачно). Сетка нарисована слева сверху. Нарисовал фишку размером 80х80 (оранжевого цвета). Вывел. руками сдвинул в первую верхнюю ячейку сетки.
Ее позиция -4.72; 3.46.

Вопрос: как мне узнавать эти позиции? Как их считать? Вот я например щелкнул мышкой чтобы показать фишке (ведь ее можно выбрать и через колайдер что и делают в оффуроках) куда ее нужно сдвинуть - как мне теперь узнать куда именно эту фишку в ячейках сдвинуть?
35 Кб, 604x453
#318 #132761
>>132760

>анончик

#319 #132763
>>132744
Ебать я аутист
Там же был слой ignoreRaycast
9 Кб, 183x182
#320 #132764
>>132753

>gd.ru


Пикрелейтед
#321 #132765
>>132760
Ты уверен, что для твоей игры нужен юнити? Пока ты сталкиваешься с проблемами, с которыми бы не столкнулся, если бы использовал какую-нибудь простую библиотеку на C#/java/чем-то еще.
#322 #132767
>>132765
А мультиплатформа? Или предлагаешь мне потом все с нуля переделывать перенося из своих движков на юнити?

И еще, это еще даже не игра, это первый шаг - сделать хотя бы что-то типа шашек-крестиков-ноликов, потом можно "три в ряд" (это же базовый рецепт всех начинающих). И для того и для того нужно решение этой проблемы.

В этих вот простых библиотеках такой проблемы вообще не существует. Мне непонятно зачем разработчики юнити сделали такую идиотскую систему координат. Я сужу по опыту ковыряние в cocos2d - там если мне надо вывести спрайт в позиции 100х100, я его вывожу в этой позиции. Если мне надо чтобы оно само авторесазилось при любых разрешениях, я умножаю на аспект (хотя уверен что есть и что-нибудь готовое).

А в юнити хуй поймешь откуда брать эти позиции и как считать
#323 #132768
>>132767
Делать простые вещи сложным инструментом не просто, да. Мультиплатформа это хорошо, когда у тебя есть игра, которая интересна кому-то кроме тебя. Пока что без разницы на чем писать. Посмотри на slick2d, libgdx.
#324 #132770
>>132768
>>132768
еще раз, мне надо на юнити. Оно же пиздец как хвалилось своим новым 2D.

Мне не надо на других движках. Я уже делал 2D на своем движке.
http://falcoware.com/ArkanoidClassic.php

У меня есть опыт и с cocos2d.

Но сейчас я хочу собрать игровой законченный прототип именно в юнити. Не свой движок писать, не ковырять кучу чужого говна. А взять юнити и сделать игру.

Игра двухмерная и все что нужно это вывести фишки на клеточках. Это же блядь база. Но вот именно что у меня сейчас нет ничего на чем бы я это смог эффективно развернуть (свой 2D движок уже давно закопал, cocos2d слишком перегружен для меня и там не очень удачная сборка, да и вообще хочу меньше писать низкоуровневого кода а начать блядь делать саму игру)

Короче анон, если не можешь помочь с такой проблемой, то расскажи как выкинуть юнитевскую камеру и вставить туда свою видовую матрицу? Мне будет намного легче самому написать ортогональную проекционную матрицу, чем ебаться с этим идиотским высером от разработчиков юнити
#325 #132776
Какие ассеты любит анон? Какие хоть сколько полезные?
294 Кб, 1936x1056
#326 #132782
>>132767
Короче, я сейчас поковырял немножко 2д и вот что нарыл для тебя:
а) рендерится усё это дело обычной камерой, по дефолту она смотрит на 0;0;0
б) в настройках импорта спрайта указывается число пикселей в юните и точка привязки

Тащемта что тут непонятного для тебя - я не вдуплил. Вот, например, я выставил в настройках спрайта 100 пикселей в юните и точку привязки top left, сам спрайт в оригинале шириной 546 пикселей, соответственно, чтобы расположить 2 таких спрайта рядом без зазора, надо подвинуть его на 5,46 юнита, пикрелейтед.
653 Кб, 300x346
#327 #132783
>>132674
Пагни!
57 Кб, 847x503
#328 #132785
>>132770
При чем тут камера? Если у тебя scale у текстур 1 1 1, а при импорте указано 100 пикселей на юнит, то выходит 80/100 юнитов твоя клетка занимает.
Пикрелейтед ячейки по 50 пикселей => 0.2 юнита и все цифры сходятся.
#329 #132786
>>132785
0.5 юнитов фастфикс
#330 #132799
>>132753
Ты на 4.6 уже? если нет, то просто убейся нахуй
Два варианта. Для нубаса: Создай просто пустые панельки через UI->Panel (выстави прозрачность тока) и расставь их квадратиками поверх твоих квадратиков. Потом когда тебе нужно поставить карту в определенный квадратик, просто выставляй ему пэрентом эту пустую панельку.
Для норм чела: Если лень вручную всё это делать, то просто сделай префаб из одной панельки, а потом в коде инстанциализируй её в свою канву Нное кол-во раз, а канве (или большой панеле, которая представляет всю игровую зону) дай компонент grid layout и настрой его так, чтоб панельки клались как у тебя на картинке. А потом аксессишь их по GetChild(index), ну и соответственно выставляешь их пэрентом для своих карт.

>Возникает ощущение что все эти мамкины школьники даже не трогали 2D, столько вопросов, а ответов нет - гугол молчит.


Гугли на юнити форуме в разделе 4.6 опенбетки.
#331 #132800
>>132799

> выставляй ему


ей
#332 #132802
>>132674

> но летит только в одном направлении


Смотри скрипт его перемещения. Инстанциализация просто создает объект. Дальше он летит туда, куда в его скрипте указано. Ты чей-то код брал? Очевидно после инстанциализации нужно указывать ему куда лерпать.
#333 #132803
>>132785
Хули ты у себя названия позамазывал, ты боишься что у тебя идею твоей охуительной игры спиздят по названиям? Ты чё ебнутый?
#334 #132804
>>132206
Сделай стены и пол коллайдером, чтоб персонажи через них не проходили. Контроллер не может пройти через коллайдер.
334 Кб, 1331x2000
#335 #132805
Блять заебался искать вопросы, чтоб поотвечать, чё-то у вас тут уныло.
#336 #132806
>>132803
Конечно боюсь. У меня ураганная идея! Точно выстрелит! Почку продал, кредит взял. Осталось только немного подправить
#337 #132814
>>132782
А теперь создай изображение на весь экран, и попытайся вывести его на экран так чтобы изображение было на весь экран.
219 Кб, 1597x865
#338 #132815
>>132785
Фигня. Ты в своем ванильном примере считаешь что сетка занимает весь экран. А где будут всякие кнопочки, надписи, рамочки, завитушки?

В реальном приложении твой способ не работает. Пикрелейтед это подтверждает. (все также - 100 пикселей на юнити, размер ячейки 100, размер фишки -100).
Pivok - центр

Смещение сетки от края - 270/10 (это смещение в паинте, не в юнити. Облака и сетка - это один спрайт - спрайт фона, он на весь экран)
#339 #132816
>>132799
Омг, я так и ждал что кто-то такой бред напишет. Рисуем спрайты через гуи - как оригинально. Похуй на то что пытаемся забить шуруп молотком, и завинтить гвоздь отверткой. Пофиг на лишний оверхейд (а я то думал, почему юнитевские поделки даже от профи тормозят так что даже крайзис стоит в сторонке и жрет от смеха - наверное там тоже шурупы забивают вместо того чтобы делать по нормальному)

И твой способ не работает если я попытаюсь нарисовать что-то не выравненное на GridSize - например аватарку игрока которая будет иметь намного больший размер чем ячейки сетки и расположена не параллельно ячейкам сетки
#340 #132819
>>132802
Ну я думал раз я ему ротацию передаю, то и лететь будет он уже соответственно ей. Получается надо инициализировать объект и на месте ему придавать ускорение согласно ротации нужной?
#341 #132827
>>132819

> Получается надо инициализировать объект и на месте ему придавать ускорение согласно ротации нужной?


Да.
95 Кб, 250x405
#342 #132828
>>132816

> Рисуем спрайты через гуи - как оригинально.


Это твоя претензия? Тебе нужен способ через жопу, чтоб выебнуться? Это твои проблемы.

>Похуй на то что пытаемся забить шуруп молотком, и завинтить гвоздь отверткой.


Это не так. Ты какой-то петух, пришедший из других библиотек и в юнити смыслящий как умственно отсталый инвалид, раз задаешь такие тупые вопросы, но при этом с наглым еблетом будешь тут рассказывать что и как надо делать в чужом монастыре. Типичная пиздливая малолетка.

>Пофиг на лишний оверхейд


На что? Ты блядь поехавший, ты хоть читал как работает новый гуи? Там, в отличии от прошлой версии, не происходит пересчет всех элементов каждый фрейм, в новом гуи объект просчитывается единожды, а затем при отсутствии изменений просто отрисовывается в этом же месте без какой либо нагрузки. Ты чё-то тестил ваще в плане перформанса на юнити хоть раз, кукарек беспруфный?

>И твой способ не работает если я попытаюсь нарисовать что-то не выравненное на GridSize - например аватарку игрока которая будет иметь намного больший размер чем ячейки сетки


Ты сука конченый, тупой, да еще и истеричка. Твоя т.н. "проблема" решается как нехуй делать в рамках самого же гуи, но после того как ты изошелся на говно я тебе ничего даже подсказывать не буду, просто можешь проследовать нахуй.
#343 #132829
>>132814
дык епт, получи актуальное разрешение окна игры и высчитай размеры, хуле тут сложного?

Screen.width, Screen.height никто у тебя не отбирал. Допустим, запускаешь ты свою залупу в фулл-хэдэ в фуллскрине, получаешь Screen.width = 1920, Screen.height = 1080, число пикселей в одном юните ты знаешь (допустим, 100), переводишь актуальное разрешение в юниты (верхний левый угол получится -9,6; 5,4 если я не перепутал оси и т.д.) и рендеришь что хочешь и где хочешь. Хуле непонятного?
#344 #132831
макака
#345 #132834
>>132828
Рисование спрайтов через гуи - это и есть через жопу. Особенно когда захочется поюзать двухмерную физику или еще что... И особенно этот способ черезжопный, потому что сложный (от скриптов, до собственно редактирования в редакторе). То что в юнити это походу едиственный способ сделать шахматы - не означает что он не через жопу

>>раз задаешь такие тупые вопросы


Я тему создал в трех местах, в двух из них сидят юнитифаны. Везде я получил один ответ - это нельзя сделать напрямую. Только через жопу

>>не происходит пересчет всех элементов каждый фрейм


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

>>Ты чё-то тестил ваще в плане перформанса на юнити хоть раз, кукарек беспруфный?


Да, я играл в M&M X - тупо зависало потому что комп не справлялся. При том что скайрим с намного более крутой графой летает. Я играю в Heartstone - виснет на каждом углу (при этом даже не сам процесс игр, а загрузки, меню, запуск игры... или даже банальное завершение игры) - а это вообще карточная игра. Обе игры делались коммерчески, и как минимум последняя - профи. Я пытался играть и во всякие песочницы, но многие из них сделаны на юнити и жутко тормозят (таже модная the forest - 1 fps, и был бы там хоть графон).
И это не проблемы самого юнити - я проверял его профайлерами (PIX, RenderDOC). это проблема именно говноразработчиков которые как ты, делают простенький спрайт через гуи и такой же другой долбоебизм. Да оно и понятно, а то вдруг назовут байтоебом, лучше еще кучку лишних абстракций навернуть, зато как в крайзисе (тупит)

>>ничего даже подсказывать не буду


пойду повешусь. Ведь, ты, Великий, не захотел мне смерду помочь
106 Кб, 1081x596
#346 #132836
>>132829
Ты сам попробуй свой способ. Он нифига не работает

Вот на скрине, ширина (Screen.width) равна 612.
В спрайте 100 пикселей на юнит, и сам спрайт в 100 пикселей.

Теперь беру твою формулу 612/100/2. Получаем 3,06. Вводим спрайту такую позицию. И хуй, спрайт где-то но никак не в начале экрана.
#347 #132842
>>132836
Ты ебаный инвалид, не могущий в гугол. Почему я смог загуглить ортографическую камеру в юнити, а ты нет? Всё работает, всё элементарно.

Блять, картинки не прикрепляются, вот линки на картинкохостинг
http://imgur.com/ikDCstl,BwDVgxS
http://imgur.com/ikDCstl,BwDVgxS#1
#348 #132844
>>132834

> Heartstone - виснет на каждом углу


А вот это странно, ибо у меня даже на некропека летает. Может, у тебя просто ати вместо видеокарты?
111 Кб, 1172x558
#349 #132848
>>132842
Ну молодец чувак. И не важно что я об ортогональной камере писал еще в первом посте >>132753

>>Сделал размер ортогональной камеры по формуле 768/2/100



И теперь объясни откуда ты взял Size равным 4? От балды? Тогда иди дальше гугли, ты не нагуглил ортогональную камеру.

Также покажи позицию спрайта. А то может ты вообще его мышкой двигал

И не веди себя как школьник. А то весь монитор уже слюной забрызгал от ненависти. Спокойней надо быть. Особенно когда ты не хочешь читать мои посты, а отвечаешь кому-то придуманному в голове
#350 #132849
>>132844
Ну это да, ati, да еще и мобильная. Но это не отменяет факта что кто-то сильно говнокодил некоторые моменты
#351 #132854
Здравствуйте, я Кирилл, хочу сделать игру, суть такова.
Игрок катается на машине, вокруг него процедурно генерируется мир. Все. Ни гонок, никакого экшона, просто поездки покатушки на машине (одной и той же). Других машин тоже нет, разве что встречные.
Сам я хуй простой, и вообще не знаю откуда даже начинать, по этому спрашиваю совета у местных гуру - с чего начинать? Юнити? Что курить по поводу процедурной генерации мира? Вообще такое реально сделать как первый проект, или нет?

P.S. Я джва года жду такую игру
#352 #132859
>>132854
Я вот делаю. как первый проект. заебался, но удовольствие получаю. почитай это: http://www.iontom.com/tag/procedural-generation/
в качестве цели выбрал это: http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
половину советов пришлось выкинуть чтобы сделать 3д.
#353 #132860
>>132848

> откуда ты взял Size равным 4? От балды?


Произвольный вообще, с любым параметром size всё будет работать. Хочешь - поставь 6, хочешь - 9000, в зависимости от того, сколько примерно юнитов хочешь захватить по высоте да, ортографическая камера в юнити запилена так Умножаем на 2 - получаем высоту экрана в юнитах, умножаем высоту на аспект экрана - получаем ширину.

> Также покажи позицию спрайта. А то может ты вообще его мышкой двигал


Пошел ты вообще нахуй, ему помочь пытаются, пример работающего скрипта дают, а он еще выебывается. Напиши ты блять три строчки да попробуй, нет блять, кудах-кудах ты мышкой двигаешь дайте мне готовое решение.

> И не веди себя как школьник. А то весь монитор уже слюной забрызгал от ненависти. Спокойней надо быть. Особенно когда ты не хочешь читать мои посты, а отвечаешь кому-то придуманному в голове


Нас, баттхертящих от твоего светлого мозгоебского величия, как минимум двое. Хотя может и больше, хуй знает.
27 Кб, 619x387
#354 #132861
Как сделать стекло? Как на пикрелейтед
#355 #132862
>>132827
А ротация вообще влияет на Addforce если уж на то пошло? Координаты там задаются относительно пространства мирового, не самого объекта, то есть похуй какой стороной объект повернут, сила ему будет придаваться относительно мира.
Если да, то как лучше передать поворот нужный?
#356 #132865
>>132861
вид - шейдером
разбиваемость - скриптом
#357 #132883
>>132861
Клон хочешь сделать, пиздюк? Лавры мобильного говна не дают покоя?
#358 #132889
>>132883
Вы только посмотрите на эту пидораху. Клоны ему не нравятся видите ли.
#359 #132904
>>132883
Хочу стеклянный купол в игре сделать
А люитель клонов похоже ты
#360 #132906
>>132848
Если у тебя 100 пикселей в клетке и 100 пикселей на юнит, то ты один раз поставь одну шашку точно в центр нижней левой клетки - её трансформ будет началом координат, остальные клетки достижимы теперь прибавлением натуральных чисел.
115 Кб, 1089x733
#361 #132946
Тоже начал с 2D в юнити, раньше использовал GDX, было всё более-менее удобно.
Ну что за хуйня, почему куча вещей делается из гуи?
Долго думал как привязать спрайт из ассетов, так его перетащить его надо блядь в ГУИ.

Вопросы:
Для игры типа объединения двух схожих элементов в новый. Как все хранить? У меня всё дублируется в двумерном массиве. Как сделать нормально сетку сверху? Каждый раз тупо её рисовать? Как сделать нормальное управление.
#362 #132949
>>132946

> Долго думал как привязать спрайт из ассетов, так его перетащить его надо блядь в ГУИ.


Вообще-то можно и скриптом грузить из ресурсов, если тебе так удобней.
#363 #132967
Вопрос от самого маленького и тупого разработчика:

Есть игрок, который должен двигаться налево или направо при нажатии на одну из двух кнопок нарисованных на экране.

Что логичнее:
1. Реализация кнопок
А) Сделать обе кнопки коллайдерами и проверять рейкастами куда человек нажал
Б)Сделать все новыми GUI кнопками?
2. Скрипт(1) с#
Как я понимаю скрипты выполняются когда они привязаны к каким-то игровым объектам?
А) К чему их можно привязывать?
Б) Как правильно давать ссылку на другие объекты?

3. Скрипт(2)
Есть две кнопки и игрок.
Что логичнее:
1) Сделать 2 скрипта на каждую кнопку, чтобы по нажатию она вела игрока налево или направо?
2) Сделать один скрипт для игрока чтобы он бежал налево или направо, когда нажимается кнопка?
3) Сделать пустой объект который будет отвечать за все управление?
#364 #132973
>>132967
В скрипте игрока сделать публичный метод движения вправо или влево.

В новой Unity 4.6 beta есть новый UI, вот через него делаешь кнопки и вешаешь на них скрипты. Из скрипта вызываешь публичные методы того скрипта.
1057 Кб, 991x1403
#365 #132974
>>132967

> Б)Сделать все новыми GUI кнопками?


Я бы сделал так, еботы меньше.

> А) К чему их можно привязывать?


К чему угодно, хоть к самому Аллаху, если он есть у тебя на сцене. Можешь аттачить к пустым объектам, можешь - непосредственно к нужным, все зависит от тебя и твоих желаний.

> Б) Как правильно давать ссылку на другие объекты?


Считается хорошей практикой как же это коряво по-русски звучит делать в скрипте публичную переменную нужного типа и обращаться к ней. В инспектре эту переменную будет видно и можно будет драг-н-дропом перетащить туда любой нужный тебе объект - со сцены, из ассетов и т.д. Алсо, если тебе, скажем, нужен доступ из скрипта исключительно к трансформе персонажа, а не ко всему чару, можешь создавать переменную нужного тебе типа (в этом конкретном случает Transform), а не общего GameObject - при перетаскивании юнити сама выдерет из геймобжекта ссылку на трансформу. Удобненько-с.

> Есть две кнопки и игрок.


> Что логичнее:


> 1) Сделать 2 скрипта на каждую кнопку, чтобы по нажатию она вела игрока налево или направо?


> 2) Сделать один скрипт для игрока чтобы он бежал налево или направо, когда нажимается кнопка?


> 3) Сделать пустой объект который будет отвечать за все управление?


А что, если ебучий игрок нажмет обе кнопки сразу? Надо централизовать обработку обеих кнопок, а вот куда повесить обработчик - на игрока или же куда-то в другое место - уже дело вкуса. Я бы весь гуй делал отдельно от остальных геймобжектов.
#366 #132996
>>132974
Подскажите, что за арт?
Это из пака? Дай ссылку\расчехли.
Молю.
#367 #132998
>>132996
Лол, нас сейчас ссаными тряпками погонят же в тематику. Короче, гугли real_xxiii, он рисует эту няшу, и вот тебе мой тухлый микропак rghost .net/57847056
#368 #133001
>>132998
Спасибо.
Нав итс фаптайм.
18 Кб, 200x200
#369 #133014
>>132862
Ребят, халп.
#370 #133019
>>132862
Поясни в двух словах, че те надо.
Рейкаст #371 #133021
Анон, подскажи, как лучше реализовать прыжок в платформере? Слышал, что по умному нужно использовать рейкаст. Так ли это и как его "по умному" использовать?
Приветствуется закидывание меня ссылками.
#372 #133022
>>133021

> как лучше реализовать прыжок в платформере?


А какие способы ты знаешь?
#373 #133023
>>133021
Рейкаст тут нужен для того, чтобы определять, когда ты преземляешься. Ибо всякие isGrounded работают хуево. Просто пускаешь луч вертикально вниз и когда он меньше определенного значения выполняешь то, что должно произойти при приземлении (возвращение контроля над персонажем там, анимация)

Для самого прыжка у тебя выбора два: Rigidbody.addforce, либо как индус-аутист вручную двигать вверх и вниз через какой-нибудь Transform.Translate
#374 #133024
>>133023

>isGrounded


Спасибо тебе анон! isGrounded как раз и знал, его во всех примерах пихают.

Когда несколько лет назад баловался голой явой (использовал только библиотеки по умолчанию), делал движение персонажа через ручное изменение x, y параметров. Выглядело красиво, но код был кривой и нихрена не гибкий.
#375 #133029
>>133024

>Спасибо тебе анон! isGrounded как раз и знал, его во всех примерах пихают



Примеры и вики до сих пор живут в мире хорошо если 3й версии. Интересно, будут ли они хоть что-то обновлять с выходом 4.6 и нового ГУИ.
#376 #133030
Аноны, а можно ли добавлять компоненты на геймобжект с параметрами в одну строчку?
#377 #133032
Аноны, посоветуйте как держать библиотеку геймобжектов для спавна их в сцене. Я держу отдельно статичный класс который заполняется из сцены на Awake() но как-то неочень.
20 Кб, 240x320
#378 #133044
#379 #133045
2 Кб, 198x80
#380 #133076
Ребята,объясните дауну (вопрос скорее по C#):
Зачем нужны геттеры - сеттеры? Ведь я могу обратиться к полю через, допустим, Hui.texture = "", вместо того чтобы городить пикрелейтед и обращаться к нему, например.
В чем профит?

ультраньюфаг
#381 #133077
>>133076
Геттеры и сеттеры можно запихнуть в интерфейс.
За геттерами и сеттерами можно спрятать простейшую логику. Тебе возможно понадобиться такая логика в будущем.
Делать поля публичными - дурной тон.

В твоём случае достаточно просто

public Texture2d Texture { get; }

А вообще принципиальной разницы нет, конечно.
#382 #133078
>>133076
Вообще да, можешь. Профит в том, чтобы в геттерах/сеттерах прописать некую логику-обвязку по нужде, чтобы контролировать, что ты запихиваешь в поле и куда его дергаешь. На эту хуйню можно забить.
#383 #133081
>>133077
Обосрался я немношк)))0

Вот так должно быть:
public Texture2d Texture { get; private set; }
26 Кб, 743x535
#384 #133085
>>133019
Как передать снаряду направление полета? Сфера крутится вокруг игрока, нацеленная на курсор и создаёт снаряд в её направлении. Как заставить созданный снаряд лететь в направлении курсора?
#386 #133103
>>133076
Геттеры-сеттеры это синтаксический сахар для функций доступа-изменения вида GetX()-SetX(value).
Зачем нужны такие функции? Объект состоит из данных-поведения-интерфейса. Атцы CS считают, что объект должен полностью скрывать свои данные за интерфейсом, ибо так намного проще их менять без изменения интерфейса, который рсползется везде-везде и пользователи будут рсчитывать на его неизменность. Это очень ценится в энтерпрайзе, где цена ошибки/изменения довольно велика.

Вообще в гейдеве на шарпе для себя, анонимные эксперты рикамендуют использовать public'и - это немного быстрее (нет вызова пустой функции).
#387 #133109
>>133032
Application.LoadLevelAdditive например, если я правильно понял чего тебе надо
495 Кб, 498x700
#388 #133112
Поцоны, я немного знаю C# и захотел сделать простую 2д игрулю. Но застрял почти с самого начала - в видеоуроках почти не объясняют как анимировать персонажа. В основном просто дергают готовые ассеты. Но я бы хотел немного разобраться и движение у меня немного нестандартное.
Может кто-то проветить меня как запрограммировать летающую штуковину?
фейкоскайп andrey-mono
1611 Кб, 1446x2046
#389 #133132
>>133112
Братишка, мне впадлу корячиться с объяснениями ебут на работе и вообще я открывал юнити последний раз джва месяца назад, но вот тебе хороший туториал по 2д в юнити: http://pixelnest.io/tutorials/2d-game-unity/table-of-contents/
Он немножко устарел по нынешним меркам, но в нем всё - и управление, и компоненты, и эффект параллакса, и анимация аж отделным туториалом, и музычка, и стрельба, и самое главное - это не блядский видеоурок на ютубе, шайтан их подери. В общем, разберешься, коли не дурак.
#390 #133139
>>133132
Спасибо, буду ковірять
2036 Кб, 565x236
#391 #133180
>>133086

>но все понятно и для даунов

#392 #133181
Всем привет. Наступил мой первый тикет на проекте - запилить загрузку ассет бандлов.
Дело обстоит так: где-то в игре требуется объект (например задник для какой-нибудь локации), АссетМенеджер возвращает пустой объект, сохранят ссылку на этот пустой объект и стартует загрузку соответствующего ассета с сервера. Когда загрузка завершается по колбеку нужно заменить пустой объект, на успешно загруженый. Вопрос - как это сделать? Есть ссылка на пустой объект, есть сылка на свежей подгруженный - и что дальше?
Первое, что пришло в голову - просто чайлдить подгруженный на пустышку, но для этого придется много чего поменять в проекте, хотелось бы этого избежать и осуществить именно замену.
#393 #133189
Поделитесь, пожалуйста, книгой по Unity3d. В сети полно уроков, но нет примеров КОДА, который можно копипастнуть и разобрать.
34 Кб, 1132x692
254 Кб, 1536x920
#394 #133193
Решил переделать код гуи который, наверно, был первым кодом занявшим больше тысячи строк.
Страшное ощущение. То на что я раньше потратил три месяца, я на 80% сделал за два дня.
Сделал инвентарь с типизацией по типу слота и размеру, драг-н-дроп, контекстное меню, вложенные друг в друга инвентари. Все инкапсулировано и вызывается парой строк в ключевых местах. Плюс ебалу в виде текущего ГУИ можно скрутить при переходе на пятую версию без ущерба.
а еще я вынес инвентарь персонажа из статичного класса, так что теперь может и будет мультиплеер.

>>132587
на самом деле у меня уже есть немного шутанчика. у меня есть пестик которым можно целится водя его по экрану, у него можно передергивать руками затвор и у него есть атачменты. обойму сделал как атачмент тоже. и патроны разные.
теперь вот появилось немного процедурной карты. а теперь еще и возможность ставить на карте вручную созданные объекты, чтобы я мог такой написать "хочу чтобы была вышка гдето" и гдето будет вышка. заебииись.

>>133189
Ты таво, этаво. можешь пойти сюда:
https://www.assetstore.unity3d.com/en/#!/category/2/page/1/sortby/popularity
и набрать кода в котором обычно коментов больше чем самого кода.
150 Кб, 1500x750
#395 #133195
>>133193
Здраствуй. Про шутанчики я в шутку, ибо FPS-мечты одна из самых распостреныных идей среди школоты, кторая играет в них.

> целится водя его по экрану


Не делай так - неудобно, лучше крестик всегда в центре. Недавно играл в механоидов 1, там этот прицел в горчяке боя шароебится где угодно и на него еще поворот повешен, если хочешь повернуться сбивай прицел и терпери плюхи пока он доедет до края экрана.

>То на что я раньше потратил три месяца, я на 80% сделал за два дня.


Этоже рефакинг + опыт. Когда ясно, что делать и надо просто начисто переписать с сохранением функционала - это быстрее.

Добра тебе.
#396 #133198
>>133181
Подскажите как быть, пожалуйста.
#397 #133199
>>132946
Я понял, что юнити для простых 2д не нужен, так как очень долго грузится даже на хорошем смартфоне. В libGDX можно всё контролировать, перешел на него.
#398 #133201
>>133193

>Ты таво, этаво. можешь пойти сюда:


>https://www.assetstore.unity3d.com/en/#!/category/2/page/1/sortby/popularity


>и набрать кода в котором обычно коментов больше чем самого кода.



Я знаю про юнити стор, и это выкачка бабла из лохов (в общем, как и весь юнити). Наверняка где-то есть книга, где разбирается: основным классом является MonoBehaviour. От него наследуется то-то и то-то. В игре вызываются две основные функции, такая-то и такая-то. И т. д.
Ощущение, что всё где-то есть, но за большие деньги и посещение тысяч курсов от СЕРТИФИЦИРОВАННЫХ ГУРУ. Приходится до всего доходить по интуиции. Script reference, конечно, есть, но на первом этапе он бесполезен.
#399 #133202
>>133201
Хуй знает, я таких книжек не видел, но что откуда вызывается и какие события прокидывает есть в дефолтном мануале http://docs.unity3d.com/Manual/ExecutionOrder.html
153 Кб, 1132x796
#400 #133207
>>133195

>Не делай так - неудобно


на самом деле я рассчитываю на некоторую неудобность, которая бы уменьшалась с приобретением аттачментов. фиксированная точка прицеливания все слишком упрощает для игрока. это хорошо работало, например, в ресивере, где процесс игры был более медленный и аккуратный.
хотя на самом деле у меня все предметы в сцене висят на джойнте и я хочу чтобы игрок периодически ронял, или активировал предметы если таранит ими на что-то. вторая причина по которым у оружия более высокий уровень подвижности.

>>133201
лично я свое шествие начал с просмотра бородоча: http://www.youtube.com/watch?v=YYqzz1dy3Ak&list=PLE5C2870574BF4B06 и чтения документации, ничего не зная о коде.
а на юнити сторе можешь найти бесплатные комплит прожекты, в которых все обкоменчено и так почитать. собственно то что на ассет стор выкладывают обычно обильно закоменченный код его главный плюс.
#401 #133212
Пацаны, вообще пиздос!!!
Прилепил персонажу миниган. В едиторе все охуенно работает и отображается.
Компилю - запускаю, нихуя из того, что я только что прилепил - НЕТУ БЛЯДЬ!!!!
Я в рот ебал кароче, подскажите, че за хуита? Я все спрайты и музычку в папку Resources положил.
#402 #133213
>>132973
>>132974

Спасибо за советы. Помогло начать что-то делать.

Появился еще один вопрос:

есть разные объекты в игре, которые обладают одинаковыми свойствами, например - противники.

Как лучше сделать так, чтобы не дублировать код?
Пока единственная идея это сделать отдельный скрипт в котором будут общие характеристики например хп противников.

Как лучше оформить различные события, которые повторяются?К примеру, чтобы при смерти любого врага он исчезал, а у игрока увеличивались очки?
#403 #133214
>>133213

>Как лучше оформить различные события, которые повторяются?К примеру, чтобы при смерти любого врага он исчезал, а у игрока увеличивались очки?


Отдельный шкрипт, где на ondestroy вешаешь player.addScore(score); или что-то в этом роде. И так всё остальное.
Очевидно же.
#404 #133215
>>133213
ООП Вам о чем-нибудь говорит?
#405 #133216
>>133215
ТЫ ЧЁ ВАЩЕ КАКОЙ ООП ЧЁ НИСЕШ) МНЕ ТАКОЙ АСЕТ НАДО КАРОЧ ЧТОБ ПЕРЕТАЩИЛ НА ЕКРАН И ЗАЕБИСЬ СТАЛО НИПАНИМАЕШ ЧТО ЛИ))
#406 #133232
>>133216
ПЛАТИ 99$))
#407 #133241
>>133215

Да, но базовые принципы и их практическое применение остаются загадкой.
#408 #133258
>>133213

>Пока единственная идея это сделать отдельный скрипт в котором будут общие характеристики например хп противников.


Ты это, про наследование слыхал, не?
http://msdn.microsoft.com/ru-ru/library/ms173149.aspx

можно написать например
public class Entity{
public int HP = 100;
}
а потом написать
public class Player : Entity{
}
и тогда если ты напишешь
Player player = new Player();
то обнаружишь что можно написать
player.HP = 123;
#409 #133266
>>133181
РОЛЛ
#410 #133276
>>133258

Спасибо, стало понятнее.

Тогда два вопроса:
1. Где нужно хранить описание главного класса, учитывая особенности юнити? Вот у меня есть основной класс противник, у которого есть переменная макс хп. Мне описать этот класс в одном из случайных скриптов отдельных противников и давать потом на него ссылку?
(Вероятно, не очень хорошо сформулировал вопрос)
2. Я правильно понял, что в классе кроме переменных могут быть определены различные типовые функции: что происходит при смерти, столкновении, и.т.д?
И объявив класс в начале скрипта я могу сразу обращаться ко всем этим событиям, если до этого правильно их оформил?

Тогда вопрос с тем, где хранить первоначальное описание класса становится особо актуальным.
#411 #133278
>>133276
Запомни, все, что работает с объектами на сцене - создание/удалени изменения положения, звук, физика анимация и прочее - наследует MonoBehaviour. Все что наследует MonoBehaviour добавляется как компонент на конкретный объект сцены (или префаб, который просто хранится вне сцены, в ассетах). При добавлении объекта на сцену создается экземпляр скрипта.
Т.е. есть у тебя скрипт для противника, добавляешь его как компонент на объект противника (в этом же объекте модель, управление анимациями, звуки, коллайдер и прочая хуета).
Нужен тебе общий скрипт, скажем, для управление AI противников - делаешь пустой объект с понятным именем EnemyController, и добавляешь на него как компонент скрипт с аи. Все противники при создании будут иметь ссылку на этот объект, в коде со ссылки на объект будут получать ссылку на экземпляр скрипта.
#412 #133287
>>133276

>Где нужно хранить описание главного класса, учитывая особенности юнити? Вот у меня есть основной класс противник, у которого есть переменная макс хп.


то где ты держишь классы, которые не наследуются от MonoBehaviour не важно. я, например, обычно стараюсь делать классы наследуемые от монобихейвора как можно меньше, оставляя в них просто экземпляр класса и какие-то публичные его методы. потому что иначе вся эта ебала обычно превращается в нечитабельную мешанину спустя какое-то время.

>Я правильно понял, что в классе кроме переменных могут быть определены различные типовые функции: что происходит при смерти, столкновении, и.т.д?


Да. Но учитывай что если ты не наследуешься от монобихейвора то ты не можешь производить некоторые манипуляции в сцене. например если ты захочешь написать Instantiate(хуйня) то тебе не дадут.
как в случае предидущего примера ты можешь написать например так:

public class Player : Entity{
\tpublic void Die(){
\t\tbase.HP = 0;
\t}
}

public class SceneEntity : MonoBehaviour{
\tPlayer thisPlayer = new Player();
\tpublic void Kill(){
\t\tthisPlayer.Die();
\t\tDestroy(this.gameObject);
\t}
}

>Тогда вопрос с тем, где хранить первоначальное описание класса становится особо актуальным.


дапохуй на самом деле. где хочешь.
42 Кб, 469x294
#413 #133291
Аутисты-неосиляторы или просто стремящиеся, го замутим скайпо-конфу где будем помогать друг другу спрашивая и отвечая на тупые вопросы, чтобы не мозолить глаза юнитибогам в треде?
Оставляйте фейко-скайпы, добавляйтесь kefear007.
#414 #133320
как заменить один gameobject на другой?
#415 #133321
>>133320
1) создаёшь инстанс второго
2) копируешь туда transform первого
3) удаляешь первый
#416 #133324
>>133320
Перитаскиваеш как асет карочь и всё))
#417 #133353
>>133321
И ссылки на первый, или на компоненты первого будут теперь ссылаться на второй?
74 Кб, 1440x752
#418 #133356
Какой-то омск со шрифтами. Что делаю не так?
#419 #133358
>>133353
Ссылки переназначаешь
#420 #133371
Что входит в билд? Все содержимое папки ассетс?
#421 #133374
>>133287

Спасибо, вроде бы стало понятнее.

Как я планирую делать:

public class Enemy : MonoBehaviour {
\tpublic float maxhp, currenthp, exp, score;
\tpublic void OnDeath(){
\t\t\t\tif (currenthp == 0) {
\t\t\t\t\t\tDestroy (this.gameObject);
\t\t\t\t}

Храню описание класса просто в ассетах(Сразу вопрос: все что в ассетах тоже выполняется?)

После чего я делаю скрипт для конкретного объекта:

public class Ship : Enemy {

\t// Use this for initialization
\tvoid Start () {
\t
\t}
\t
\t// Update is called once per frame
\tvoid Update () {
\t\tOnDeath();
\t
\t}

Этот скрипт уже прикрепляю к префабу.
Вроде бы работает.
Переменные в инспекторе появляются, во время запуска объект исчезает.

Правильно ли это? Можно ли как-то красивее организовать?

Все ли должно быть public?
#421 #133374
>>133287

Спасибо, вроде бы стало понятнее.

Как я планирую делать:

public class Enemy : MonoBehaviour {
\tpublic float maxhp, currenthp, exp, score;
\tpublic void OnDeath(){
\t\t\t\tif (currenthp == 0) {
\t\t\t\t\t\tDestroy (this.gameObject);
\t\t\t\t}

Храню описание класса просто в ассетах(Сразу вопрос: все что в ассетах тоже выполняется?)

После чего я делаю скрипт для конкретного объекта:

public class Ship : Enemy {

\t// Use this for initialization
\tvoid Start () {
\t
\t}
\t
\t// Update is called once per frame
\tvoid Update () {
\t\tOnDeath();
\t
\t}

Этот скрипт уже прикрепляю к префабу.
Вроде бы работает.
Переменные в инспекторе появляются, во время запуска объект исчезает.

Правильно ли это? Можно ли как-то красивее организовать?

Все ли должно быть public?
#422 #133383
>>133374

>OnDeath


>вызывается каждый тик и проверяет смерть


Ты в имена методов совсем не можешь, да?
On - событие, но никак не проверка, дебил.
#423 #133384
>>133383

Правильно будет:
public void OnDeath(){
Destroy (this.gameObject);}

void Update () {
if (currenthp == 0) {

OnDeath();

}
}
#424 #133385
>>133383

Или лучше изменить название?

Где почитать про наименования?
#425 #133386
>>133385
Да можешь хоть анусом своей мамки назвать, все равно не допишешь дальше движущихся кубов.
#426 #133387
>>133386

У меня 2д игра. Кубов нет.
#427 #133395
Как в Unity импортируется 2D анимированные спрайты? В каком виде?
#428 #133396
>>133395
spriteshit например
#429 #133412
>>133383
Агрящийся мудила не знает о названии листенеров? OnPlayerDeath - нормальное название для листенера/колбека. Хотя для проверки лучше конечно CheckForDeath.
>>133386
А теперь твоя должность и выполненные проекты на юнити. Вангую зашоренного мида, которого унижает ТЛ и не повышают зп.
#430 #133414
>>133412
Тот мамкоеб вообще какой-то левый.
Я нигде не работаю, первокурсностудент.
А название метода реально говно - там не коллбек. Вот CheckForDeath - хорошее.
#431 #133419
Ребята, помогите понять в каком направлении курить. Пилю одноэкранную аркаду с ящиками падающими сверху как-то писал о ней в субшоте. Необходимо понять как сделать красивую рандомизацию падения ящиков. Пока что юзаю обычный random_range и метод Монте-Карло (грубо говоря 10 ящиков рассчитываю одним способом, 10 другим). Получается вроде бы норм, но по факту - никак. Хочется какого-нибудь красивого алгоритма/распределения.
#432 #133420
>>133412
а сам-то кем будешь, вангователь? успешный дирехтар?
#433 #133470
>>133420
Да я сам неуспешный мид.
#434 #133475
Прошу мамкоебов не отвлекаться и больше помогать мне.

Дебил
#435 #133564
>>133291
Один молодец уже отписался, продолжаем!
#436 #133572
>>133374
зачем ты вообще проверяешь в Update здоровье противника?

можно например написать

[code]\t\t\tpublic float HP{[/code]
[code]\t\t\t\tset{[/code]
[code]\t\t\t\t\tcurrenthp = Mathf.Min(value, maxhp);[/code]
[code]\t\t\t\t\tif(currenthp <= 0)Сдохни();[/code]
[code]\t\t\t\t}[/code]
[code]\t\t\t\tget{return currenthp;}[/code]
[code]\t\t\t}[/code]
#437 #133574
>>133572
оооооооо...... давай раскидаем всю управляющую логику по всему коду, чтоб хуй найдешь что где, калбеков повесим делигатов да побольше

так веселее
#438 #133579
>>133574
тебе предпочтительней писать все в старт, апдейт и так далее, чтобы не потерялось?
#439 #133584
Подскажите, а много отъедает производительности простая проверка условий в апдейте? Сама по себе.

Например:
if (var == true) {}
else {}
#440 #133586
>>133584
мелкое говно - нет. ну, или пока обжектов с такими проверками разумное количество. а если ты напишешь в апдейт что-нибудь вроде говно.геткомпонент<мегаговно>().зделайвсезаебись(); то как-то не очень будет.
#441 #133587
>>133586
В том-то и дело что у меня все кешируется.
А насчет проверки условий сомневаюсь.
Вроде-бы их не много.
#442 #133602

Почему не работает?
#444 #133606
>>133603
напиши Debug.Log(Input.GetAxis("Horizontal")); и увидишь.
77 Кб, 412x351
#445 #133612
>>133419
ну что же вы, rebyata...
#446 #133613
>>133612
а как мы тебе поможем то? ну раскидывай ящики например первый случайно, а второй в рандом.рейндж расстоянии от предыдущего чтобы они могли падать цепочкой. или напишы себе расстановку ящиков по паттернам на основании картинок. чтобы ты такой нарисовал хуй и пишешь "хочу чтобы ящики падали как хуй".
это тот вопрос в котором вроде как ты и должен быть генератором идей.
2 Кб, 201x164
#447 #133614
Впервые пытаюсь в тач, чяднт?
#448 #133618
>>133613

>на основании картинок.


BMP и проходиться по пикче по пикселам?
И да - реквест был в сторону именно каких-нибудь интересных алгоритмов/распределений. Всякого такого матана который я мог бы покурить вдохновиться.
#449 #133620
>>133618

>BMP и проходиться по пикче по пикселам?


я бы сделал именно так, да. если хочется всяких распределений, то пожалуй следует начать с возможности удобно самому их задавать не через задницу. я бы наверно даже сделал отдельно метод который бы вместо пикселя читал область и в зависимости, например, от размеров ящика убирал из этой области соответствующего радиуса зону для возможных мест спавна ящика, до тех пор пока возможные места не кончатся.
38 Кб, 664x671
#450 #133621
>>133620
Алсо картинка в тему о распределениях. Использую для посадки разного уровня деревьев и кустиков, но чтобы они не пересекались.
#451 #133632
>>133612

Попытайся словами объяснить, что ты понимаешь под красотой.
"не должно быть нагромождений из 5 ящиков"

"не должны падать только в одном углу"

"должно иногда падать прямо на игрока"

Потом собери все свои идеи и попытайся оформить, разбавив случайным элементом.
#452 #133633
Появился вопрос, вероятно, он пересекается падающими ящиками.

Пишу систему спавна противников.

Как она примерно будет выглядеть:

На входе:
1.максимальное количество
2.максимальная суммарная сложность

и набор префабов противников с индивидуальной сложностью у каждого.

Соответственно нужно наспавнить противников в случайных местах не превысив сложность и количество.

Как это сделать?

Текущие мысли:

сделать два цикла один в другом, которые будут действовать пока количество или сложность не упрутся в потолок и будут спавнить противников в случайном месте.
Соответственно вопросы:

Как случайным образом выбирать противников из префабов?
Как это все оформить?
Где и что почитать?
#452 #133633
Появился вопрос, вероятно, он пересекается падающими ящиками.

Пишу систему спавна противников.

Как она примерно будет выглядеть:

На входе:
1.максимальное количество
2.максимальная суммарная сложность

и набор префабов противников с индивидуальной сложностью у каждого.

Соответственно нужно наспавнить противников в случайных местах не превысив сложность и количество.

Как это сделать?

Текущие мысли:

сделать два цикла один в другом, которые будут действовать пока количество или сложность не упрутся в потолок и будут спавнить противников в случайном месте.
Соответственно вопросы:

Как случайным образом выбирать противников из префабов?
Как это все оформить?
Где и что почитать?
#453 #133662
#454 #133666
>>133633
Э, основы программирования?

public GameObject[] enemyPrefabs;
public float totalDifficulty=0;
...
if (totalDifficulty<difficultyLimit) {
GameObject temp=Instantiate(enemyPrefabs[Random.Range(0, enemyPrefabs.length)]) as GameObject;
totalDifficulty+=temp.GetComponent<enemyInfo>().diff;}
#455 #133667
>>133614
Не читаешь документацию. Ты скармливаешь юнити какой-то омск.

if (Input.GetTouch(touchIndex).phase==TouchPhase.Began) {...}
#456 #133726
Продолжаю серию детских вопросов.

Нужно в одном месте создать 4 пули.

Полететь они должны наверх, вниз, направо и налево.

В начале я сделал 4 префаба пуль у которых в их апдейте было 4 разных трансформ.транслейта.

Это работало, но смотреть больно. Есть какой-нибудь красивый способ?
326 Кб, 1280x720
#457 #133733
>>133726
var bullet = Instantiate(...);
bullet.AddForce(...);
var bullet2 = Instantiate(...);
bullet2.AddForce(...);
var bullet3 = Instantiate(...);
bullet3.AddForce(...);
var bullet4 = Instantiate(...);
bullet4.AddForce(...);

Если двигаешь транслейтом, не используя ригидбоди, то сделай переменную velocity:Vector3, в апдейте перемещай на velocity, а при создании пульки изменяй тоже velocity
#458 #133734
>>133733

В чем плюсы использования ригидбоди для движения?
#459 #133738
Я сдела скрипт на пушку:

rotation.eulerAngles = new Vector3 ( 0, 0, -90);
Instantiate (bullet, gun.position, rotation);
rotation.eulerAngles = new Vector3 ( 0, 0, 0);
Instantiate (bullet, gun.position, rotation);
rotation.eulerAngles = new Vector3 ( 0, 0, 90);
Instantiate (bullet, gun.position, rotation);
rotation.eulerAngles = new Vector3 ( 0, 0, 180);
Instantiate (bullet, gun.position, rotation);

и на пулю

void Update () {
transform.Translate (0, -bullet_speed, 0);
}

кто может объяснить почему это сработало, как я хотел?

Мне казалось что y есть единая величина во всей системе и в итоге пули должны были быть просто перевернутыми но лететь в одну сторону?
Почему они летят в 4 разные стороны?
62 Кб, 800x478
#460 #133739
>>133738
Потому, что я ебал твою мамку.
#461 #133740
>>133738
Ты объявил 4 вектора, братишка.
#462 #133744
>>133738

>y есть единая величина во всей системе и в


ТПопробуй просто заменять векторы, а не объявлять каждый раз новый
#463 #133745
>>133740
>>133744

Хитро, спасибо
#464 #133746
>>133745

Правильный ли я делаю вывод, что для каждого объекта я могу задать таким образом собственную векторную систему? Добавив информацию о новом векторе?
Как потом манипулировать этим объектом?
286 Кб, 600x850
#465 #133747
>>133738

>Почему они летят в 4 разные стороны?


Потому что читай документацию.
http://docs.unity3d.com/ScriptReference/Transform.Translate.html

>void Translate(Vector3 translation, Space relativeTo = Space.Self);


>Space relativeTo = Space.Self


>Space.Self


В двух словах - transform.translate по дефолту работает для локальной системы отсчёта. Когда ты меняешь угол объекта, ты меняешь угол всей его системы отсчёта. В итоге чего направление "вверх" оказывается разным для каждого объекта.
Если хочешь по-другому, юзай Space.World, тогда вне зависимости от угла объект будет тянуть вверх. Но тебе это не нужно в данном случае.

Алсо, выебал мамок всех вот этих долбоёбов >>133740 >>133744, пиздуйте в /b, ублюдки.
#466 #133748
Серия вопросов продолжается.

Ситуация: при нажатии на клавишу вокруг персонажа должен появляться щит.

Щит имеет свое здоровье, которое регенерирует со временем.

Управление щитом вынесено в скрипт с общим управлением.

Логика такова:

1. Скрипт управления персонажа при нажатии на клавишу устанавливает в скрипте щита переменную функции АктивацияЩита в значение активен.

2. Скрипт щита получив информацию о том, что щит активен запускает в работу компонент со спрайтом щита и компонент коллайдера2д, о который все будет разбиваться.

3. Когда клавиша отпущена переменная устанавливается в значение щит не активен на что скрипт щита отключает спрайт и коллайдер.

Щит является child объектом игрока.

Вопрос:

Логично ли все это?
Можно ли как-то упростить схему?
Как активировать компоненты у объекта?
105 Кб, 625x750
#467 #133751
>>133748

>Логично ли все это?


Если работает и не создаёт лишних проблем/нагромождений, то всё правильно.

>Можно ли как-то упростить схему?


Можешь обработку клавиши щита впердолить прямо в скрипт щита.

скрипт игрока:
static KeyCode shieldKey = KeyCode.S;

щита:
Input.GetKeyDown(player.shieldKey){
turnShield(true);
}
void turnShield(bool state) { ... }

>Как активировать компоненты у объекта?


Гугли Unity Component и ищи в полях нечто похожее на active. Мог бы и сам догадаться.
#468 #133759
>>133751
Да, нагуглил еще до ответа. Видимо первый этап пройден и я уже могу что-то гуглить.

С точки зрения оформления для сторонних людей, что логичнее делать отдельный скрипт на управление с кучей гет компонент и ссылок на другие объекты и скрипты или каждое управление к конкретному объекту?

Где почитать про общую логику написания кода?
Спасибо.
#469 #133764
>>133759
На полном серьёзе советую ёбнуть C++ (ООП) и попрактиковаться в проектировании каких-нибудь велосипедов помасштабнее.
Но это выпрямление рук, а не создание игры; решай сам, что тебе больше по душе.
Алсо молодец, что научился гуглить. Кстати, если не получается, то гугли на английском. Материалов побольше будет.
По поводу

>общую логику написания кода


посоветовать ничего не могу. Мог бы посоветовать что-нибудь про паттерны и проектирование, но это к юнити никаким боком, хоть и учит думать про архитектуру.
#470 #133765
>>133764
Удвою этого.
Велосипедами можно отлично выпрямить голову и надрочить скилл. Но вот продукт на них не сделаешь.
Не обязательно С++, можно взять C#/Java, они тоже ООП и там меньше ебли уровня распределения памяти или возни с указателями.
168 Кб, 700x900
#471 #133772
>>133764
>>133765
Что есть велосипед?
Гуглю только на английском, на русском совсем мало. Языки есть одно из немногих, что я могу.

Что есть велосипед?

Рандомный проект, который нужно сделать самостоятельно?
1173 Кб, 2621x1901
#472 #133773
>>133772
Пожалел себя, перечитав, что написал.
364 Кб, 900x637
#473 #133774
>>133772

>Что есть велосипед?


>Рандомный проект, который нужно сделать самостоятельно?


Да что угодно с достаточным масштабом и достаточно байтодрочерское. Можешь заебенить какое-нибудь говнецо на СДЛ, как я, только тщательно думай об архитектуре.

>Языки есть одно из немногих, что я могу.


Тогда из тебя выйдет хороший программист.
#474 #133791
При дрочево с гуем и шершавым понятно. Но кто-нибудь может пояснить по архитектуре? К примеру сюжет, инвентарь и прочий ананизм. Облеплять скриптами персонажа, хуячить отдельные объекты, строить трехколесные велосипеды с костылями? Кто как городит эту поебень?
#475 #133854
>>133791
public class invertoryEntity{
public string itemName;
public sprite icon;

public string type; //enum is fine too;
////CONSUMABLE
public int HPreg;
public int MPreg;
//whatever else. int = 0 = not using this type of effect
////WEAPON

public int DMG;
public int StrReq; //0 = no stat req
public int AgiReq;
public int durability;
public int currentDurability;
public int statTrak//lel, 300 rub-tier joke
}

public invertoryEntity[] invertory;
#476 #133855
>>133854
И нахуй оно мне? Пиздуй со своим говнокодом к окулисту, уебан.
#477 #133856
>>133855
Ну, я-то откуда знал что тебе уже не нужен инвертарь?
#478 #133858
>>133854

>invertory


>>133856

>инвертарь


Как вы так умудряетесь, а?
Я постоянно вижу эту ошибку, её делают в 90% случаев написания этого слова и у меня ЛЮТО БЕШЕНО БУГУРТИТ.
И-н-в-е-Н-Н-Н-т-а-р-ь, ёпт.
295 Кб, 500x375
332 Кб, 344x250
141 Кб, 500x417
#479 #133864
>>133291
Не стесняемся, вкатываемся!
#480 #133870
>>133791
Читай ООП.
Обычно при программировании интерфейса используют.. интерфейсы, лол.
Ну понимаешь, да, при программировании UI (графического интерфейса) используют абстрактные "классы" (нихуя не так, не знаю как ещё разграничить понятия), которые не имеют реализаций методов и лишь указывают обязательные поля для классов, которые включают в себя этот интерфейс и перенимают его функционал. Разницу между абстрактным классом я тебе пояснять не буду.
Структурка, например:
Есть IInventory, его ты можешь давать различным классам, которые являются инвентарем.
Можно делать ISlot и пихать его в инвентарь, и прочее.
Вся логика нажатий обрабатывается в каком-нибудь Container, а вот отрисовка - Gui. События управления ловит какой-нибудь главный класс и распределяет их по активным окнам, активные окна - гуи с кнопками. Гуи отправляет данные контейнеру, контейнер отправляет данные слотам, а там уже по нажатым клавишам (типа перетаскивание предмета через шифт) определяется нужное действие, врубается логика запретов (не одевать трусы на голову) и прочее прочее.
#481 #133871
>>133870
Заодно поясню за логику:
Не всегда нужно иметь инвентарь с визуальным доступом. Т.е. бывает ситуации, когда допустим есть у продавца свой инвентарь, а игрок его видеть не должен. Тогда мы просто даем ему IInventory и всё. Логика передачи и хранения предметов строится там.
Контейнер и гуи - для возможности взаимодействия игрока с данными, т.е. через мышь и клаву.
Разные уровни абстракции, разные функции.
Смекаешь?
#482 #133872
>>133871
Ах да, забыл.
Гуи обычно есть только на клиенте (касается сетевых\МММодрочилен), ибо несет в себе лишь сугубо визуальную функцию и только лишь определяет элементы на экране и рисует их.
#483 #133873
>>133858
Извиняюсь с:
#484 #133923
Ребятки, помогите с проблемой.
Впервые делаю игру на Unity — игра карточная, с возможностью скачивания и установки дополнительных колод. Каждая карточка должна содержать простую инфу разного типа: тексты, числа, булины, 2д/3д графику и анимацию.

Подскажите, как лучше организовать все это дело? Чтобы можно было удобный и грамотный доступ к карточкам делать, правильно разработать процедуру скачивания и импорта новой колоды — как делаются такие вещи по уму?

Как искать такую инфу в гугле, не представляю. Если накидаете ссылок на русско- или англоязычные источники, буду признателен.
1749 Кб, 1446x2046
#485 #133927
>>133923
Походу карты у тебя будут как длц, я правильно понимаю? Срака в том, что нативно поддержка длц есть только в про-версии юнити, насколько я понимаю. Вот тебе ссылочка на мануал
http://docs.unity3d.com/Manual/abfaq.html
и вот на хабру
http://habrahabr.ru/post/188824/
242 Кб, 960x1280
#486 #133933
>>133927
Да, дополнительные колоды — это ДЛЦ. Не ожидал, что метод доставки и импорта контента в игру окажется платной фишкой. Хотя, судя по статье на хабре, если мне не понадобится включать в длц нативные файлы юнити, можно обойтись и бесплатными костылями.
Спасибо за ссылки.

А вообще, как лучше организовать хранение колоды? Я представлял себе простой XML-файл, в котором буду хранить характеристики всех юнитов и их количество в колоде, вместе со ссылками на изображения, модели и текстуры. Нормально, или есть способ поудобнее?
#487 #133954
>>133321
А как? Трансформ же ридонли
#488 #133958
>>133954
Destroy(GameObject.Find("lol"));
Ну или не файнд, хуле ты ссылки не хранишь?
#489 #133989
>>133927

> Срака в том, что нативно поддержка длц есть только в про-версии юнити


>>133933

>Да, дополнительные колоды — это ДЛЦ.


А зачем через ассет бандлы? Можно хранить необходимую инфу в виде текстовых файлов и картинок и подгружать с сервера.
187 Кб, 960x1280
#490 #133990
>>133989

>А зачем через ассет бандлы?


Проблема в том, что мне понадобится загружать в ДЛЦ еще и трехмерные объекты: локации, персонажей, возможно даже анимацию. Я все еще курю документацию, но пока у меня складывается ощущение, что я в жопе.

Вопрос всем:
Может, кто-нибудь сможет порекомендовать альтернативный движок? Требования следющие: мультиплатформенность, относительная простота освоения, желателен C#, C++ или JS, нормальная имплементация DLC и сетевых мультиплееров, бесплатность либо относительная дешевизна (1500 бачей я отвалить пока не готов)
#491 #133991
>>132421
Ну же, анон. Или подскажи теги для гугла.
1387 Кб, 991x1403
#492 #133994
>>133990
Анрил4, не? И почему бы просто не украсть юнити, раз уж ты так серьезно настроен? Когда доделаешь свою йобу - тогда и купишь.
187 Кб, 1280x960
#493 #134033
>>133994
Купил месяц анрилача, вкуриваю, спасибо за то, что напомнил про него. Пока все нравится.
Будешь смеяться, про «украсть юнити» я не подумал. К тому же анрыл стоит всего 800 рублей, и в остальные месяцы я могу не платить, пока что-то конкретное не пригодится. Так что остановился на нем.
859 Кб, 900x1273
#494 #134035
>>134033

>пока что-то конкретное не пригодится


Проясни за это поконкретней. Что случится через месяц? Первое что приходит на ум - нельзя скачать обновления. Но может что-то ещё?
#495 #134050
>>134033
На Unity Pro можно подписку оформить. Правда закрыть раньше чем через год ее не дадут. $75/мес.
#496 #134056
Анон, а что если скопировать старую компутерную игру?Копирасты с анусом и кошельком не поиграют?
#497 #134057
>>134056
Удваиваю вопрос, сам пилю ремейк старой игрули. Зарабатывать, на ней, не собираюсь.
#498 #134058
>>134056
>>134057
Хоть игровая механика и не является интеллектуальной собственностью, вас все равно при желании могут взять за жопу. Недавний пример 3д ремейк rock'n'roll racing, хоть ее авторы и сменили сеттинг и название, Близард пригрозила им судом, пацаны вынуждены были отправить игру и несколько лет разработки в мусорное ведро. Кстати, ребята местные, можете спросить у них подробности.
#499 #134061
>>134058
даже если я бесплатно буду раздавать?
#500 #134062
>>134058

> сменили сеттинг и название


А за что уцепились Близарды?
105 Кб, 640x480
#501 #134078
Чем можно достать текстуры из соседа?
3D Ripper DX не видит ее.
#502 #134094
>>134061
Если ты авторам не понравишься, даже так. Но вероятность этого впрочем мала, просто не свети своими личными данными.

>>134062
Хуй их знает, вроде не за что было, хотя изначально это был просто ремейк, а потом они решили поменять модельки, сеттинг и название и двинули в стим. Тогда-то на них и обратили внимание Близарды. Погугли, может я где-то и напиздел вам, просто лень сейчас искать. На emu-land много это обсасывали, у них там была своя темка.

>>130757
Посаны, подскажите имя или контатик богини, шишка колом стоит.
#503 #134102
Пытаюсь сделать хп бар.

Сделал одну картинку в UI с пустым ХП.

Одну с полным. Навесил одну на другую. Теперь если уменьшать ширину полного хп, то хп убывает.

Все реализовано в новом УИ.
Соответственно, чтобы уменьшить мне нужно отредактировать в скрипте ширину рект трансформа.

Как это сделать?

Никак не могу понять как дать ссылку и как редактировать?
#504 #134112
>>134102

Вроде бы разобрался. Пидорство какое-то.
97 Кб, 608x336
#505 #134142
При создании снаряд получает значение переменной flipper из объекта игрока.

rigidbody2D.AddForce(new Vector2(transform.right.x flipper.flipper, transform.right.y)speed);

если её убрать, то сняряд нормально летит, если её брать, то снаряд просто спавнится на месте, хотя значение передаётся 1 или -1, не ноль.

Что за хуйня? Может я как-то не правильно получаю её из объекта игрока?
public GameObject player;
flipper = player.GetComponent<PlayerMovement>();
#506 #134176
>>134142

>transform.right.x flipper.flipper


ты уверен в этой формулировке?

в чем смысл этого флипера?
#507 #134181
>>134176
Там умножение, transform.right.x flipper.flipper

Смысл в том, что персонаж флипается когда направление движения меняет, вместе с ним флипается и его пушка, поэтому когда он в в левую сторону флипнут, снаряд вылетает в противоположном направлении. Хз, может как-то по-другому это надо решать.
#508 #134190
1. Что-то годное из асет-стора покупали,
поделится ссылками на годноту никто не желает?

2. Хуль у них модерация такая упоротая?
Все мои асеты/пропсы вполне качественные,
хули оно пендинг уже третий месяц?
#509 #134236
Посоны, а перекат?
#510 #134239
>>134236
Лениво. Вот пригорит у кого-нибудь - и будет перекат.
#511 #134244
Массив в playerprefs можно без костылей засунуть?
#512 #134313
Пацаны, расскажите за распознавание лиц в юньке. С меня 10% от продаж.
#513 #134324
>>134313
гугли Unity3d + OpenCV
#514 #134339
если кто ищет подработку то пишите фейкопочту свою. требуется знание unity, mysql, php, vk,fb api, ugui.
#515 #134340
Бьюсь над такой проблемой - как сделать идеальный интерфейс для АДВЕНЧУРЫ,
универсальный и приятный одновременно и для ПК и для Андроида.

Чтобы и минимализм и приятный функционал.

Разберём по частям мною написанное:

1. Новая игра - единственная кнопка, не вызывающая вопросов.
Хотя нет. Можно при первом старте сразу начать игру без меню, типа для отмосферносте11 но стоит ли?

2. Продолжить (она появится в меню после закрытия/паузы самого первого сеанса игры)

Здесь может быть под-меню, для левел-менеджера (уже пройденные/открытые и залоченные уровни/экраны) - стоит ли его делать?

От сейв-лоад в любой момент игры я думаю отказаться - нужен ли он в простой адвенчуре?
Сейвить будет чекпоинт - момент появления ГГ в ново-открытом экране (локации).

3. Опции - нахуй не нужны, правильно?
Или оставить слайдер управления звуком?
Нужен ли он, если на Андроиде всегда есть качелька громкости
а на ПК - слайдер на панели/крутилка на колонке?
Еще локации темноваты, может стоить добавить управление яркостью/гаммой? - хз, как это реализовать на Юнити.

///
Далее, левел-менеджер и слайдер управления звуком можно спрятать под выдвижную панельку, вызываемую кнопкой паузы - годная ли идея? Мне кажется - излишество.
///

4. Выход - нужен ли он?
Нужен ли он в ПК версии, если игра работает в оконном режиме,
где в любой момент можно нажать крестик?
Нужен ли он на Андроиде, где в любой момент можно свернуть и убить процесс?

5. Кредитс - нахуй не нужно, достаточно незаметной ссылки на сайт в главном меню.

КОроче, помоги определится, анон.
Возможно, даже поделись удачными примерами.
Смотрел на андроиде реализацию меню адвенчуры в Shapik, Машинариум, сейчас гляну Брокен Сворд.
#515 #134340
Бьюсь над такой проблемой - как сделать идеальный интерфейс для АДВЕНЧУРЫ,
универсальный и приятный одновременно и для ПК и для Андроида.

Чтобы и минимализм и приятный функционал.

Разберём по частям мною написанное:

1. Новая игра - единственная кнопка, не вызывающая вопросов.
Хотя нет. Можно при первом старте сразу начать игру без меню, типа для отмосферносте11 но стоит ли?

2. Продолжить (она появится в меню после закрытия/паузы самого первого сеанса игры)

Здесь может быть под-меню, для левел-менеджера (уже пройденные/открытые и залоченные уровни/экраны) - стоит ли его делать?

От сейв-лоад в любой момент игры я думаю отказаться - нужен ли он в простой адвенчуре?
Сейвить будет чекпоинт - момент появления ГГ в ново-открытом экране (локации).

3. Опции - нахуй не нужны, правильно?
Или оставить слайдер управления звуком?
Нужен ли он, если на Андроиде всегда есть качелька громкости
а на ПК - слайдер на панели/крутилка на колонке?
Еще локации темноваты, может стоить добавить управление яркостью/гаммой? - хз, как это реализовать на Юнити.

///
Далее, левел-менеджер и слайдер управления звуком можно спрятать под выдвижную панельку, вызываемую кнопкой паузы - годная ли идея? Мне кажется - излишество.
///

4. Выход - нужен ли он?
Нужен ли он в ПК версии, если игра работает в оконном режиме,
где в любой момент можно нажать крестик?
Нужен ли он на Андроиде, где в любой момент можно свернуть и убить процесс?

5. Кредитс - нахуй не нужно, достаточно незаметной ссылки на сайт в главном меню.

КОроче, помоги определится, анон.
Возможно, даже поделись удачными примерами.
Смотрел на андроиде реализацию меню адвенчуры в Shapik, Машинариум, сейчас гляну Брокен Сворд.
#516 #134341
>>134340
И ещё управление - сейчас у меня управление виртуальным стиком/AD/стрелки, но терзают сомнения - не лучше ли сделать управление кликом в то место, куда нужно подойти?
#517 #134353
using UnityEngine;
using System.Collections;

public class GoToMouse : MonoBehaviour {

\tpublic Vector2 speed = new Vector2(3, 0);
\tprivate Vector2 target;
\tprivate float movement;

void Start ()
{
target = rigidbody2D.velocity;
}

void Update ()
{
\tbool inputX = Input.GetMouseButtonDown(0);
\tmovement = speed.x inputX;\t

if (Input.GetMouseButtonDown(0))
\t{
\ttarget = Camera.main.ScreenToWorldPoint(Input.mousePosition);
\ttarget = rigidbody2D.velocity;
\t}

\trigidbody2D.velocity = new Vector2(movement, rigidbody2D.velocity.y);

\t}
}


Ругает \tmovement = speed.x
inputX;\t:
Operator cannot be applied to operands of type float and bool
#517 #134353
using UnityEngine;
using System.Collections;

public class GoToMouse : MonoBehaviour {

\tpublic Vector2 speed = new Vector2(3, 0);
\tprivate Vector2 target;
\tprivate float movement;

void Start ()
{
target = rigidbody2D.velocity;
}

void Update ()
{
\tbool inputX = Input.GetMouseButtonDown(0);
\tmovement = speed.x inputX;\t

if (Input.GetMouseButtonDown(0))
\t{
\ttarget = Camera.main.ScreenToWorldPoint(Input.mousePosition);
\ttarget = rigidbody2D.velocity;
\t}

\trigidbody2D.velocity = new Vector2(movement, rigidbody2D.velocity.y);

\t}
}


Ругает \tmovement = speed.x
inputX;\t:
Operator cannot be applied to operands of type float and bool
#518 #134354
>>134353
Блять, макака съела "звёздочку" умножения между speed.x и inputX.
Ну вы понели.
#519 #134381
>>134354

>Operator cannot be applied to operands of type float and bool


и чего тебе не понятно? переведу для тебя

>не могу умножить число на булевую переменную, еблан ты тупой

#520 #134382
Вопрос на тему типов.
Хочу в системе инвентаря сделать возможность спавнить предметы одной строчкой. Сделал класс который висит в сцене для спавна предметов и сделал статичный класс с переменной с этим классом, в который он добавляет сам себя на эвэйке, чтобы можно было вызывать его из классов не наследуемых от монобихейвора.
У меня есть базовый класс Item и куча наследуемых от него классов. для некоторых типов я хочу сделать спавн с какими-нибудь еще правилами(например чтобы добавлялся какойнибудь компонент, или еще какая хуйня по моему вкусу). но застрял на том что в шарпе нет возможности делать switch по типу. скажите, как можно написать похитрей?
#521 #134384

>в шарпе нет возможности делать switch по типу


то есть такая конструкция не взлетит?
[CODE]
switch(typeof(twoyaMamka))
{
case typeof(Slyha):
debag.log("бабах");
break;
case typeof(Nyasha):
debag.log("");
break;
}
[/CODE]
#522 #134385
>>134384
A switch expression of type `System.Type' cannot be converted to an integral type, bool, char, string, enum or nullable type
#523 #134386
>>134385
точно, ну а если к стрингу приводить?
#524 #134387
>>134386
Да, можно, просто не слишком удобно. можно и через if(x is y) else if сделать, можно сделать через Dictionary<Type, Action> и делегаты, просто не слишком удобно. потому и спросил похитрей.
#525 #134388
>>134387
а какую логику ты хочешь описывать с этом switch?
нельзя её инкапсулировать в сами классы?
#526 #134389
>>134388

>например чтобы добавлялся какойнибудь компонент, или еще какая хуйня по моему вкусу


какие-то уникальные действия для предметов. например чтобы для тапочек добавлялся набор компонентов и чайлдов чтобы он подсвечивался и его название вылезало над ним, а для огромного мешка только его название без подсвечивания, так как его и так видно. или если предмет легко укатывается то я садил его на джойнт и до тех пор пока его не пнешь - он не покатится. или вовсе задавать все это через params[].

Не, инкапсулировать не хочу, класс Item не наследуется от монобихейвора, потому я не могу разместить там какой-нибудь public virtual void Instantiate(Transform location).
#527 #134464
using UnityEngine;
using System.Collections;

public class CameraControl: MonoBehaviour
{
public Transform followTransform;

public Vector3 offset = new Vector3(0f, 2.5f, -5f);
public float moveSpeed = 1;
public float turnSpeed = 1;

Vector3 goalPos;
//Quaternion goalRot;

// Use this for initialization
void Start()
{
if(!followTransform)
followTransform = GameObject.FindGameObjectWithTag("Player").transform;
if(!followTransform)
this.enabled = false;
}

void FixedUpdate()
{
goalPos = followTransform.position + followTransform.TransformDirection(offset);
transform.position = Vector3.Lerp(transform.position, goalPos, Time.deltaTime moveSpeed);
transform.rotation = Quaternion.Lerp(transform.rotation, followTransform.rotation, Time.deltaTime
moveSpeed);
}
}

Пачяны, как изменить скрипт, чтобы камера не реагировала на движения ГГ по вертикали?
#527 #134464
using UnityEngine;
using System.Collections;

public class CameraControl: MonoBehaviour
{
public Transform followTransform;

public Vector3 offset = new Vector3(0f, 2.5f, -5f);
public float moveSpeed = 1;
public float turnSpeed = 1;

Vector3 goalPos;
//Quaternion goalRot;

// Use this for initialization
void Start()
{
if(!followTransform)
followTransform = GameObject.FindGameObjectWithTag("Player").transform;
if(!followTransform)
this.enabled = false;
}

void FixedUpdate()
{
goalPos = followTransform.position + followTransform.TransformDirection(offset);
transform.position = Vector3.Lerp(transform.position, goalPos, Time.deltaTime moveSpeed);
transform.rotation = Quaternion.Lerp(transform.rotation, followTransform.rotation, Time.deltaTime
moveSpeed);
}
}

Пачяны, как изменить скрипт, чтобы камера не реагировала на движения ГГ по вертикали?
598 Кб, 500x903
#528 #134532
47 Кб, 457x604
#529 #134538
Сап, юнитач. Дело в том, что мне легче учить языки сначало практично, а потом укреплять теоретично, поэтому я буду ебать вам мозги своими вопросами:

Как отобразить, к примеру, ХП (переменная) через команду GUI.Label ?

Не толстота, братишки, а суровая реальность. Вот, эта команда: http://docs.unity3d.com/ScriptReference/GUI.Label.html

Английский учил, бочку крутил, так и не понял, как вывести переменную, она же нужна для отображения
#530 #134539
>>134538
а чё он не бампается (этот тред) - то?
#531 #134540
>>134539
бамп-лимит
надобно новый создать
#532 #134810
>>130531

>masterspark.zz.mu/dyatel


Потолок сделай.
Тред утонул или удален.
Это копия, сохраненная 28 ноября 2014 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски