Этого треда уже нет.
Это копия, сохраненная 3 января 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
23 Кб, 180x223
#2 #188552
Посоны, я делаю 2д проект на юнити. Использую спрайты. Сейчас я особо не парюсь и просто для каждого объекта делаю собсвенную картинку PNG с прозрачным фоном. Впринципе ничего не мешает использовать спрайтовые атласы с самого начала, просто так намного удобней.

Вопрос: можно ли как-то делать проект спокойно по принципу 1 спрайт = а картинка png. А потом как-то взять и запечь все используемые изображения в атласы по 2048х2048. Конечно желательно не перепиливать ссылки и спрайты во всем проекте.
#3 #188557
>>188552
Можно. Потом объединишь их в атласы прямо через юнити при помощи нескольких кликов. Ссылки не изменятся.

http://docs.unity3d.com/ru/current/Manual/SpritePacker.html
#4 #188569
Как лучше всего организовать общение между 2 сценами? Например, как в total war - есть режим карты и сражений.
#5 #188574
>>188569
через очевидный синглтон
#6 #188576
>>188574
Как через синглтон
150 Кб, 766x789
#7 #188580
Слушайте, есть нормальные уроки по unity? Что бы по скриптам и кодингу нормальное объяснение было. Т.е как мне допустим различные свойства объекта получить, координаты, угол поворота и т.д Как их изменять, какие методы на экземпляры вешаются. Где main класс вообще? На ютубе одни дауны по пол часа ассеты учат таскать, БОМБИТ НАХУЙ.
#8 #188583
>>188580
Все нашёл, оказывается на офф сайте все есть.

Пиздос конечно комьюнити и обучающие видео. Гнусатый голос: СЕЙЧАС МЫ ПОСМОТРИ КАК СОЗДЛОВАТЬ ИГРЫ КХМ ЭТО НУ КХМ ВОТ ЗНАЧИТ ОТКРЫВАЕМ ПРОЕКТ ТУТ ЭТО КХМ В АССЕТ СТОР ВЫБИРАЕМ 2Д ПЛАТФОР И ЭТО КХМ ФФФ ЗНАЧИТ СТАВИМ СЮДА, ДА, ТЕПЕРЬ ТУТ ПОЛЗУНКИ, В ОБЩЕМ РАЗБЕРЕТЕСЬ, ВОТ СЮДА ТИПА ПЕРСА СТАВИМ, ЖМЕМ ПЛЕЙ, АГА ВОТ ИГРА ГОВТОВА, В СЛЕДУЮЩЕЙ СЕРИИ ПОКАЖУ КАК ДЕЛАТЬ СПЕЦЭФЕКТЫ И ОГОНЬ Всё это дерьмо растянуто на 20 минут, при этом 300тыщ просмотров и всего 8 дизлайков, в коментах восторженный визг, и так почти все видосы: какой нибудь школьник у руля учит таскать ассеты.
#9 #188584
>>188576
public class Info : Singleton<Info>
{
public INFA infa {get;set;}
}
//в первой сцене
public class InfaFromOneScene
{
infa gameinfo;
public void Save()
{
Infa.Instance.infa= gameinfo;
}
}
//во второй сцене
public class reader
{
public void SceneLoad()
{
INFA infa = Infa.Instance.infa;
....
}
}

Singleton.cs лежит где-то в стандартных модулях, утилити вроде
#11 #188586
>>188580
Но ты же сам даун. В тысячный раз пишу в юнити-треде - читайте оф. мануал. Смотри оф. туториалы. Если не хватает знаний в программировании - читайте мануал по c#.
Не смотрите уроки от школьников для школьников. Вы ничему по ним не научитесь. Только научитесь делать НЕПРАВИЛЬНО, потом придется переучиваться
#12 #188591
>>188586
А я вот посмотрел все туторы на офф сайте и уже всё забыл. 10/10
#13 #188594
>>188591
так ты применяй сразу на практике.
#14 #188598
Я тут думаю, вкатываться ли в вашу хуюнити. Там правда нет готового сетевого слоя (репликация, консистентность) для сервер-ориентированного МП?
Нахуй оно нужно тогда в 2015 году?
Либы от васянов не предлагать.
#15 #188600
>>188598
Одноклассники рассказали что там репликации нет? КОЧАЙ УЕ4 ТАМ ГРАФОН И КОНСИСТЕНТНОСТЬ МАЛАЦА ЗДЕЛОЛИ
#16 #188601
>>188600
Хуль ты так воспламенился, мань?
#17 #188608
>>188584
Хм, наверное что-то такое и сделаю.
У меня была идея создавать контроллер второго режима в первом с DontDestroyOnLoad(), и его там инициализировать. А потом после конца дургой сцены уже читать из него данные и удалять. Но это какой-то тупой способ.
#18 #188611
>>188608
ну воопше так и делают, объект, который не уичтожается при смене сцены. просто его обычно присобачивают к геймменеджеру, который и есть синглтон

то есть берем твой пример с тотал варом.

есть 2 основные сцены - стратегическая и тактическая.
гейм менеджер в частности хранит список всех армий. рулит ими стратегический менеджер. перед началом боя из этого списка выделяются список участвующих армий, на основе которых тактический менеджер будет строить отряды на карте. по завершении боя он подкоректирует список участников по результатам (потери, набранный опыт и т.д.) и загрузит стратегический уровень, где уже стратегический менеджер разрулит стратегические результаты(переместит армии, уничтожит уничтоженные, выпилит/левелапнет полководцев, захватит провинции) на основе этого частичного списка. в результате у тебя получится три менеджера
1. GameManager - хранит общую инфу и переносит её между сценами
2. StarategicManager - рулит стратегической картой
3. TacticalManager - рулит тактической картой
#19 #188612
Я не понимаю в Animator в юньке...
Делаю SoulCalibur с блек-джеком и шлюхами.
На костях анимированных персонажей триггеры, и при анимировании удара я детектю касание и запускаю обратную анимацию.
Но если удар слишком быстрый, триггер иногда успевает пройти насквозь, и на обратном пути еще разок пройти насквозь.
Как останавливать удар (OnCollisionEnter \ OnTriggerEnter ставить признак остановки удара) "в аниматоре"?
#20 #188622
>>188615
Ввод, это практически наименее развитая часть Unity. Я не знаю с чем это связано, но у меня такое чувство, что на это просто забили хуй. Следом идёт сетевое взаимодействие и локализация (для последнего хотя бы в Ассет Сторе что-то есть).
#21 #188624
>>188604
Двачую.

>>188603
Могу дополнить, лол. Уже года три ждут, когда запилят редактирование блендшейпов в рантайме, а воз и ныне там. Я, например, уже думаю, каким костылём это побороть.
#22 #188652
Ньюфажеский вопрос: Как брать координаты игрового объекта?
#23 #188653
>>188652
transform свойство у любого компонента
#24 #188668
как в скрипте для тела выбрать материал, имеющийся в ассетах?
#25 #188669
>>188668
положить его в папку Resources
и загрузить через Resources.Load<Material>(string path)
#26 #188671
>>188669
а где эта папка? внутри инспектора в ассетах нету. в папке проекта тоже. или я просто сам создаю?
#27 #188672
>>188671
сам создай в ассетсах.
#28 #188673
>>188672
ага, спасибо
#29 #188698
В отчёте указаны данные о загрузках с 1 апреля по 31 июля текущего года и показывает рост популярности Unity. На данном движке было сделано 174 183 уникальные игры и приложения, которые были установлены 2 471 221 822 раза ( примерно 20 миллионов установок в день). При наличии 1 104 635 344 (1,1 миллиарда) уникальных устройств - в среднем ежедневно игры и приложения, сделанные на Unity, устанавливаются на 9 миллионов новых устройств.

Некоторые данные о мобильных платформах из отчета Unity Technologies:

74% всех установок мобильных игр пришлось на устройства под управлением Android, на iOS - 17%;
среди пользователей iOS большая часть пользователей использует последние версии операционной системы: 77% установок пришлись на 8.х и 97% на 7.х;
количество установок на iPhone превышает число на iPad;
на Android менее 9% установок пришлось на устройства под управлением версии ОС 5.х;
три самые популярные версии Android (4.4, 4.2 и 4.1) насчитывают 78% всех установок на Android.
#30 #188700
>>188698
Свыше миллиарда ноунейм говна, о котором никто не вспомнил спустя месяц после его производства.

Юнити это новый флеш для фастфуда.
ФАПАЕМ #31 #188701
#32 #188726
Какой недорогой китайский планшет купить, для мобильных экспериментов с Unity?
Просто я айфоноблять и андроидом не пользовался раньше. Нужно как можно дешевле, но чтобы приложения с Unity запускались и не тормозили.
#34 #188732
>>188726
Гугол Нехус 7 купи. Женерик андроид планшет с среднестатистической начинкой, стоить должен не много т.к. вышел 2 года назад, проблем с поиском юсб дров и другого девелоперского говнеца не возникнет ибо гугл.
#35 #188734
>>188612
Галку Animate Physics поставил?
#36 #188735
>>188731
Залупу тебе на воротник с таким синглтоном. Вспомнишь мои слова, когда у тебя на сцене будут повляться несколько "синглтонов".
8 Кб, 263x252
#37 #188737
Поясните, почему я должен выбрать Юнити, а не УЕЧ? АРГУМЕНТИРОВАННО
#38 #188739
>>188737
Давай начнём с того, что Unity, это выбор успешного, уверенного в себе человека. И на этом закончим.
#39 #188742
>>188737
Мне насрать, что ты выберешь. Кроме того ты, очевидно, пытаешься толсто вбросить.
#40 #188743
>>188740
>>188742
Совсем тут одичали. Я вполне серьезно спрашиваю.
#41 #188745
>>188743
Миниигры - юнити
Среднеигры - уеч
Игры - свой движок
Гигаигры - своя студия, движок, свои художники, композиторы, свои учёные, исследовательская лаборатория, свои представительства по всему миру
#42 #188746
>>188737
Unity - хуита на коленке, чтобы срубить бабла на лохах.
UE4 - серьезный уважаемый проект, если хочешь застолбить свое имя в истории видеоигр.
#43 #188748
>>188737
А плюсцы-то осилишь?
#44 #188749
>>188745
Как уеч может в ИГРЫ, так и юнити может в СРЕДНЕИГРЫ.
#45 #188750
>>188746

>если хочешь застолбить свое имя в...


...своих маняфантазиях, где ты всё же смог довести игру до релиза. Но в реальном мире с UE4 такое не пройдёт. Он больше подходит для больших игровых студий, где код пишут старые бородатые дядьки.
#46 #188751
>>188737
Если есть мощности для быстрой компиляции, то UE4 - выбор здорового человека.
Если нету, то остаётся только Unity и C#.
Блюпринт не нужен.
#47 #188752
>>188743
На самом деле выбора у тебя немного. Если собираешься пилить игру пусть до уровня большого проекта, но таки инди, где многое не на уровне крутых игр, то бери юнити, так выйдет быстрее. Если хочешь пилить йобуи не запилить ее конечно же, иначе бы тебя тут не было с такими вопросами, то бери уеч.
#48 #188753
>>188734
Ставил. Проблема в том, что за кадр проходится определенное расстояние (рукой, палкой, чем угодно). Фактически, если палка длинная, то на конце палки это движение покадровое, т.е. в 50% случаев она проходит "насквозь". То есть, кадр "перед преградой" и сразу кадр "после преграды". Если "перед преградой", а потом "в преграде" - все ок, OnTriggerEnter успевает отработать и передать аниматору "остановить анимацию", но это всего 50% срабатываний.
#49 #188754
>>188735
если у тебя появляется несколько синглтонов, то ты что-то делаешь не так. например не понимаешь зачем нужны синглтоны
13 Кб, 436x204
#50 #188756
>>188753
Смотри пик. Проблема в квантовании времени. Если не поможет - пили костыль с райкастом но на самом деле поможет.

>>188737
Скачай уе4, посмотри и реши сам. Я плевался от этого дерьма, хотя изначально хотел перекатиться на уе4, чтоб бохато. В итоге юнити лучше по всем статьям.
#51 #188757
В общем, разобрался я с тем как отправлять сообщения с сервера конкретному клиенту. Адекватно работает только SendToClientOfPlayer. Если кого интересует - вот объяснение на моем примере пострелухи:

Тип сетевого сообщения:
class DamageMessage : MessageBase
\t{
\t\tpublic int damage;
\t}

Команда, которая отправляет на сервер имя жертвы и нанесенный ей дамаг:
[Command]
\tpublic void CmdTransmitDamage(string transformName, int dmg)
\t{
\t\tDamageMessage dmgMsg = new DamageMessage();
\t\tdmgMsg.damage = dmg;
\t\tGameObject player = GameObject.Find(transformName);
\t\tNetworkServer.SendToClientOfPlayer(player, dmgMsgID, dmgMsg);
\t}

Обработчик, который вызывается у клиента при получении сетевого сообщения:
void DetectDamage(NetworkMessage netMsg)
\t{
\t\tDamageMessage msg = netMsg.ReadMessage<DamageMessage>();
\t\tGetComponent<PlayerHealth>().TakeDamage(msg.damage);
\t}

Регистрация этого обработчика:
public override void OnStartClient()
\t{
\t\tNetworkManager.singleton.client.RegisterHandler(dmgMsgID, DetectDamage);
\t}

dmgMsgID - любое число типа short

В целых двух примерах, которые я нашел в интернете обработчик объявлен как static. Не знаю зачем это нужно, но у меня все работает и так.
#51 #188757
В общем, разобрался я с тем как отправлять сообщения с сервера конкретному клиенту. Адекватно работает только SendToClientOfPlayer. Если кого интересует - вот объяснение на моем примере пострелухи:

Тип сетевого сообщения:
class DamageMessage : MessageBase
\t{
\t\tpublic int damage;
\t}

Команда, которая отправляет на сервер имя жертвы и нанесенный ей дамаг:
[Command]
\tpublic void CmdTransmitDamage(string transformName, int dmg)
\t{
\t\tDamageMessage dmgMsg = new DamageMessage();
\t\tdmgMsg.damage = dmg;
\t\tGameObject player = GameObject.Find(transformName);
\t\tNetworkServer.SendToClientOfPlayer(player, dmgMsgID, dmgMsg);
\t}

Обработчик, который вызывается у клиента при получении сетевого сообщения:
void DetectDamage(NetworkMessage netMsg)
\t{
\t\tDamageMessage msg = netMsg.ReadMessage<DamageMessage>();
\t\tGetComponent<PlayerHealth>().TakeDamage(msg.damage);
\t}

Регистрация этого обработчика:
public override void OnStartClient()
\t{
\t\tNetworkManager.singleton.client.RegisterHandler(dmgMsgID, DetectDamage);
\t}

dmgMsgID - любое число типа short

В целых двух примерах, которые я нашел в интернете обработчик объявлен как static. Не знаю зачем это нужно, но у меня все работает и так.
#52 #188758
>>188756

>Смотри пик.


Благодарствую. Не помогает. Предполагаю, что по той причине, что движение осуществляется не "физикой", а непосредственно анимацией, пусть и с параметром Animate Physic. Алсо, этот параметр лично у меня увеличивает время обработки физики почти в 1.5 раза.
Рейкастом - с радостью, но не понимаю логики: рейкаст от оружия до противника, ок. А как узнать куда попал? Сравнивание длинны рейкастов до основных точек - костыль + может быть препятствие не попавшее под рейкаст (да, можно SphereCast, но разница в "ударе" и "уколе" будет крайне велика и ее не проконтролировать).
#53 #188760
>>188758
У меня вдруг появилось подозрение, что ты не используешь коллайдеры.
http://docs.unity3d.com/ru/current/Manual/class-Rigidbody.html

>увеличивает время обработки физики почти в 1.5 раза.


За всё нужно платить, верно?
#54 #188763
>>188557
спасибо, заебок
надеюсь эта хуйня сработает с анимацией
а как посоветуешь, мне лучше прямо сейчас с этим начинать ебаться, или ближе к концу разработки? мне что-то думается лучше сейчас, а то вдргу будут СЮРПРИЗЫ

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

Кстати это вообще всегда псраведливо, что чем больше атлас тем быстрее все работает? Или может выйти что один большой атлас 4кх4к будет даже медленней чем 3-4 неболъших атласа, где к примеру у каждого притивника свой атлас, у игрока свой итд.
#55 #188764
>>188758
Нуб, 2д-дегенерат рапортует: поставь в игре фикисрованный фпс, и замени стандартный 60 или 16.666 мс на что нибудть в духе 400 ФПС. И помни фиксированный таймстемп.

http://docs.unity3d.com/ru/current/Manual/class-TimeManager.html

А если для тебя это не вариант, так как игорь будет тормозить то короч вот тебе направление, вектор кароч:

ну делаешь такой анимацию туже самую на 100500 кадров, вместо 8 ключвых. А потом просто ее даунскейлишь кароч. Авось это повлияет.

А вот короч еще: делаешь на узкую палку невидимую толстоую оболочку и коллизии по ней считаешь.

Как-то так.

p.s. а ты и правда делаешь клон соул калубура? а в 2д смогешь? тебя можно нанять денег тебе дать? twiS#vstedpixelANUSyandeccFxPUNCTUM)4=ru
#56 #188766
>>188764

>замени стандартный 60 или 16.666 мс на что нибудть в духе 400 ФПС. И помни фиксированный таймстемп.


>ну делаешь такой анимацию туже самую на 100500 кадров


Как же я хочу разбить тебе ебальник.
#57 #188768
вот что реально бесит - отсутствие нормальной документации. официальная напоминает автогенерированный рефернес. ни, сука, примеров использования ни рекомендуемых вариантов использования, половина методов и свойств просто перечислено, без малейшего намека на функционал. обучение предлагает видео. видео блядь. учить ебучее программирование по ебучему блядь видео. что это воопше за хуйня.
#58 #188769
>>188768
Там не программирование, как таковое, а окружение юнити надо освоить. Кодить учись по другой инфе. В принципе разработку на юнити можно сравнить с разработкой на фреймворке.
Ну и доков достаточно вполне.
#59 #188770
>>188769
с шарпом знаком профессионально и таки очень хорошо. отдельно бесит устаревшая нафик версия языка и порезанная стандартная библиотека. впрочем с этим можно смирится.
#60 #188771
>>188770
Если с шарпом знаком хули тебе еще надо, смотри видео и делай игры, доков ему мало, совсем кириллы охуели.
19 Кб, 367x404
#61 #188785
Помогите Кирилу. Я пилю раннер, суть такова: клон сабвей сафферс, персонаж бежит по 1 из 3х plane'ов (на пике они разного цвета). Не могу разобраться с управлением. Использую CharacterController. Но мой персонаж иногда рандомно проваливается. Еще один баг: при движении в бок по оси х он проходит всегда разное расстояние - как следствие через несколько десятков кликов он слетает с крайней платформы. Вот скрипт:
\t\t\tmoveDirection = Vector3.forward ;
\t\t\tmoveDirection = speed;

\t\t\tif (Input.GetMouseButtonDown (0)) {
\t\t\t\tmoveDirection.x -= 60;
\t\t\t\tmovX = movX - 1; }
controller.Move(moveDirection
Time.deltaTime);
Как это исправить? Переписал скрипт через transform.Translate. Теперь не знаю как совершить прижок.
#62 #188791
>>188785
Я вот нихуя не понял, может видос лучше запилишь?
#63 #188798
>>188785
Зачем ты умножаешь moveDirection на deltaTime? Дельтатайм варьируется от апдейта к апдейту и твой скелет перемещается на разное расстояние, хотя тебе нужно просто его передвинуть на известное значение.

>Теперь не знаю как совершить прижок.


А с контроллером ты его как совершал? Ты вообще не вникаешь в то что пишешь, просто откуда то спиздил код, для раннера не предназначенный.
#64 #188800
>>188766

>2д-дегенерат рапортует


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

>>188768
Просто они её не так давно обновили, в старом варианте были примеры кода, посмотри в легаси гуи, там вроде ещё в старом виде схоронилось.

>половина методов и свойств просто перечислено


Есть такое. Про события смотрел, вообще заебок "такое-то дерьмо наследуется от такого-то говна". И говно - ссылка. Жму, а там нот фаунд. Но в гугле есть всё.

>>188785
А почему не через физон? У тебя же из-за того и провалы под пол, что ты не физоном двигаешься, а просто перемещаешь. Добавь чарактер мотор и ебашь физоном по хардкору. Олсо, там прыжок искаропки.

>>188798
Это умножение делается для плавного движения.
#65 #188801

>Это умножение делается для плавного движения.


>GetMouseButtonDown



>А почему не через физон?


>раннер



Кириллы, кириллы everywhere.
#66 #188807
>>188785
это. если у тебя три дорожки, может движение будешь отталкивать от дорожек? нажал там на кнопку, персонаж хопана перешел на дорожку в сторону которой нажал. ты же знаешь где твои дорожки, да?
#67 #188809
>>188760

>ты не используешь коллайдеры.


Ей-ей использую. У меня даже 2 проекта рядышком запущены - с палкой-коллайдером, и с палкой-триггером.

>За всё нужно платить, верно?


Согласен - только результат чот неоч. Я даже в full physics человечков попробовал, когда оружие управляется физикой, а не анимациями - результат неоч, из-за специфичной реализации джойнтов в Юньке, а APE - Articulated Physics Engine еще не вышел.

>>188764
Делал чуть проще - просто корутину отвечающую за шаг анимации более лучше чаще запускал (так чтобы при 2х персонажах проц не повесился), "шаг" становился меньше, но при движении уже 2.5 "метровой" палки на ее конце шаг был неравномерен и 30% ошибочных срабатываний это слишком много.
Более жЫрный коллайдер\триггер - вариант рабочий, но тогда там уже не бревна нужны, а колонны. К тому же, при попадании за "тик" кадра, колонны по персонажу прикрытому щитом - в триггере оружия щит и голова. Как понять был ли удар?
И правда. 2д не занимаюсь - не интересно. Зарабатывать на хобби - потерять хобби, имхо. Я офисный планктоша, и в рабочее время ковыряюсь "для себя". + в 2д нет таких проблем - все решается математикой дистанции\высоты.

Пробовал в математический "удар", но тут хз как считать блоки - я учебник по вышке лет 8 назад открывал, и решить задачу "пересечение плоскости и прямой" не могу.
#68 #188813
как проще всего сделать "летающий" текст? циферки там при получении урона и прочая?
#69 #188814
>>188813
возможно, через гуи?
82 Кб, 768x1024
#70 #188817
>>188584

> Singleton.cs лежит где-то в стандартных модулях, утилити вроде


хуя оО не знал, спасиб,
а то каждый раз пишу свой костыльный
11 Кб, 513x525
#71 #188818
В прошлом треде задавал вопрос по собственному контролу.
Мне нужно сделать вот такой. Может кто-то видел гуиды, или еще что-то в помощь как это сделать.
Кирюх, я знаю, что ты поможешь)
Нужен своего рода ползунок, в котором тащишь маленький кружок, и происходит движение итд.
19 Кб, 367x404
#72 #188820

>>>>188798


Спасибо, помогло. Код брал с доков юнити. Сейчас разберусь с Time.deltaTime
327 Кб, 680x324
#73 #188823
Посоны, такой вопрос. Делаю я 2д игру, с стандартной юнитивской физикой. Как правильно обрабатывать события от столкновений? Понятно что есть стандартные функции обратного вызова:

OnCollisionEnter2D
OnCollisionExit2D
OnCollisionStay2D

Но ведь есть разные варианты куда и как их вешать. Грубо говоря есть игрок а есть много монеток которые он собирает. Я правильно понимаю что при таком раскладе значительно лучше повесить обработчик именно на игрока, а так же только ему дать rigid_body? А вот вешать скрипт на монетку которая сама себя уничтожает, может как-то и правильней с точки зрения распределения обязанностей (хотя спорно), но зато будет на порядки быстрей. Или я ошибаюсь и никакой существенной разницы нету и я зря парюсь? Просто у меня быстрый комп сейчас и на нем что-то всегда 16 фпс в профайлере. А вот для всяких мобилок это вероятно актуальная проблема. Вообщем если кто знает как грамотно обрабатывать столкновения в юнити поясните.

А то сейчас у меня на условных "монетках" вот такой код:

void OnTriggerStay2D(Collider2D other) {
if (ReferenceLvichka.character.Input.VerticalAxisDigital == 1 && canBeOpenTimer <= 0) {
// EnterDoor(); // called from animator after door opens
animator.SetTrigger("open");

canBeOpenTimer = DOOR_COOLDOWN;
}
}
#74 #188825
>>188809

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


Собачки-девочки не знают про мой рейкаст?
#75 #188826
>>188823

>Я правильно понимаю что при таком раскладе значительно лучше повесить обработчик именно на игрока, а так же только ему дать rigid_body?


Правильно. Монетке достаточно висеть и крутится, а функция "взять монетку" будет у игрока, так даже по логике правильнее.

>Или я ошибаюсь и никакой существенной разницы нету и я зря парюсь?


Паришься не зря, особенно если под мобилки пилишь.
11 Кб, 236x289
#76 #188829
>>188828
двачую адеквата.
>>188823
всякое желание терял уже 10+ раз, когда начинал в бошке спотыкаться о камни, которых еще не сделал.
потом забил на все, и начал пилить мало помалу и заебок
единственный совет могу дать, чтобы ты не помер - это раскидывать файлы по папкам с адекватными именами, и не ложить 100+ скриптов в одну папку.
#77 #188830
>>188829
Если ты видишь легкий путь оптимизации, то почему сразу не сделать лучшим образом? Тем более в данном случае сложностей никаких не предвидится. А так да, до мелочей жопу рвать заранее не надо, неблагодарное занятие.
#78 #188831
>>188825

>Пробовал в математический "удар"


>математический


>рейкаст


>математический


>рейкаст



О чем ты? Не надо так.
#79 #188834
>>188830
если поиск более оптимального решения занимает не более пары часовсугубо мое мнение, то не стоит пока что за него браться, сделай так, чтобы работало.
вернуться ты всегда успеешь
#80 #188837
>>188834
И я так же считаю. Неоптимизированный результат лучше оптмизированного нихуя.
#81 #188841
>>188785
Rigidbody.AddForce чем не устраивает?
#82 #188845
>>188837
AAAAAAAAAAAAAAAAAAAAAAAAAAAA блядь ААААААААААААААа нахуй

Я спросил жи, как правильно юзать это 2д. Нет, блядь филисофксие рассужения в купе с максимализмом. Ахуеть просто. Ты спрашиваешь куда грамотней скрипт вешать и делаешь некотрые предположенйия, просто хотя найти поддержку или опровержение у более опытных юнитиебов. А тебе отвечают про сущность бытия и внимание ПОДХОД К РАЗРАБОТКИ ИГР И ФИЛАОСОФИЮ ПРОГРАММИРОВАНИЯ. Ебать. Ахуеть просто, невер чеймджс. Скрипт то куда вешать, лалка? Я как раз и не хочу особо ебаться, прсото хочу накатонную дорожку и спокойно делатъ другое. Неужто я спросил о чем-то редком и малоизученном?
#83 #188846
>>188845
В игрока пихай, неуравновешенный.
#84 #188847
>>188845
Ты чего такой деловитый? Американец что ли?
#85 #188851
Гейбаны, можно ли использовать безлицензионный юнити для коммерческих целей?
#86 #188852
>>188851
Хоспаде всемогущий Кирилл, дай мне сил, спаси и сохрани! Тебе сложно зайти на официальный сайт?

http://unity3d.com/ru/legal/eula

Определение версии, которой Вы можете пользоваться, – ограничения по личному доходу Unity

Unity Personal (включая варианты для развертывания на платформах iOS и Android) не могут использовать:

1. коммерческие структуры, которые A) получили валовой годовой доход в размере более 100 000 долларов США, или B) привлекли средства (включая, в том числе, краудфандинг) на сумму более 100 000 долларов США, в каждом случае – за последний закончившийся финансовый год;
2. некоммерческие структуры, общий годовой бюджет которых превысил 100 000 долларов США (по всей некоммерческой структуре, а не по одному отделу) за последний закончившийся финансовый год; или
3. физические лица (не действующие от имени юридического лица) или индивидуальные предприниматели, валовой годовой доход от использования программного обеспечения Unity которых превысил 100 000 долларов США за последний закончившийся финансовый год. Такой доход не включает в себя доход, полученный этим физическим лицом не в результате использования программного обеспечения Unity.
#87 #188853
Короче говоря, если ты заработаешь за год больше 100 тысяч баксов, тогда можешь начать беспокоиться, то есть - никогда.
#88 #188868
у стандартных шэйдеров есть какие нибудь ограничения на размеры объекта? если конкретно - накладываю шэйдер Sprites/Diffuse на сферу. при увеличении её размеров до 2000 камера внутри сферы перестаёт отображать её. это потому, что слишком большие размеры сферы?
#89 #188889
Аноны, хелпаните советом, что ли.
Есть navmeshagent, который уебок. А уебок он потому, что имеет кап на скорость поворота, даже если ангуляр спид и акселерейшн выкрутить до небес перс все равно крутится достаточно ватно. Кто-нибудь сталкивался и как боролся с этим? Хочу добиться максимально быстрого отклика аля как в дибабле/хотсах там всяких.
#90 #188896
Где взять понятную инфу о том, как писать шейдеры?
#91 #188907
Юнитаны, а можно как-нибудь использовать NavMesh совместно с WheelCollider'ом? Ну, в смысле, чтобы NavMeshAgent использовал WheelCollider для движения, а не парил в воздухе. Или как вообще сделать боты-машинки? В гугле не забанили, но ничего путного по запросу "Navmesh + WheelCollider" не гуглится.
#92 #188917
>>188907
Думаю, нельзя. Насколько я помню, у NavMeshAgent можно отключить изменение трансформа объекта. Тебе нужно будет вручную получать скорость из NavMeshAgent, а далее применять её на твоё колесо. Как-то так.
#93 #188922
Как лучше прикрутить свет от MUZZLE FLASH?
Пока просто к дулу прилеплен точечный свет у которого меняется enable.
У оружия с большой скорострельность этот метод багает: если свет должен мерцать каждые n-времени, то он частенько вообще не появляется в течении ~5*n-времени.
А порой не появляется даже при одиночном выстреле.
5 Кб, 550x180
#94 #188935
что за уличная магия, нахуй?
#95 #188936
>>188935
Дебаггер так подсвечивает. Строчка не будет выполняться.
#96 #188937
в том то и дело что выполняется, три раза уже прогоняю пошагово.
#97 #188938
>>188937
Зачем тебе эта переменная, если можно засунуть нужный код в
void OnApplicationQuit() ?
#98 #188939
>>188938
это класс из стандартных асестов. перепилил - работает. суть глюка не понял
#99 #188975
Аноны, подскажите как отключить коллайдер у Characte Controller. А то сам контроллер отключается, а коллайдер его остается на сцене.
#100 #188984
ЛОЛ ЛИБО ПЕРЕВОДИТЕ ПОЛНОСТЬЮ ЛИБО НЕ ПЕРЕВОДИТЕ ВООБЩЕ ПОЕХАВШИЕ БЛЯДЬ

http://docs.unity3d.com/Manual/SL-ShaderPrograms.html

Writing Surface Shaders

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

Surface Shaders in Unity is a code generation approach that makes it much easier to write lit shaders than using low level vertex/pixel shader programs. Note that there are no custom languages, magic or ninjas involved in Surface Shaders; it just generates all the repetitive code that would have to be written by hand. You still write shader code in Cg / HLSL.

For some examples, take a look at Surface Shader Examples and Surface Shader Custom Lighting Examples.
How it works

Вы определяете “поверхностную функцию” (surface function), которая принимает любые UV или необходимые вам данные и заполняет исходящую структуру SurfaceOutput. SurfaceOutput по сути описывает свойства поверхности (её цвет альбедо, нормаль, излучение, зеркальность и т.д.). Вы пишете этот код на Cg / HLSL.
#101 #189001
>>188992
Недоанглосаксон, пожалуйста...
#102 #189013
>>189002
Так перевод просто кусками хуево сделали, потому что ленивые пидоры, че не сделали нормально. На статью хоть посмотри перед тем как за свою англичанку кукарекать.
#103 #189054
товарищи, подскажите, что читать для того, чтобы добавить объекту эффект (анимацию?) горения?
если конкретно - делаю модель солнца. хочу, шоб горело прям так заебца. как сделать:?
#104 #189055
>>189054
Используй Шурикен.
чатицы, кароч
#105 #189061
Допустим, я запилил спрайты бега и стрельбы на бегу - как теперь сделать так, чтобы если у меня отображается N-ый спрайт анимации бега, то при стрельбе анимация началась с N-ого спрайта анимации стрельбы?
59 Кб, 700x393
#106 #189108
Привет, антош. Не заходил сюда уже хуй его знает сколько, так что, скорее всего, вопрос миллион раз поднимался. Мне для GUI (использую стандартные фичи юни) нужна система вложенных префабов (в сети принято называть это nested prefabs), как минимум чтобы хранить все окна в префабах, а также иметь отдельный префаб для их бэкграунда. Я так понял, фичу так и не запилили в юнити 5, хотя обещали.

Сейчас из обходных путей нагуглилось - вот этот скрипт: http://framebunker.com/blog/poor-mans-nested-prefabs/ с ходу он у меня для гуи не подцепился (бегло пробежавшись по коду, сложилось ощущение, что проектировался он для 3д-объектов), но я его ещё покопаю. Также, есть пара плагинов (https://www.assetstore.unity3d.com/en/#!/content/2962 и https://www.assetstore.unity3d.com/en/#!/content/17557 ) и какие-то совсем дикие костыли, вроде менеджеров объектов.

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

С меня няшка.
#107 #189109
>>188939
может, у тебя это проперти и на геттере что подвязано было?
#108 #189110
>>188549 (OP)
2д 8 бит с йоба рпг прокачкой взлетит?
#109 #189111
>>189108
Не понял зачем это надо
#110 #189112
>>189111
Смотри. В моей игре будет много окон меню. Окна имеют похожую структуру, у них сверху есть поле с названием (у названий одинаковый шрифт, размер текста), у них общий задний фон, у них есть какие-то декоративные элементы, которые сохраняются от окна к окну. Тем не менее, вся эта балалайка - часть окна и логически является его дочерним элементом.

Но, несмотря на всё это, окна, само собой, имеют различия. Одно окно - это, скажем, выбор персонажа. Другое окно - настройка его способностей. И так далее. Окон много.

Каждое окно я хочу хранить в префабе. Чтобы всегда можно было загрузить его из файла, чтобы было легко его отредактировать и откатить и так далее. Но, вспомним, что у окон есть некая общая часть - задник. Я хочу, чтобы, в случае, если возникнет необходимость поменять у задника, например, шрифт текста, я сделал бы это один раз, и он автоматически заменился бы во всех моих префабах окон. DRY во все поля. То есть, логично было бы сделать задник префабом - для этого они и нужны. Получаем префаб внутри префаба.

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

Так понятно?
#111 #189120
>>189112
Ну сохрани окно как один префаб, а его содержимое как другой префаб.
#112 #189121
Я бы не стал из-за такой ерунды пользоваться мокрописьками для юнити. Я вообще не любитель этого.
#113 #189128
>>189120
Так я тебе о том и говорю, что если так сделать, пропадёт связь элементов окна с префабом содержимого.

>>189121
А как ты поступил бы?
#114 #189174
Объясните, где можно использовать получение тангенса? Для чего его обычно используют в играх?
#115 #189190
>>189185
То есть ты сам не знаешь? Понятно.
#116 #189196
>>189195

>называет дитём


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

#117 #189198
>>189197

>продолжает обсираться кудахтая про школу

#118 #189199
>>189174
Дохуя где. В любым математических расчетах. В векторных вычислениях к примеру.
У тебя вопрос ебанутый, уровня: "Где в играх можно использовать умножение?"
#119 #189203
>>189199
Зачем здесь использовали тангенс? Я понять не могу https://youtu.be/Uqi2jEgvVsI?t=10m56s

float x = Mathf.Tan(camera.fieldOfView / 3.41f) z;

У него там была формула: x = tan(FoV / 2)
z. Число 2 он заменил, ок. Но camera.fieldOfView задаётся в градусах, а не в радианах. А Tan принимает угол в радианах.
36 Кб, 500x411
#120 #189227
>>188922
Сук, никто чтоли шутаны не делал?
#121 #189229
>>189227
деферред освещение поставь, долбоеб.
#122 #189233
>>189229
Вот нихуя не изменилось, ебливое ты чмо.
#123 #189237
>>189061
Бамп вопросу. Может, распилить персонажа на две половинки?
#124 #189242
>>189239
И как мне эта хуйня поможет с уже готовым спрайтшитом?
#125 #189250
>>189249
По теме-то есть что сказать?
sage #126 #189256
>>189242
transition'ы настрой, даун.
#127 #189266
Сколько ненависти в треде.
#128 #189269
>>189266
Рашкореальность, как она есть.
С другой стороны еврореальность, когда тебе не указывают на очевидные ошибки, дабы не вмешиваться в твоё личное пространство, мне тоже не нравится.
#129 #189273
>>189269

>еврореальность


А что насчёт азиатореальности? Как у них принято?
Как он так волосы сделал? #130 #189308
#131 #189313
>>189308
Спроси его на гд.ру. У него там своя темка.
#132 #189336
>>189308
Присмотрись, там мехи стоят - сомнительный шаг, учитывая как сильно физика грузит игры.

Разумнее было анимацию нарисовать, но если говорить о нект гене и отбросить старые машины, то вполне допустимо.
#133 #189337
>>189308
А вообще хорош, один из немногих, кто использует возможности движка по настоящему.
https://twitter.com/vapgames/status/637772152184406016
sage #134 #189339
>>189337
Причём тут возможности движка. Он просто шейдеры дрочит. Выглядит это все так-же безвкусно.
#135 #189348
>>189339
У тебя просто вкуса нет и ты не можешь оценить по достоинству.
#136 #189353
>>189348
У меня как-раз вкус есть. Это вы тупые технари не способные в эстетику не можете отличить говно от конфетки. Это как с этой Ori: блевотная мазня обмазанная чуть более чем полностью шейдорами. И это еще называют красивым.
#137 #189354
>>189353
ТОЛЬКО ФИКСИРОВАННЫЙ КОНВЕЕР! ТОЛЬКО ИСТИННАЯ КРАСОТА!
220 Кб, 1280x720
39 Кб, 640x360
106 Кб, 1280x720
#138 #189356
>>189354
Причём тут это. Просто во всем нужна мера. Шейдеры это художественное средство. Но для кого-то они становятся самоцелью.
#139 #189363
Есть, значит, скрипт, в котором хранятся настройки игры.
И есть в нем параметр - интенсивность вспышек от выстрелов.
Во время каждого выстрела игрока или бота производятся вычисления: базовое число оружия * на интенсивность вспышек из скрипта с настройками.
Будет не крузис, но хочется плавной игры и на некропека.
Все норм и не надо заниматься байтоебством или во время перестрелок ноутбуки начнут плавиться?
#140 #189369
от одного умножения? не смеши мои подковы. ну если уж очень хочется или там сложные, но одинковые вычесления - кешируй. создай в скрипте игрока/бота/оружия соответствующий параметр и юзай его
типа
private float value = 0.0f;
public float CurrentValue {
get {
if(value < float.Epsilon) value = BaseValue * Options.Value;
return value; }}
но для одного умножения - вааще нет смыслы
#141 #189372
>>189356
Мыльное гавно без души
#142 #189419
>>189415
С вероятностью 99% твою игру никто даже не заметит. Она моментально утонет в гугл плее.
#143 #189423
подскажите вот щто: допустим, в графическом интерфейсе в инспекторе я создаю несколько объектов типа particle system, настраиваю их, как мне надо, и запихиваю в папку Resources как префабы. вопрос: как мне в коде прописать так, чтобы определенные системы частиц прикреплялись к определенному объекту, который создаётся в процессе игры?
385 Кб, 667x670
sage #144 #189436
sage #145 #189437
>>189427
Вся суть этой мрази вылилась наружу. Надеюсь, теперь ни у кого нет сомнений как нужно поступать с подобными дельцами от игростроя в /gd/?
sage #146 #189439
>>189427

>это уже четвертая моя игра


>будет такой же успешной, как две предыдущие


Кличко ИТТ, все в ринг.
#147 #189440
>>189439
Что не так? Первая была не очень, две последующих - норм, четвертая такая же, как две предыдущие.

Мимокрокодил
#148 #189458
юнити-тред, подскажи как похитрей написать.
есть List<int>, он большой, он упорядочен по возрастанию. есть int. как найти наиболее близкое к int значение в List<int>?
#149 #189461
>>189458
для поиска в List'е лучше использую SortedList<>
#150 #189462
>>189458
google: бинарный поиск

>>189461
он уже отсортирован, чего городить
#151 #189485
>>189423
бамп
#152 #189493
>>189485
var prefab = Resources.Load<GameObject>("prefabname");
prefab.transform.SetParent(target.transform);
#153 #189499
Удочеряю трансформ (что в runtime, что мыщечкой перетаскиваю). Он с какого то фига мгновенно меняет position\rotation. Как пофиксить?
#154 #189500
>>189499
в рантайме SetParent(owner, false)
в редакторе - не помню
#155 #189501
>>189500
Спасибо, няша.
Не помогло - false телепортирует удочеряемый объект к Аллаху в Кремль, true просто перепидорашивает rotation.
#156 #189503
>>189501
Причина поведения ясна - Scale обьекта не 1,1,1. Я уже думал это говно пофиксили...
Как обходить, никто не знает?
#157 #189528
>>189503
ставить дефолтный скейл, удочерять трансформ, а потом ставить нужный размер, не?
#158 #189530
Суп, ананасы. В общем, вкачусь к вам в тред ньюфагом.

А вкатываюсь, я собственно, с чем. Имею неплохие знания шарпа, немного говнокодил бэкэнд на асп. товарищ попросил помочь ему с кодингом в юньке, поковырял ее с недельку, толком нихуя не понял, кому не сложно - поясните за ахитектуру проекта. Используются какие-то шаблоны? Или какие-то общепринятые правила? Заскриптить то не проблема - а вот грамотно между собой заставить все взаимодействовать - уже да, проблема имеется. Проект представляет собой вариацию rpg-rts-td, кто играл в свое время в xHeroSiege в WC3 - тот поймет о чем речь. Буду рад любой полезной инфе и ссылкам, с меня как обычно - нихуя. Спасибо.
#159 #189531
>>189530
В юнити все реализовано компонентами. Каждый cs файл может стать компонентом, подключенным к геймобжекту. Паблик поля становятся видны в редакторе. Ну и связи своих скриптов-компонентов реализуешь через паблики. В остальном, читай/смотри помощь на сайте, все очень грамотно и по существу.
#160 #189534
>>189530

>Имею неплохие знания шарпа


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


Универ/самоучка? Просто интересно.
#161 #189542
>>189534
По специальности юрист, кодинг - хобби, работаю дизайнером в рекламе на подготовке к печати :D
>>189531
Спасибо, поковыряю доки.
#162 #189556
>>189493
спасибо, помог. правда я чуть по другому сделал в итоге
#163 #189583
>>189503
я делал точки крепления отдельными чайлдами и к ним уже крепил в 0.
#164 #189589
>>189524
Это не так: реализация возможна, изменением скейла, таким же способом, каким меняется localPosition и Position при удочерении. Пройди нахуй, аггро.
>>189528
Не совсем. Стрела попадает в кусок "стены" (1.2.1) или "камень". Если scale 1.1.1 то все ок, если нет (а оно будет в 90% случаев "нет") то rotation визуально пидарасит. Вопрос не в скейле "стрелы" а в пидорашенье меша при удочерении объекта к объекту с не единичным скейлом.
>>189583
Костыль, но попробую, спасибо!
2 Кб, 125x118
#165 #189591
>>189493
а если у меня префаб находится в какой-то папке?
например:
Assets/Prefabs/Levels/LevelPrefab
как мне подгрузить его?
Resources.Load<GameObject>("Assets/Prefabs/Levels/LevelPrefab");
так что ли?
27 Кб, 460x591
#166 #189596
>>189591
Объект для загрузки должен находится в папке Resources. папка должне быть где-то в ассетсах(может и не одна - проверяются все). путь указывается относительно неё. т.е. если у тебя префаб лежит в Assets/Resources/Levels/LevelPrefab.prefab
то Resources.Load<GameObject>(@"Levels/LevelPrefab");
#167 #189597
>>189596
ps. принципиальная разница - обычно все что в ассетсах всегда грузится при старте приложения и остается загруженным до завершения. ресурсы грузятся/освобождаются по необходимости
#168 #189598
Возможно, уже тысячи раз это спрашивали, но таки поясните ньюфагу - можно ли проекты на персонал эдишн выкладывать на гугл плей и прочие сторы, или они банят за такое?
#169 #189599
>>189598
Можно.
#170 #189601
>>189598
Можно и замечу, что в отличии от еврейского анрила ты не становишься их рабом выплачивая до конца жизни 5% с заработанного.
#171 #189615
Что-то в roadmap ничего интересного https://unity3d.com/ru/unity/roadmap

Хотя в 2016 должны зарелизить сетевую либу, уже со всем необходимым. Пока она в виде какого-то огрызка.
#172 #189616
>>189615

>.NET Profile Upgrade


>как-нибудь потом


казлы
40 Кб, 541x377
#173 #189617

>5.4 Mar 16, 2016


>2D: 9-Slice Sprites


>Tiles the sprite's texture using the 9-slice technique when the size of the sprite increased beyond the size of the texture.



WUT?
18 Кб, 194x194
#174 #189643
>>189596
спасибо, Кирюх.
#175 #189645
>>189617

>Повторяет текстуру спрайта, используя метод 9-slice, когда размер спрайта превышает размер текстуры.

Аноним #177 #189667
>>189645
>>189655
я знаю что это, я спрашиваю какого фига уже существующая фича в запланированных?
Аноним #178 #189668
>>189667
вопрос снят
они пилят тайлинг а не скейлинг.
#179 #189670
Господа, есть один абстрактный вопрос. В какой структуре данных лучше хранить позиции геймобъектов что ты там делаешь, ебанутый, у тебя же есть трансформа?

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

Игорь джваде, хотя не думаю, что лишнее измерение будет нести ломающий концепцию смысл.
Аноним #180 #189672
>>189670
для 2д достаточно обычного грида. достаточно разбить на клетки, которые заведомо больше размеров объекта с учетом максимально возможного перемещения за квант времени и проверять колижены с обьектами в 9 соседних с проверяемым объектом клетки
#181 #189673
>>189672
Таки вопрос в том, как оптимально хранить грид. Просто кучей вложенных массивов? Я пишу сервер на пиздоне, если что.
#182 #189687
где можно посмотреть, какие компоненты есть у объекта класса GameObject изкоробки? или все доступные компоненты предлагаются, когда я пишу classObject.GetComponent<>()?
sage #183 #189704
>>189687
foreach (var c in GetComponents(typeof(Component)))
{
Debug.Log(c);
}
#184 #189719
>>189672
Достаточно четырёх.
>>189673

>Просто кучей вложенных массивов?


Да. Можно ещё квадодерево написать.
#185 #189876
Не знаю с какой стороны подойти к хранению и обработке диалогов и сюжетных ходов.

На данный момент на каждом НПЦ висит скрипт с индивидуальной для него функцией, которая выбирает нужную фразу(на основе переменных) и возвращает её в окно диалога. Но как то это громоздко выглядит. Может есть удобнее способ?
#186 #189877
Посоны, нужна помощь по партиклам. В общем, суть такова. Есть анимированная 3д-модель. Анимация длиной, например, в 450 кадров разбита на 2 части, в 200 и 250 кадров. Первая часть в 200 кадров проигрывается с эвейка один раз, после чего с бесконечным циклом должна проигрываться вторая. Во второй части я хочу отобразить эффекты с частицами. Но проигрывать мне их нужно строго на определенном участке.

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

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

Помогите решить проблему.
#187 #189879
>>189876
Я бы сделал что-то типа глобальной таблицы где одно поле - уникальный идентификатор строки, второе - сама строка, а для НПЦ - что-то типа конечного автомата, графа переходов (код общий, данные для каждого НПЦ свои), в котором происходит выбор фраз в зависимости от персонажей и процесса диалога.
#188 #189881
>>189876
https://www.assetstore.unity3d.com/en/#!/content/11672
а воопше подумай что тебе нужно от диалоговой системы
обычно диалог представляет собой дерево вида
[Действия]
-[условие][фраза][следующий узел]
- ....
это хорошо вижно на первом скрине по ссылке
серые - действия(фразы неписи)
синие - твои реплики
вот думай как это реализовать в общем виде или покупай готовый вариант
#189 #189887
>>189877
эм...
в аниматоре вешаешь на второй стейт скрипт, который по OnStateEnter запускает(с задержкой) партиклы
#190 #189889
>>189887
У меня реализовано без анимаотров, через легаси говно. А сами модели, текстуры, звуки достаются из ассетбундлов. Я уже придумал костыль, в принципе, но все равно спасибо, об этом я не подумал.
168 Кб, 1544x972
#191 #189893
>>189876
любое неудобное говно что скрывается в коде всегда выглядит чистенько и приятно если к нему написан гуи где все делается парой кликов, а все прочее умято в пару функций.

я бы даже не ебался с способом хранения, если место не поджимает.
#192 #189923
Почоны, есть один регдолл, он висит на враге, в которого надо стрелять. Как сделать, чтобы рейкасты по этим костям рассчитывались правильно? Какие нужно скрипты на костях развесить?
#193 #189925
>>189923
Имеется в виду, вот скрипты висят на костях, а на меше висит главный скрипт со здоровьем, как здоровье уменьшать?
#194 #189927
>>189925
transform.Find("..../").GetCOmponent не работает
#195 #189929
салам пополам, ребята. поясните ньюфагу за создание собственных классов в юнити.
допустим, я хочу сделать класс - планета. объекты этого класса будут создаваться в главном скрипте. меня интересует вот что: до этого я делал планеты просто внутри главного скрипта:

GameObject planet = new GameObject();
planet = GameObject.CreatePrimitive(PrimitiveType.Sphere)

на выходе я получал сферу в игре.
а терь вопросы: как мне в конструкторе класса planet прописать так, чтобы также создавалась сфера не создавая внутри класса planet объект типа GameObject? и как в том же конструкторе добавлять компоненты к текущему объекту через AddComponent<>()? и можно ли вообще делать всё то, что я описал, или для создания сферы в игре всё равно нужно делать создавать объект типа GameObject()<>?
#196 #189935
>>189929
такс.

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

ва-втарых - юнити использует компонентную систему, объект лишь контейнер для компонентов, каждый из которых реализует свой функционал. собственно твой способ один из вариантов создания объекта на ходу. для прикрепления нового компонета используй просто AddComponent<T>() т.е. для примера у тебя есть public class Planet : MonoBehaviour
planet = GameObject.CreatePrimitive(PrimitiveType.Sphere);
planet.AddComponent<Planet>();
один из минусов подхода - всегда используется конструктор по умолчанию. инициализацию следует проводить в Start()/Awake() через параметры компонента, которые назначаются в редакторе/в коде при создании

воопше правильным способом будет создание префаба планеты - заготовки с уже проставлеными параметрами компонентов, которую можно потом создать за один вызов. параметры опять же можно настроить отдельно. или воопше построить фабрику планет типа
public class PlanetFactory : MonoBehaviour
{
public GameObject PlanetPrefab;

public static PlanetFactory Instance {get; private set;}
void Start()
{
Instance = this;
}

public GameObject Create(Texture tex, string Name)
{
var obj = Instantiate(PlanetPrefab);
obj.GetComponent<Material>().SetTexture(0, Texture);
obj.GetComponent<Planet>().Name = Name;
return obj;
}
}
в редакторе вешаешь этот скрипт на пустой го, назначаешь ему префаб планеты и потом в любом месте
var planet = PlanetFactory.Instance.Create(PlanetTex, "Earth");
#196 #189935
>>189929
такс.

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

ва-втарых - юнити использует компонентную систему, объект лишь контейнер для компонентов, каждый из которых реализует свой функционал. собственно твой способ один из вариантов создания объекта на ходу. для прикрепления нового компонета используй просто AddComponent<T>() т.е. для примера у тебя есть public class Planet : MonoBehaviour
planet = GameObject.CreatePrimitive(PrimitiveType.Sphere);
planet.AddComponent<Planet>();
один из минусов подхода - всегда используется конструктор по умолчанию. инициализацию следует проводить в Start()/Awake() через параметры компонента, которые назначаются в редакторе/в коде при создании

воопше правильным способом будет создание префаба планеты - заготовки с уже проставлеными параметрами компонентов, которую можно потом создать за один вызов. параметры опять же можно настроить отдельно. или воопше построить фабрику планет типа
public class PlanetFactory : MonoBehaviour
{
public GameObject PlanetPrefab;

public static PlanetFactory Instance {get; private set;}
void Start()
{
Instance = this;
}

public GameObject Create(Texture tex, string Name)
{
var obj = Instantiate(PlanetPrefab);
obj.GetComponent<Material>().SetTexture(0, Texture);
obj.GetComponent<Planet>().Name = Name;
return obj;
}
}
в редакторе вешаешь этот скрипт на пустой го, назначаешь ему префаб планеты и потом в любом месте
var planet = PlanetFactory.Instance.Create(PlanetTex, "Earth");
#197 #189937

>Ньюфаг итт.


>Unity.


>Нужно хотя бы считать координаты нажатия мышки и переместить туда объект при помощи Vector3.

#198 #189942
>>189935
спасибо. воспользуюсь первым вариантом, мне он больше подходит в моей ситуации
#199 #189952
зачем в скрипте при объявлении класса писать над ним [System.Serializable]? и что это? директива? и что она делает?
#200 #189954
>>189952
Это атрибут сериализации. Почему так сложно погуглить?
#201 #189956
>>189954
потому что проще получить информацию от того, кто ей уже обладает, ежели рыться в куче информационного шума в виде ненужных мне сведений, сопряженных с сериализацией.
и чо для чего служит сериализация?
#202 #189959
>>189952
это большая и обьемная тема.
гугли атрибуты и сериализацию
#203 #189960
>>189956
Форма представления состояния объектов.
Сериализованные объекты можно десериализовать и восстановить нужное тебе состояние.
Атрибт указывает, что объекты этот типа можно сериализовать (на самом деле атрибут еще к полям отдельным применять можно). В случае, если встроенные механизмы дотнета не могут справиться с сериализацией чего либо в твоем распоряжении имеются специальные методы, вроде OnSerialize/OnDeserialize, в которых ты можешь сам указать логику сериализации. А вот как это все делается - гугли.
#204 #189961
>>189960
оке, спасибо
#205 #189967
>>189881 >>189893
Буду копать в сторону подобного нод-эдитора, выглядит удобно. В чужих ассетах путаюсь и теряюсь.
#206 #189971
>>189967
в юнити довольно удобно писать свои окошки и собирать свои инструменты. удобней чем много где.

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

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

лучшая опция разумеется сделать хероту которая собирает эти планеты по кускам.
#207 #189977
>>189961
А теперь гугл (даже по ссылкам никаким не надо переходить):

>Сериализация (в программировании) — процесс перевода какой-либо структуры данных в последовательность битов. Обратной к операции сериализации является операция десериализации (структуризации) — восстановление начального состояния структуры данных из битовой последовательности.


И это по твоему хуже того несвязного бреда, который выдавил из себя тот анон?
12 Кб, 674x425
#208 #189985
>>189971

>в юнити довольно удобно писать свои окошки...


как сделать listbox? сейчас усиленно гуглю, но нифига не получается
#209 #189987
>>189985
ну по идее, слева у тебя должен быть массив кнопок, и один общий для них метод клика.
в этом методе дергаешьанус айдишник, имя, или еще каие данные по элементу, чтобы идентифицировать, а уже из этих данных формируешь правое окошко
22 Кб, 590x409
#210 #189990
>>189987
что-то получается. с подсветкой через фон замарачиватся не буду, там тексутры грузить нада и прочая лабуда
#211 #189992
>>189990
малорик) так держать
а вообще по gui были отличные гайды(сам посмотрел только 2 урока у них, и нашел что было нужно) у 3DBuzz(точно не помню, погугли)
#213 #189997
>>189993
ага, именно это!
спасиб, анончик)
>>189992 - кирилл
#214 #189998
>>189985
листбокс, разумеется, сделать легко.

просто перебрать в лупе все редактируемые элементы.
private float ShowMyThing(MyThingType thing, float heightOffset){
if(GUI.Button)
//или изощрённей
Event e = Event.current;
if(e.isMouse && e.button == 0 && myCurrentRect.contains(e.mousePosition))
//в любом случае
MyThingType currentThing = thing;
//если хочешь человеческий перенос текста в кнопке надо знать высоту
return newHeight;
}

а про GUI.color ты и сам догадался.

но я дам совет.
сколько бы я не начинал писать похожую хуйню, я в итоге её убирал. проще на каждый элемент иметь отдельный файл, в список слева держать в папках юнити. юнити дает такую удобную хуйню как ScriptableObject, с которым можно обращаться как с префабом.
например вот пишу я паттерн поведения для ИИ. тоже как граф с всякими соединяемыми-разьединяемыми элементами в нем. писать каждый раз Хуйня.ЗагрузиМоюХуйню(string) как-то плохо. проще в инспекторе перетянуть нужный паттерн ИИ в нужное мне поле на нужного мне нпс. заодно и можно самому каждый элемент по папкам рассовывать с понятными названиями, чем писать список с фильтрами. хранить такую хуйню в одном файле не практично.
в крайнем случае если зудит, потом можно просто написать немного кода который бы все элементы такого типа из проекта собрал в кучу.
#215 #190004
Аноны, помогите с одной мини-задачкой

Когда нужно сравнить смещение позиции, мы проверяем два вектора (старое значение и текущие значение позиции):
Vector3.Distance(oldPosition, newPosition) >= 0.1f // значит было нужное нам смещение

А как сделать подобное сравнение для вращения? Есть два кватерниона, нужно посмотреть, было ли смещение. Пока вижу только один вариант - аналогично чекать дистанцию, но только для эйлеровых углов. Точность не 100%, но приемлемая, хотя фиг знает.
#216 #190006
>>190004
возможно ты хотел это? http://docs.unity3d.com/ScriptReference/Quaternion.Angle.html
но вообще куда лучше будет если ты просто расскажешь что же заставляет тебя писать такое.
#217 #190009
>>190006

>возможно ты хотел это?


Да, оно. Спасибо.
7 Кб, 219x230
38 Кб, 598x409
#218 #190015
>>189998
охуеть. я наконец-то понял нахуя скриптабл обжект. доки - говно.
50 Кб, 714x401
#219 #190018
>>190015
на самом деле документировано то оно заебись, просто сразу куда надо не ведут.

вообще советую ещё почитать документацию к EditorUtility, FileUtil, AssetDatabase. там много клевой удобной хуйни написано. например вот это дает в мне шапку проекта закладку с кнопкой, которая спрашивает у меня куда сохранить новый скриптаблобжект и его имя. удобно охуеть.
#220 #190020
>>190018
алсо, забыл. советую не пропустить EditorUtility.SetDirty(Object); оно говорит что вот эту хуйню надо сохранить на диск. удобно совать куданибудь с if (GUI.changed)EditorUtility.SetDirty(this);
46 Кб, 1233x449
#221 #190037
>>189881
Вроде принцип понял, осталось дооформить
#222 #190038
>>190015
Что-то я не понял. Что за скриптабл обжект?
#223 #190044
>>190038
по сути простой класс, но его можно сохранять, редактировать и использовать как ассетс. при этом он не является геймобжектом или компонентом и соответвенно не имеет их "лишнего" обвеса. вон на том скрине например описание загружаемого модуля.
135 Кб, 1083x762
#224 #190054
>>190037
Зря я забил на юнити гуи, пришлось писать свой софт под аналогичную задачу лел, компилит эксмль а в юнити там уже часть декодера/парсера.
#225 #190064
>>190054
а не наркоман ли ты? у меня прямо перед глазами промчалось проёбаное время если бы я свернул не туда.
#226 #190065
>>190064
Для когото проебаное время а для кого самообразование.
#227 #190077
>>190068

>без постороннего софта


Нит.
216 Кб, 650x487
#228 #190094
Посоны, а кто-нибудь из вас делал игры для андроида вод VR очки? Для гугл кардборда или fibrum? Тема как по мне интересная.
#229 #190100
>>190094
Тема тупик. Нахуя такое говно на мобилках? А контроллить чем? Кивками?
#230 #190105
>>190094
Хуету придумал. Для рендера 2х картинок в высоком разрешении без хорошей видеокарты не обойтись.
#231 #190106
>>190100
Свистоперделками синезубыми управлять. Мотание головой нужно только для целостности восприятия (если конечно система будет обсчитывать положение головы)
#232 #190114
>>190100
Нихуя. Сейчас куча разработчиков делает под это дело игры на юнити как раз. Позавчера приобрел сей девайс- штука отличная. Но видать тут никто этим не занимался. Жаль.
#233 #190116
>>190106
Обсчитывает, гироскоп сейчас почти всюду пихают.
#234 #190119
>>190116
Я имел в виду что игорь будет считать, а не телефон. А вот насчет честного гироскопа не в курсе, вроде ж почти везде акселерометр пихают?
#235 #190123
>>190121
Но я играю, что со мной не так? Это уже не совсем мобильный гейминг, а бюджетная виртуальная реальность. Как-то так.
#236 #190128
>>190119
Ну хз, в моём meizu m2 note гироскоп стоит.
#237 #190129
>>190128
Лол, у меня та же труба! На Али брал? Почем и какую версию?
И, да, действительно в нём гироскоп имеется, Sensors показывает.
#238 #190132
>>190129
Лол, забавно. Брал в дс неделю назад, в 12к обошелся.Всмысле какую версию? Она ж одна вроде?
#239 #190140
>>190132
На 4pda пишут про 4 разных прошивки, и две разных аппаратных версии. Если б ты брал на Али, вопрос действительно имел бы смысл. Мне он стоил 143 еврея, с чехлом и двумя пленками.
#240 #190142
Есть вопрос. Начинаю делать игоря на ведро в 2д. Под какое разрешение лучше делать графен? Например, когда я делал игоря на флеш - я просто в илюстраторе создавал новый документ под 720хуй480 и пилил там спрайты и фоны так, как они будут выглядеть в игре, типа пиксель перфект, хуй его знает. Я так понял оптимально фуллшд, один хуй при апскейле для больших ппи нихуя разницы не будет видно, так ведь, или я в чем-то дохуя неправ?
49 Кб, 1530x817
56 Кб, 1630x734
#241 #190219
Пасаны, я нубас, возникла проблема:
есть бодяжный инвентарь на гуи, в редакторе все работает как надо, а в билде какие-то проблемы с координатами курсора(на скринах: слева все норм, по мере удаления в правую сторону экрана возникает нихуевая погрешность между отображаемым курсором и реальным событием/не знаю как правильнее выразить, смотрите скрины/)
49 Кб, 1630x734
#242 #190220
>>190219
Если не понятно в чем проблема
#243 #190221
>>190220
>>190219
Алсо, иконка представляет собой новое окно.
#244 #190227
>>190219
мы же понятия не имеем чё ты там написал!
#245 #190262
Поясните за корутины. Часто их используете? Какие подводные камни? Выглядят привлекательно, так как вместо использования метода Update и тупых таймеров, можно использовать элегантный корутин. Но что произойдёт, если объект умрёт или будет помечен неактивным? Корутин продолжит работу? Не могут ли здесь возникнуть проблемы?
#246 #190264
>>190262
при тех-же самых ситуациях при которых в норме просто вызывается ещё один тред. чтобы гуи не залипало после нажатия долгой кнопки, например. или когда таймер удобный нужен.
тред вызывается в юнити только если очень хочется.

если объект будет дестроен или выключен то все корутины на нем прекратятся, будет равносильно тому что ты сам выключишь все корутины в нем. на такой хуйне в юнити ещё трудно выстрелить себе в ногу.
#247 #190265
внезапно оказалось что ообьявления скриптабл обжектов должны быть в отдельных файлах с соответствующим именем, иначе при старте юнити они не грузятся. при чем оказалось после перезагрузки проекта.
#248 #190266
>>190265
Сам подумай, как иначе будет работать)
#249 #190267
>>190266
дык работает, пока не перезапустишь редактор
#250 #190268
В юнити есть многопоточность? Хочу вынести пару хуен в отдельный поток, а мне только корутины показывают, которые в том же потоке выполняются.
#251 #190269
>>190267
так, стоп. я не допонял кажется.
ты в одном файле-скрипте запилил 2+ класса, и у тебя не работало или как?
#252 #190270
>>190269
работало, пока не перезапустил редактор.

>>190268
в платной версии
#253 #190281
>>190270
У меня есть кренк, рассказывай давай
#254 #190287
>>190268
Есть. Но из других потоков нельзя обращаться к API Unity. То есть такое годится только если у тебя есть трудоемкие задачи, которым никак не нужно взаимодействовать с движком.
>>190270

>в платной версии


да ладно?
50 Кб, 708x710
25 Кб, 515x468
#255 #190318
>>190287
>>190281
вроде встречал упоминание в доках, что многопоточность платная, а в персонал версии только короутины. сейчас не могу найти, небось привиделось
в принципе можно организовать через System.Threading (тасков и воопше нормальной паралельшины из c#4/5 не завезли) но работать с юнити апи может только главный тред...

2 дня мучений и таки нарисовалось
#256 #190368
Привет, игроделы. Есть в юнити такая проблема как
Trying to send command for object without authority.
Вроде как в версии 5.2 добавили возможность добавлять авторизацию к объектам, не являющимися игроком через assignClientAuthority. Попробовал я дать объекту на сцене авторизацию и получил ошибку
Local invoke: Failed to find message handler for message ID 15
Короче, залупа какая-то с этим Unet. Кто-нибудь это пробовал? Может я чего не так делаю?
#257 #190384
Юнитач, ай нид сам халп.
Есть один UI и этот UI - uGUI, и он лагает аки сука. Проект светить не могу, ибо работаю днищедауном в одной сурьезной конторе.
Короче, можете накидать советов, что вы делаете, когда оптимизируйте гуй?
#258 #190403
мне нужно симулировать реальное явление в unity, и вот вопрос: в юнити расстояние задаётся в метрах? а скорость в метрах в секунду?
86 Кб, 906x255
#259 #190412
можно ли как то изменить ориентацию пикрелейтед?
#260 #190427
>>190384
Смотрим в профайлер и пытаемся определить что тормозит. Разносим часто и редко обновляемые объекты по разным канвасам.
>>190403
Да, всё в единицах метрической системы (масса в кг, вес/сила в ньютонах и т.д.)
>>190412
Нет, не надо вскрывать эту тему.
#261 #190431
>>190403
В юнити расстояние задается в сферических конях в вакууме [spiler]юнитах[/spoiler]. Если решишь твердо и четко, что 1 юнит = 1 метр, то так и будет.
#262 #190448
Sup юнитач, есть проблема.
Как в WebGL юзать PUT реквесты? UnityWebRequest, который экспериментальный, не пашет. HttpWebRequest, который из .net, не пашет ибо нет тредов. WWW не может в PUT/DELETE, только в POST/GET. Есть еще способы кроме JS-плагина?
#263 #190455
Вечер в хату поцоны, помогите решить проблему, суть такова: как сделать так, чтобы при движении платформы, персонаж не сваливался с неё, парентинг не предлагать, ибо он жутко пидорасит.
#264 #190456
>>190455
использовать гравитацию и трение?
7 Кб, 200x200
#265 #190462
>>190455
Перемещай не платформу, а задник.
96 Кб, 800x646
#266 #190476
Ну делаю я значит такой футболистов крутых, чтобы они по воротам попадали. Ну у меня значит камера ортографическая и я весь инпут игрока поворачиваю на угол камеры. Ну а потом такой думаю, а давай ка я им ИИ сделаю. Ну сделал, хуле. А там все операции в ворлд спейсе. Ну я думаю хули, ща просто повернем на тот же угол в обратную сторону перед тем, как контроллеру скормить. Ну повернул, заебись работает. Бегают значит, мячик пинают. А как по воротам бить - так все мимо. Смотрю - ага, там оно еще раз за каким-то хуем поворачивается. Ну убрал значит, все заебись. По воротам попадают. Скопировал игрока, чтобы одному то ему не скучно было. И ТУТ БЛЯДЬ ЕБАНЫЙ В РОТ,КОПИЯ ОПЯТЬ НЕ ПОПАДАЕТ НИХУЯ БЛЯДЬ ЕБАЛ Я ЭТОТ ЮНИТИ ДУМАЮ, НО НИЧЕГО, МЫ ЖЕ ЛЮДИ ТЕРПЕЛИВЫЕ. ИСПРАВИЛ ЗНАЧИТ ОБРАТНО КАК БЫЛО, ЧТОБЫ ДВА РАЗА ПОВОРАЧИВАЛОСЬ, ВСЕ КОПИИ ПОУДАЛЯЛ, ОДНОГО ОСТАВИЛ. НУ ПОПАДАЕТ, ЗАЕБИСЬ. ЗАЕБИСЬ, ДУМАЕТЕ? А ХУЙ ТАМ БЫЛО БЛЯДЬ. СКОПИРОВАЛ ЭТОГО ХУЕСОСА, А СЫН ЕГО ОПЯТЬ МАЖЕТ, ЭТО ЧТО БЛЯДЬ ГЕНЕТИЧЕСКОЕ ЗАБОЛЕВАНИЕ? СКОПИРОВАЛ С КРИВОГО - ЗАЕБИСЬ, СНОВА РАБОТАЕТ. А ПОТОМ ДУМАЮ, А ИДИТЕ ВЫ ВСЕ НАХУЙ БЛЯДЬ СО СВОИМИ ИГРАМИ, ПОЙДУ ЛУЧШЕ НА ЗАВОД РАБОТАТЬ. ПИДОРЫ БЛЯДЬ.
#267 #190477
>>190476
Меня больше радует, что я не могу указать другую камеру в коде, только, сука, мэин. Ебал в сраку этот говнокодинг, но УЕ4 еще нет на однроеде... Нутыпонел.
#268 #190480
>>190477

>я не могу указать другую камеру в коде


>УЕ4 на однроеде


Когда умрут последние кармаки, игры будет делать этот биомусор. Будущего нет.
#269 #190484
>>190481
Камера это компонент, а как в юнити получить доступ к компоненту объекта? Придешь со школы - загугли, только домашку сначала сделай, долбоеб.
#270 #190487
>>190485
Такое дно и на уе4 перекатывается.
Показательно.
#271 #190491
>>190485
lol
ne smog v GetComponent<>(), poshel v UE4. NICE, MEGABRAVO
38 Кб, 500x366
#272 #190492
>>190481
Хотел было помочь, но это уже слишком толсто.
2 Кб, 225x111
#273 #190493
удачи тебе в уе...
38 Кб, 500x281
#274 #190496
>>190485
одним кириллом меньше, помянем
#275 #190497
>>190496
Накатил и покаялся.
6 Кб, 863x543
#276 #190498
Есть Vector2, есть направление, есть угол. и есть коллекция с другими Vector2. Как узнать какие из точек попадают в угол по направлению от первого Vector2?
#277 #190501
>>190498
MathF.Abs(Vector2.Angle(first, second) - Vector2.Angle(first, point) - Vector2.Angle(point, second)) < fload.Epsilon;

если сумма углов от крайних векторов до вектора-точки равна углу между крайними векторами то точка находится между ними
#278 #190503
>>190384
Расставь теги на спрайтах, начнет летать
571 Кб, 1029x612
#279 #190543
Всем потешных санкций итт, кликалка за полчаса, архив в раржепеге
#280 #190547
Аноны, как лучше всего сообщать о событиях, вроде игрок такой-то убит? И ещё выдавать очки? Я пишу сетевую игру. Игроки будут постоянно пересоздаваться из раунда в раунд.

Самый простой вариант вызывать в объекте игрока метод:
Game.OnPlayerDied(who, killer)
А в объекте оружия метод:
Game.AddScore(1)

Можно ещё разместить event'ы внутри этих классов, но мне придётся постоянно подписываться/отписываться. Не очень удобно. Или сделать глобальный класс ивентов, но тогда этот способ ничем не лучше статического класса Game.
#282 #190549
>>190547
Делаешь объект - спаунер игроков. Он будет делать новых игроков и сразу же подписываться на их события.
#284 #190555
А что, если следовать парадигме Юнити? Нахуй все эти C# события, системы событий из ассет стора, sendmessage и тому подобное.

В Юнити есть компонент AudioSource. Добавляешь его на объект и теперь он может проигрывать звуки. Но внутри AudioSource идёт обращение к синглтонам звуковой системы. Таким образом они скрыли обращение к синглтону в компоненте.

В моём случае можно создать компонент DeathObserver. В компоненте персонажа (или в компоненте Health, чтобы не плодить всё в одном классе) делаем следующее:
private DeathObserver deathObserver;
deathObserver = GetComponent<DeathObserver>();
deathObserver.OnDied(who, killer); // если получили урон и персонаж умер

Внутри DeathObserver обращаемся уже к monobehaviour синглтону, который играет роль Facade-паттерна.
#285 #190556
Подскажите, есть ли возможность в Editor'е в скрипте добавить разделитель? Чтобы визуально отделить одну группу переменных от другой.
#287 #190558
>>190556
кустом эдитор разве что нарисовать. но имхо оно того не стоит
#288 #190560
>>190557
Благодарствую. Добра тебе, няша!
#289 #190575
>>190543
7zip не открывает.

Что-то нахимичили в 5.2 с координатами, если раньше пиздецово большие флоаты просто вызывали погрешность, то теперь генерируются сотни ошибок в консоль. Нехорошо сделали. Может уже пора обновиться, хуй знает.
20 Кб, 368x394
#290 #190586
ребят, подскажите, как в скрипте изменять значения на пикрелейтеде? смотрел описание класса TrailRenderer на юнитидокс, из переменных у компонента только ширина начала и конца, время и авторазрушение.
#291 #190591
>>190586
Что-то в духе
gameObject.GetComponent<TrailRender>().color[0] = someColor;
не удается провернуть? Ведь инспектор откуда-то знает, что у этого компонента есть коллекция color
#292 #190593
Есть ли в снити стандартный текстовый редактор, а то у меня висела студии долго через тритт открывается, и как на него переключится.
#293 #190594
>>190586
При помощи рефлексии.
#294 #190659
А есть ли уроки для новичков в виде литературы( с примерами), а не видосов?
#295 #190695
>>190659
Гейдев, булка, просто сайты в интернете.
#296 #190700
Анон, видел как-то на стримах у людей в VS над функциями было написано количество их версий. Видимо это как-то выдирается из гита. Как это сделать?
#297 #190701
>>190586
Чому не гуглишь?
http://forum.unity3d.com/threads/trail-renderer-colors-c.54162/
Тут аж два варианта. Но я хуй знает, рабочие ли, лол.

>>190575
Ненавижу ошибки по типу "ошибка. Нажмите ок чтобы продолжить". Было 25 объектов, сгенеренных одним скриптом, всё работало заебись. Потом пошли ошибки "инварид ААББ". Перегенерил 25 объектов, абсолютно идентичных первым. Ошибка ушла. Пиздос какой-то.
236 Кб, 1680x1008
265 Кб, 1680x1008
#298 #190708
>>190501
спасибо, анон. на утро прочитав свой вопрос я осознал каким глупым он был. и стыло стыдно прокрастинировать.
#299 #190736
>>190700
Это, если я не ошибаюсь, фишка VS Professional
#300 #190758
Наткнулся на новый, очень интересный канал с уроками по Unity3D. Может кому пригодится.

http://www.youtube.com/channel/UC1JZpr9uaLW5GV1bsx8tVyw
#301 #190759
#303 #190777
>>190766
Ламповый чувак.
#305 #190846
>>190845
Кому нужно это говно, когда есть божественная студия?
24 Кб, 400x400
#306 #190853

>божественная студия

238 Кб, 1148x864
#307 #190855
#308 #190857
Аноны, Юнити сжимает файлы анимации? Скачал тут одну модельку и несколько анимаций, размер которых от 8 до 12 МБ. Как-то это слишком дохуя. Надеюсь, в билд они попадают в совсем другом размере?
#309 #190859
>>190846
вот этому >>190593 Кириллу, например
#310 #190860
>>190856
Нерелейтед.
sage #311 #190877
>>188745

>Игры - свой движок


Студии используют "свои" движки по 10 лет просто по привычке, наработанным схемам и отсутствии проблем лицензий, отчислений, покупки, а не из-за непригодности движков того же юнити/уеч
25 Кб, 386x290
#312 #190879
Посоны, а как в платформере миникарту сделать? Нарисовать весь уровень с зумом или как? Объекты юнити умеют рисовать себя в данный рендер таргет или в картинку? Как эти миникарты вообще делают-то?
#313 #190890
>>190879
для генерируемой карты:
рисовать с зумом
рисовать упрощенными примитивами
для статичной карты
рисовать заранее
#314 #190894
>>190890

>рисовать упрощенными примитивами


Разве так можно?
#315 #190895
>>190894
ну карта предположим строится из блоков. вот делаешь для блока отдельный маленький монохромный спрайт и эти спрайты собираешь в миникарту
#316 #190900
>>190879
воопше вешаешь вторую камеру, цепляешь её к плееру. ставишь глубину 1 и рендер в текстуру. располагаешь соответвующе. что бы следила за игроком - вешаешь на игрока. текстуру через гуй вешаешь куда нужно. можно поставить фильтры например только терайн и иконки, навешать на обьекты иконки и отключить их на основной камере. будет вааще красота.
#317 #190908
>>190900
ну да, что-то подобное предлагается в туториалах по запросу unity minimap. вот только отрендеренный кусок уровня с высоты птичего полета мягко говоря плохо читается, а для карты ж это важно, думаю может какую сепию или эффект какой на камеру нацепить мошен блюр чтоб было посхематичней

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

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

ну и эстэтики хотелось бы, чего уж скрывать
#318 #190910
Объясните, пожалуйста, почему Mathf.Lerp работает "не линейно"? до 0.8 летит быстро, а дальше все медленней и медленней? И это при том, что "float t" фиксированная, к примеру 0.1f;
Как пофиксить?
#319 #190912
>>190910
Потму что матлерп это всего лишь линейная интерполяция. Ничего больше.

Но юнитидети конечно используют кривой костыль-трюкачество, что они одну из точек дергают по направлению движения. Потому что им лень писать нормальный код и хочестся внутри апдейта одной строчкой ШОБ ВСЕ РАБОТАЛО ВОН У ВАСЯНА МАТЛЕРП ДВИГАЕТ ВСЕ.

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

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

Короче если хочешь нормальное блядь движение, то блядь все по канону.

Есть точка А и точка Б. Не трогай их сука, ридонли их сделай или еще как. У тебя есть интерполяция от 0 до 1. Вот ее сохрани и ее изменяй каждый шаг, не забваю умножить на дельта тайм. Это будет нормальное равноускоренное движение. Но юнитишкольникам лень, они каждый шаг двигают точку А к точке Б лол, ясен хуй предмет вообще никогда не достигнет точки Б. Не устаю проигрывать с обезьян с шикарной гоночной машиной.
#320 #190917
>>190912
Благодарствую за разжеванное, но я не трогаю точеньки, я плавно и приятно меняю параметр аниматора, или параметры персонажа (хп и т.д.), и дельта тайм там не очень смотрится.

Правильно ли я понял, что в подобном случае мне придется писать свой костыль, через var=var+0.1 и Clamp, или есть адекватные решения?
#321 #190929
>>190910

>почему Mathf.Lerp работает "не линейно"?


Потому что ты долбоёб, который не знает, как работает Mathf.Lerp.
#322 #190932
>>190912
хм. всегда делал так
float move = speed delta;
Vector3 diff = dest - pos;
if(move
move < diff.sqrMagnitude())
{ pos = dest; end_movement() return;}
pos += diff.normalized * move;
#323 #190934
>>190929
Ок, гуру, посвятите же меня, как мне равномерно (РАВНОМЕРНО, БЛЯТЬ!) сменить значение переменной от "А" до "Б" с определенным шагом от 0 до 1, где 0 это "А", а 1 это "Б", а 0.5 это среднее между "А" и "Б"?
#324 #190937
>>190934
ну так блядь и меняй расстояние от А до Б а не от "прошлой точки" до Б

блядская капча
#326 #190943
>>190937
Не понял, при чем тут вообще расстояние?

float Par = Mathf.Lerp(Par, MaxVolume, Speed);
где MaxVolume 0 или 1, а Speed значение от 0.01 до 0.5

Что тут не так? Чому я неможить у плауность?
#327 #190944
>>190943
вон тебе линканули статью. все расписано. лерп используется для нахождения точки между двумя точками. т.е. у тебя известна начальная и конечная точка, и параметр меняется от 0 до 1 тогда движение будет плавным. у тебя же начальная точка каждый раз меняется, в результате никакой линейной интерполяции и равномерного движения.
#328 #190945
>>190943
float Par = Par + (MaxVolume - Par) * Speed;
#329 #190946
>>190945
нормализацию забыл
#330 #190947
>>190944
>>190942
Не увидел ответа, буду копаться в статье. Спасибо!
ФИНТЫ VISUAL STUDIO 2015 #331 #190948
Ctrl+Shift+Q - вызывает окно быстрого добавления методов из MonoBehaviour. Просто начинаете вводить название нужно метода и он покажет список возможных вариантов. Очень удобно. Не нужно лезть в доки, если забыл название метода.

Ctrl+Shift+M - нечто похожее, только ещё круче.

CTRL+ALT+M -> CTRL+H - открывает документацию. Например, ставишь курсор на класс Camera, нажимаешь данную комбинацию и открывается документация с описанием камеры.
#332 #190949
>>190946
Какую нормализацию?
#333 #190950
>>190945
Оригинально, спасибо!
>>190946
В float переменных она не нужна.
#334 #190951
>>190950

>Оригинально, спасибо!


Я просто переписал твою же запись в другом виде, надеясь при этом, что до тебя дойдет в чем ошибка.
#335 #190952
>>190951
Понятно. Просто никогда не знал что подобным образом оно устроено.
Тут уже все разжевали
>>190944
#336 #190953
>>190949
>>190950
я думал тут векторы, тупю
тогда там не (MaxVolume - Par) а Mathf.Abs(MaxVolume - Par) хотя это равнозначно нормализации в одномерном пространстве
#337 #190955
>>190953
Наркоман. По-твоему Mathf.Lerp(0, -10, 0.5) вернет 5?
#338 #190956
>>190701

>Чому не гуглишь?


http://forum.unity3d.com/threads/trail-renderer-colors-c.54162/
Тут аж два варианта. Но я хуй знает, рабочие ли, лол.

может и рабочий, вот только не могу создать объект типа SerializedObject, в unityDocs о нём ничо нет. что это такое?
#339 #190958
>>190956
namespace UnityEditor
{
//
// Сводка:
// ///
// SerializedObject and [[SerializedProperty]] are classes for editing properties
// on objects in a completely generic way that automatically handles undo and styling
// UI for prefabs.
// ///
public sealed class SerializedObject
#340 #190959
>>190956
Первая же ссылка в гугле на unityDocs. Ты правда такой тупой или притворяешься?
#341 #190962
>>190959
>>190958
пардон, похоже, случайно искал в русской версии unitydocs
#342 #190963
>>190701
вай вай спасибо. работает
#343 #190967
как работает AddForce по дефолту? его параметром может выступать вектор. я правильно понимаю, что вдоль данного вектора будет приложена сила, равная 1Н?
#344 #190973
>>190967
X ньютонов.
#345 #190975
>>190973
х - это то число, на которое я могу умножить данный вектор?
#346 #190980
#347 #190987
>>190955
БЛЯДЬ ПОНЕДЕЛЬНИК СУКА
MathF.Sign
#348 #190988
>>190987
>>190955
воопше я подумал, что там формула для вычисления аддитивного движения в векторах, но как оказалось у тебя там был просто раскрытый флоат лерп
все мои мыслительные способности в понедельник вечером ушли на капчу
#349 #191015
что значит "draw calls"?
#350 #191016
>>191015
внезапно вызовы отрисовки. т.е. конкретная команда видеокарте нарисовать что-то. при чем из-за особенностей устройства видеокарт сейчас гораздо быстрее отрисовать один сложный обьект с тяжелым шейдером одним драуколом чем разбить его на мелкие с простыми. ибо 100500 паралельных конвееров, которые могут выполнять одинаковые команды. поэтому современные движки активно юзают батчинг - объединение одинковых вызовов в один
#351 #191073
сап чуваки у меня проблема, я дибил. я пытался научится кодить, чесно, пытался! но я слишком туп для этого от ответа на вопрос типа "как мне сделать так чтоб персонаж поворачивал за мышкой?" фразой типа "тебе нужно затаргетить мыш так чтоб синус косинус залупа дельта функция градиент квадратный корень гипотенуза хуй от неё корелировался с поворотом обьекта" у меня виснит мозг. если я выложу сюда готовый скрипт вы сможете мне внятно пояснить что значат эти букофки.
#352 #191077
>>191073
Выдерни скрипт из какого-нибудь фпс ассета и повесь его на камеру.
#353 #191080
Вопрос на засыпку: как сделать так, чтобы 2 коллайдера проходили сквозь друг друга, и при этом было событие как от триггера?
#354 #191082
>>191080
Поставить на коллайдер галочку is trigger.
#355 #191084
>>191016
>>191016
то есть тесселяция не нужна?
#356 #191087
>>191082
Тогда этот коллайдер будет проваливаться через другие коллайдеры
#357 #191088
>>191087
Если на персонаже есть коллайдер с ригидбоди то он может получать и сообщения с триггеров, и от столкновений с другими коллайдерами, чего тебе еще надо?
#358 #191090
>>191088
Мне надо чтобы коллайдер мог проходить через определенный другой коллайдер. Если выключить это в слоях, то не будет события, а мне надо знать когда такие коллайдеры проходят сквозь друг друга
#359 #191091
>>191084
тесселяция тут воопше не причем. она "дробит" уже имеющийся объект добавляя детали, т.е. получается все равно один обьект, только более детализированный и опять же рисуемый одним вызовом

>>191073
2д?
а воопше без математики в программировании делать нечего, такие дела
88 Кб, 480x360
#360 #191101
Посоны, а как сделать чтоб когда мой персонаж быстро бежит или резко ускоряется воздух за ним приломялся? Я вообще в 2д делаю, но не суть. Как это вообще делается, нужно шойдер чтоли писать? Вроде в юньке есть какие-то встроенные трейлы, но это просто шлейф, я хотелось бы чтоб реально приломлялся воздух. Я делаю dash просто, было бы очень круто такой эффект иметь. Подскажите.
#361 #191103
>>191073
FPS Controller ведь есть. Его и используй.
#362 #191106
>>191101
Это постпроцессинг, т.е. шейдеры уже на готовую картинку. Без изъебств делаются только в платной версии.
24 Кб, 187x447
sage #363 #191107
>>188549 (OP)
При добавлении объекта прифаба к его имени приписывается номер, как избавиться от этого?
#364 #191108
>>191106
платной версии уже год как нет
24 Кб, 187x447
sage #365 #191109
>>188549 (OP)
К клонам прифаба приписывается номер, как избавиться от этого? ( чтобы без номера создавались)
24 Кб, 187x447
sage #366 #191110
>>188549 (OP)
К клонам прифаба приписывается номер, как избавиться от этого? ( чтобы без номера создавались)
155 Кб, 785x441
83 Кб, 785x441
#367 #191111
Посоны, а дайте погонять Shader Forge. Оче надо.
https://www.assetstore.unity3d.com/en/#!/content/14147

>>191106
Но ведь free/pro ушло в прошлое. Теперь есть только 1 версия юнити, без ограничений, просто лицензии разные теперь: personal/pro. А ограничений как раньше что renderTaget нельзя делать вроде ж сняты. Не?
#368 #191112
>>191107
>>191109
>>191110
Сам не знаю.
Даю объектам теги, и их использую вместо имен.
Иначе можно стрингами баловаться, брать только имя объекта, вырезать остальное операцией на стринге.
#369 #191113
>>191108
>>191111
Мдя, так и есть.
Воопшем гугли refraction shader и будет у тебя все что нада.

>>191110
переименовать не пробовал?
#370 #191114
>>191077
>>191103
это понятно но я не хочу остатся такимже тупым как вы до конца своих дней. Я конечно могу искать скрипты в вебе и юзать стандатные решения, но так в один момент мне прийдется воткнуть в юнити фичу скрипта для которой я не нашел и жиденько обосратся. Потому я обьязан научится писать скрипты.
#371 #191115
>>191114
тогда возьми скрипты из нескольких фпс контролеров, включи мозг, сравни, найди общие детали, подумай почему так.
#372 #191117
>>191115
но я слишком туп.
тут главная проблема и кроется:
маленький мозг + огромные амбиции + божественный член = хуйовая комбинация.
#373 #191118
>>191117
блядь, я хуею с шкальника-нытика
коооококко-бидный-я-ни-магу-осилить-котроллар-ай-ай-ай

ебать дебил
может ты еще отркоешь книгу по квантмеху и начнешь ныть что с ходу не можешь его осилить

сраный кретин, физика, математика, программирование, химия да блядь даже ТУРНИЧКИ, все это работает по одинаковому принципу: ОТ ПРОСТОГО К СЛОЖНОМУ дегенерат ебаный

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

а ведь ты прав, ты реально дегенерат, сука, это все равно что записаться в качалку и просто с ходу подойти к самой тяжелой штанге, с ходу сказать местному качку чтоб блядь немелденно подвинул жопой, тот ахуеет но вместо агресси покорно уступит, и тут ты бядь беерешь эту штангу и твои кишки выходят у тебя из ануса, весь зал в ахуе, а ты пыжишься с 12-перстной из жопы и кричишь ААА Я СЛАБАК ХУЛЕ НЕ ПОЛУЧИЛОСЬ ТО БЛЯ ВСЯ МАЯ ПРАБЛЕМА АМБИЦИИ АААААА ПРЯМАЯ ВЫЛАЗИТ ОЙ АППЕНДИКС ВЫДРИСТАНУЛ

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

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

ты знаешь про постфиксные инфекстный инкремент? наследование не вызывает у тебя непонимания? перегружать операторы умеешь? да ладно че уж там, ты хоть не знаю, хэшмэпом или хотяб списком пользоваться вообще умеешь, цикл написть хоть в состоянии? 2д-массив или еще что базовое?
#374 #191119
>>191117

>но я слишком туп.


Вот и закрыли тему.
#375 #191126
>>191118

> блядь, я хуею с шкальника-нытика


мне 23 что самое страшное...

> ебать дебил


сам с себя в шоке

> может ты еще отркоешь книгу по квантмеху и начнешь ныть что с ходу не можешь его осилить


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

> сраный кретин, физика, математика, программирование, химия да блядь даже ТУРНИЧКИ, все это работает по одинаковому принципу: ОТ ПРОСТОГО К СЛОЖНОМУ дегенерат ебаный



> куда ты лезешь сука, ну куда, блядь контроллер FPS это достаточно нетривиальная задача и НИКАК не может быть твоей первой программой


но я уже год пытаюсь выучит йобаный c#

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


вот дто я написал! а ещё раветвленный диалог с пекой. в конце которого пк шлет юзера нахуй.

>а ведь ты прав, ты реально дегенерат


я всегда прав,

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


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

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


нет меня только лицо после этого болело.

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


быть не тупее умственно отсталого хуйовое достежение

>вон даже кампутером пользоваться осили, в наш /гд/ вв тред юнитигоспод геймдева пришел и что же ты делаешь? да ровно то что сделал дрищ из моего примера, сразу пытаешься написать достаточно сложный код



> ты знаешь про постфиксные инфекстный инкремент?


неа

>наследование не вызывает у тебя непонимания?


да ну всё вроди понятно, не сложнее чем в хтмл но я ничего сложного не делел,

>перегружать операторы умеешь?


нет

>да ладно че уж там, ты хоть не знаю, хэшмэпом или хотяб списком пользоваться вообще умеешь


я не знаю что такое хещмеп,

>цикл написть хоть в состоянии?


ага, даже ту хуйню с рекурсией сделал,

>2д-массив или еще что базовое?


не уверен...
#375 #191126
>>191118

> блядь, я хуею с шкальника-нытика


мне 23 что самое страшное...

> ебать дебил


сам с себя в шоке

> может ты еще отркоешь книгу по квантмеху и начнешь ныть что с ходу не можешь его осилить


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

> сраный кретин, физика, математика, программирование, химия да блядь даже ТУРНИЧКИ, все это работает по одинаковому принципу: ОТ ПРОСТОГО К СЛОЖНОМУ дегенерат ебаный



> куда ты лезешь сука, ну куда, блядь контроллер FPS это достаточно нетривиальная задача и НИКАК не может быть твоей первой программой


но я уже год пытаюсь выучит йобаный c#

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


вот дто я написал! а ещё раветвленный диалог с пекой. в конце которого пк шлет юзера нахуй.

>а ведь ты прав, ты реально дегенерат


я всегда прав,

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


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

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


нет меня только лицо после этого болело.

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


быть не тупее умственно отсталого хуйовое достежение

>вон даже кампутером пользоваться осили, в наш /гд/ вв тред юнитигоспод геймдева пришел и что же ты делаешь? да ровно то что сделал дрищ из моего примера, сразу пытаешься написать достаточно сложный код



> ты знаешь про постфиксные инфекстный инкремент?


неа

>наследование не вызывает у тебя непонимания?


да ну всё вроди понятно, не сложнее чем в хтмл но я ничего сложного не делел,

>перегружать операторы умеешь?


нет

>да ладно че уж там, ты хоть не знаю, хэшмэпом или хотяб списком пользоваться вообще умеешь


я не знаю что такое хещмеп,

>цикл написть хоть в состоянии?


ага, даже ту хуйню с рекурсией сделал,

>2д-массив или еще что базовое?


не уверен...
#376 #191129
>>191126

>я не знаю что такое хещмеп,


>не уверен...


короче никто не говорит что для того чтоб писатъ говноскрипты для юнит надо быть таким уж гуру программироавния, но хотя бы сраный хэшмеп (он же Dictionary) и сраный 2д массив уж осилить мог бы. Ну так неудивительно что ты не в состоянии написать ФПС.

Давай начнем с простого, ты в состоянии написать змейку, а лалка? что-то мне подсказывает что нет.
#377 #191131
>>191126

>но я уже год пытаюсь выучит йобаный c#


Хуёво пытаешься, видимо. Года более чем достаточно для того, чтобы освоить C#.
#378 #191132
>>191129
Хороший совет.
Я програмировать совершенно не умею. На неделе сел в Юнити, начал читать документацию.
Делаю что то вроде Space Invaders.
Корабль космический летает, управляется, стреляет, врагов за 3 выстрела поражает. Все норм идет, интересно, вроде развиваюсь. Хочу хоть чему то научиться, чтоб не только художником быть, а сам уметь говноигры делать с начала до конца.
#379 #191138
Js нормально подойдет для uniti?
#380 #191140
>>191138
поговорить мало с кем будет, ну или готовься воспринимать код, написанный на С#
#381 #191141
>>191140
А функционально есть большая разница? Почему вариант с Си так популярен?
#382 #191146
>>191141
на сколько я слышал, у юньки джиэс не совсем джиэс, а что-то сильно переделанное под юньку, толку учить то что нигде за границами юньки не работает.
#383 #191147
>>191141
Если будешь делать что-то сложнее сношающихся кубов то даже не думай о js.
#384 #191180
>>191126
Толстишь ведь.
#385 #191225
>>191141
Потому что js - редкостная параша
#386 #191229
Как хранить модели персонажей?

У меня порядка 30 моделей. Игрок может выбрать любую из этих моделей. Но где их лучше хранить? Пока я хочу сделать так:
- создаём префаб
- создаём специальный скрипт, который будет содержать список всех моделей, после добавляем метод, который будет выдавать нужную модель по имени
- кидаем скрипт на префаб, задаём модели
- сохраняем ссылку на префаб в скрипте игрока
#387 #191234
Запилил вот такой класс http://pastebin.com/DhnQFsaU
Вроде норм >>191229
#388 #191236
>>191229
ложишь все модели в ресурсы в отдельную папочку. когда нужно выбрать - дергаешь их через Resources.LoadAll. лишние прибиваешь.
#389 #191239
>>191236
Хм, да, так будет гораздо лучше, чем если я буду вручную добавлять каждую модельку. Спасибо.
331 Кб, 1280x720
#390 #191250
посоны, кто нить делает анимации в 2д? пилю полуфайтинг платформер(ну а хули, не все же сурвайвалы с зомби на танках) поэтому будет много анимаций и покадровые наверно будут весить до сраки.
- что лучше выбрать стандартный аниматор в юнити, спайн или конвертировать из флеша (в основном делаю во флеше, но с конвертацией получается проблемно).
- что будет более удобно для смены скинов (оставить логику костей, а менять спрайты на более лучшие)?
#392 #191267
>>191266
Вот здесь ищи http://forum.cgpersia.com
Туда стекаются все пизженые ассеты.
#394 #191304
>>191267
Только они там пиздец тухлые. Мимопроходил.
#395 #191364
это снова я, дибил который пытался выучить с# и обосрался. Распишите мне пожалуйста что за заклинание тут прописано:
//это чевидно переменные
public Vector3 target;
private Ray ray;
private RaycastHit hit;

void Update()
{
//тут переменной рей прописали какие-то матерные слова
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
//чё блять за псих.радужный кастер?
if (Physics.Raycast(ray, out hit, 100.0f))//чё блять зза букафы?
{
target = hit.point;
}
Vector3 dir = target - transform.position;
dir = new Vector3(dir.x, dir.y, 0);
if (dir != Vector3.zero) transform.forward = dir;
}
чё блядь вообще за хуйня тут происходит?
81 Кб, 483x335
#396 #191366
мой проэкт, самая демотивирующая хуйня в мире
#397 #191391
>>191364
Очевидное верчение объекта по направлению соприкосновения мышиного курсора с ним.
#398 #191392
>>191366
Текстурку пола сделай как нибудь в стиле твоего спрайта потом. Что за игра то будет?
#399 #191413
>>191392
не тут суть вся в этом, пикселявые чувачки ожили и пытаются выжить в их фентези мире, вот только весь их фентези мир это квартира художника:
1)ворсистый ковер- джунгли, диван - горы, морозилка-ледяная пещера
рпг будет
#400 #191460
>>191364
1. используя камеру переводим координаты в луч, направленный в туда куда указывает мышь
2. проследили луч, до тех пор пока он куда-то не уткнется. если уткнулся - запоминаем куда
3. поворачиваем модельку в сторону мыши тут какая-та странная хуета, ибо для определения направления поворота используется точка пересечения луча с объектом. нахуя если у нас уже есть луч? что будет если мы уведем мышу в небо где сталкиваться не с чем?
#401 #191463
>>191460
2 варианта
1)это ротатор для игры с видом сверху, так что в небо всеравно не посмотришь.
2)энжой ту невидимые стенки
42 Кб, 600x604
#402 #191467
>>191413
милая задумка :)
удачи, Кирюх)
#403 #191528
Поясните недоучке: как плавно включать (повышать "вес") Animator?

Задача:плавный переход от рэгдолла в произвольной позе до персонажа с анимацией.
#404 #191555
>>191528
lerp никакой не помогает?
#405 #191612
>>191528
https://www.youtube.com/watch?v=pk0nVmWTwuM
В аннотации к видео ссылка на блог с описанием и проектом.
#406 #191661
>>191612
Насколько я понял, в проекте он плавно лерпит текущую позицию всех костей до позиции анимации, а потом включает аниматор.

>>191555
Помогает, если делать Lerp позиций всех костей, но это довольно затратно, хотелось бы найти альтернативу.

Где-то промелькивала информация о встроенном блендинге от рагдолла до анимации в будущих версиях...
#407 #191681
ОРУЖИЕ В РУКЕ, СТРЕЛЬБА
Пилю сетевой экшен и сейчас ломаю голову над тем, как отображать оружие. Когда игрок управляет персонажем, то у него вид от первого лица, другие же игроки видят его от третьего лица. И я вот думаю, как это всё организовать.

Вот что надумал на данный момент:
- Класс Weapon будет отвечать за логику оружия, будет хранить параметры (кол-во патронов в обойме, скорость стрельбы и тому подобное), будет заниматься перезарядкой и стрельбой. Это не графическое представление оружия.

- Класс WeaponInHand будет хранить ссылку на эффект стрельбы (партиклы) и на звук стрельбы. Внутри будет всего один метод Fire, который будет проигрывать звук и проигрывать эффект. Это графическое представление оружия. Оно будет цепляться на GameObject-контейнер. Внутри контейнера будет префаб модели оружия и префаб эффекта стрельбы, который размещён возле дула.

На один тип оружия будет приходится три префаба. Первый будет описывать параметры оружия, второй префаб будет представлять оружие в виде от первого лица, третий префаб будет представлять оружие в виде от третьего лица.

- Класс PlayerController будет управлять персонажем. Он будет цепляться на самый верхний GameObject персонажа. И будет хранить ссылки на два нижних класса. Ещё он будет хранить ссылки на Weapon объекты. В зависимости от того, кому принадлежит данный игрок, он будет активировать либо вид от первого лица, либо вид от третьего. Причём, это может происходить в режиме просмотра, когда игрок мёртв и хочет посмотреть от лица другого игрока за игрой.

- Класс FirstPersonPlayer будет цепляться на нижний объект, который представляет игрока от первого лица. Внутри будет список всего оружия с видом от первого лица. Если был выстрел, то PlayerController вызывает метод Fire у FirstPersonPlayer, а тот вызывает метод Fire уже у WeaponInHand, который сейчас в руке у персонажа.

- Класс ThirdPersonPlayer будет цепляться на нижний объект, который представляет игрока от третьего лица. Аналогично.
#408 #191682
>>191270
Чем этот инструмент лучше Спайна?
#409 #191683
>>191682
я на самом деле нашел отличие что его проще портировать. те он создает сразу префаб с аниматором. в спайне анальные перекидывания с переменой имен. ффд, в той версии которую я скачал, там нет. только что стоит она 1к, а не 90$ как спайн
#410 #191699
>>191683
а можно создать одну скелетную анимацию в Spriter и использовать её с разными спрайтами в Unity?
#411 #191704
>>188549 (OP)
Поцоны, вот есть у меня интерфейс, который при активации запускает связанный с ним объект такого же типа, если он есть. Т.е. например у меня есть реализация интерфейса в классе fuse, который с задержкой активирует класс explosive с реализацией этого же интерфейса.

Так вот, при создании объекта руками все работает как надо, а если создать его копию, то связанный объект не активируется. Какого хуя?
#412 #191706
>>191704
Все починил. Подписка на метод осуществлялась в Start() и в копии иерархия просто не успевала связываться.
#413 #191718
Есть один аниматор (ЕОА).
При значении переменной true, он двигает некий rigidbody с коллайдером.
Как сделать так, чтобы при касании коллайдером, двигаемым аниматором, другого коллайдера анимация прекращалась?

Основная проблема: за время, которое требуется для того, чтобы переменная аниматора при OnCollisionEnter(), стала false, проходит еще один-два анимируемых кадра, коллайдер успевает пройти сквозь другого, и они дико, тащемта, отталкиваются друг от друга, например.
#414 #191720
Есть какой-то способ ускорить лайтмаппинг в юнити 5? Заебало, оставляешь печься на ночь - один хуй не допеклось. Сколько дней ему надо на одну сцену?
#415 #191724
>>191721
Это не смешно, блядь. Один террейн 500х500 без карты высот печётся 4 минуты. С картой высот 32 минуты. Террейн 1000х1000 без карты высот печётся 6 минут, с картой высот будет полный пиздос. А если хочется 2-3 террейна по 2к? Хуйня какая-то, очевидный же баг какой-то.
#416 #191725
>>191724
компьютером обзаведись
#417 #191727
>>188737
Больше данных, больше контента, больше людей, больше всего. Будешь заказывать что либо на стороне - говоришь чтобы сделали под Юнити и не окажется что например модельки выглядят по разному у тебя и у авторов. Юнити решает ПРОБЛЕМЫ.
#418 #191729
>>188745
Поищи на ютубе канал Matt Chat, Там куча интервью. Таким образом ты узнаешь например что фоллач 3 в своё время не запилили только потому что не осилили сделать ДВИЖОК.
#419 #191730
>>191725
Четыре ядра проц и 8 гиг ddr3. Что-то мне кажется, что это больше, чем у среднестатистического обитателя раздела. Обновить не мешало бы, но прост производительности будет даже не вдвое, а процентов, от силы, 20. Пусть четверть. Вместо 30 минут на пустой террейн - 20+. Это всё ещё слишком дохуя.
#420 #191732
>>188745
Вот это манямир.
#421 #191734
Анонсы, осваиваю двадэ юньку без знаний сишарпа.
Суть: есть квадратики, нужно чтобы они самостоятельно собирались в цепочки. Чтобы к ним с одного конца подплывали кружочки и двигались по этой цепочке. А потом чтобы получались другие цепочки и двигались одним из концов в определённую сторону, но при этом точно так же состояли из квадратиков.
Впорос: какие туторы по сишарпу мне читать, чтобы было охуенно?
В управление главным героем мне вообще не надо уметь, важно научиться делать ИИ и поведения. Всё в моём проэкте высере должно случаться само.
#422 #191750
>>191718
Нужно использовать рейкастинг, если интересно, то я могу объяснить.
#423 #191754
>>191750
Интересно, объясни, пожалуйста.

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

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

Пример:бревно поворачивается вокруг своей оси, должно наткнуться на 3-4 рандомных камня по пути. Причем, если ближе к ентру оси все ок, то на концах бревна триггер успевает не только пройти далеко насквозь 2-3 камней, но и пройти сквозь некоторые, без детекта. Как остановить такое бревно, двигающееся анимацией?
22 Кб, 1008x630
#424 #191759
>>191754

>


Вот такая ситуация?
Если речь о 3д, то чем то конкретным я помочь не смогу, сам ковыряю 2д часть, и то с переменным успехом.
#425 #191771
>>191759
Не совсем...
Представь себе часы. Стрелка быстро крутится аниматором, на пути разбросаны камни. К сожалению, в 3д.
Норм, когда коснувшись триггера\коллайдера, стрелка сразу остановится.
Не норм, когда она проходит дальше немного.
Ваще жесть, когда из-за длинны перемещения на конце стрелки, оно тупо проходит сквозь триггер малого размера.
#426 #191774
>>191771
Не двигай физ. объекты аниматором, очевидно же. Как тебе вообще такая идея в голову пришла.
#427 #191791
>>191730
мне бы такой комп, хуярю на дрпотопной хуйне, чуствую себя доктором думом в альтимейт фантастик фор, хуярящим из говна и палок безумно сложных роботов,
#428 #191805
>>191774
Согласен, очевидно. Но это был пример.
У меня чуть более громоздкая задача, не решаемая физикой, пока джойнты в Юньке такие всратые.
#429 #191840
>>191734
бемп
#430 #191859
>>188745
Вот это троллинг.

>>191730
Это что, тоже троллинг? Дома стоит такой же. Сейчас учу себя юнити на старом макбуке 2009 года. Все нормально работает, но ведь я и делаю платформер-хуйормер.
#431 #191936
юнити крашится если использовать аниматор и cloth вместе. что делать?
#432 #191949
>>191947
А в чем, собственно, проблема? Допустим у меня флаг на флагшток поднимается
#433 #191950
Почему этот код работает так: чем ближе к TargetPosition тем WalkForce меньше. Как это исправить?
m_WalkForce += (m_TargetPosition - currPosition).normalized * walkForce;
#434 #191952
>>191950
Я так понимаю что когда расстояние между текущим положением и целью маленькое, normalized возвращает маленькое значение, хотя написано что он всегда возвращает одно и то же значение
#435 #191962
>>191950
А что ты пытаешься сделать, болезненный? normalized всегда возвращает единичный вектор (за объяснениями что такое единичный вектор в гугл). Если твой WalkForce становится меньше, то очевидно, что позиция цели где-то слева/вверху от текущей.
#436 #191964
>>191961
Наоборот, добавили единый Cloth. Убрали Interactive Cloth
#437 #191965
>>191962
Я хочу получить вектор направления движения имея конечную цель и текущее положение. Если я пишу (m_TargetPosition - currPosition).normalized то этот вектор совсем не единичный, а уменьшается в зависимости от расстояния до цели
#438 #191966
>>191965
или ты не понимаешь что такое единичный вектор или уменьшение происходит не из за normalized, а, например, из за какого-то walkForce из предыдущего поста.
#439 #191970
>>191966
Все я понимаю. Я уже исправил сам, кстати. Все дело в том, что у меня 2д, а я использовал Vector3, видимо из-за этого и была ошибка.
#440 #191971
>>191970
то есть короче из-за разницы в z-координате при приближении вектор вращался, из-за этого распидорашивало координаты
2 Кб, 601x227
#441 #192029
Аноны, подскажите. Есть int[][], которое интерпретирует что-то вроде картинки. Я хочу чтобы те цифры, у которых по соседству нет как минимум двух соседей с такой-же цыфрой становились той с которой у неё больше всего соприкосновений, или дефолтцыфрой, если они соприкасаются с ней. Картинка может быть произвольной. Как написать это не через жопу?

И подскажите пожалуйста как определять площадь "острова" цыфр похитрей?
#442 #192035
>>192029
Запили карту островов. Такой же массив интов, создается на основе прохода этого массива. Там одинаковую цифру будут иметь пиксели одного острова.
По этой карте уже и площадь проще читать будет и искать "одиночек".
Я когда-то давно пилил аналог "BubbleBraker", подобным образом считал группы шариков.
Выглядеть должно примерно так: pastebin.ru/f7KlTVSp
Проснусь - отвечу на доп. вопросы
#443 #192041
>>192029
1 - просто проверь всех соседей, тут тупой перебор идеален.
2 - "заливкой". заводишь исчо одну временную карту впрочем её можно использовать далее для других целей находишь первый элемент не являющийся "морем" и от него рекурентно проверяешь соседей
http://pastebin.com/5EgRh9QB
на выходе получаем словарь со списком островом, координатами первой клетки и площадью. "временный" массив содержит острова по номерам
#444 #192042
>>192029
Клеточный автомат. Заливка.
#445 #192043
>>192029
Цыфра, сначала русиш выучи, а потом сюда приходи тупые вопросы задавать.
63 Кб, 1113x475
#446 #192118
Есть один меканим контроллер. Есть анимации поворота влево/вправо и прыжка. Если я начинаю поворачиваться и в это же время жму прыжок, персонаж вальяжно завершает поворот и только затем прыгает, как заставить его прыгать сразу же?
#447 #192155
>>192136
Небось проблема в отсутствии обратных транзитов от джампа, если так то вообще за секунд 5.
365 Кб, 1680x1009
361 Кб, 1680x1010
301 Кб, 1680x990
#448 #192159
Всем спасибо за ответы, попробовал всякое, было интересно.

>>192035
Да, я думал и так. У меня примерно так определяется наложение одного уровня на другой, только там учитываются все 4 стороны. Для 2д заливка была быстрей.

>>192041
Да, простой перебор оказался идеален для того чтобы найти "выпирающие" места.

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

>>192043
Так ли это важно?
45 Кб, 400x456
Компиляция под iPhone из-под Винды #449 #192177
Впервые делаю проект под iPhone, только начинаю разбираться. Анон, скажи: эта статья актуальна? http://habrahabr.ru/post/206050/
Или уже всё по другому делается? Всё-таки 2013 год.
#450 #192191
>>192177
Скомпилировать на хакинтоше можно, а залить в Аппстор уже нет. Сам хакинтоше это тот ещё геморрой. Проще купить самый дешевый мак мини.
#452 #192206
>>192203
Алсо, подскажите как с ебучими артефактами на тенях справиться. Запечь не могу, меш разрубить тоже.
#453 #192215
>>192203
Господи, какая же срань. Эти перегородки, эта камера постоянно крутящаяся туда-сюда. Кто в такое играть будет?
#454 #192217
>>192191
Насчёт аппстора инфа 100? Вот здесь пишут, что всё работает:
https://www.reddit.com/r/hackintosh/comments/308hr4/iosos_x_app_development_on_hackintosh/
Алсо, думаю, если возникнут проблемы, можно собрать на винде, а залить через macincloud - удалённый Mac за доллар в час.
#455 #192219
>>192217

>6 months ago


Ну хуй знает.
#456 #192221
>>192203
Может действительно поворот камеры убрать? Плюс комнаты посвободнее, а то добавишь пару тумб, ящиков и уже нет поля для маневров персонажу
13 Кб, 553x216
#457 #192238
>>190701
Блядь, ну и как такое дебажить?
57 Кб, 411x655
45 Кб, 722x543
#458 #192246
>>188549 (OP)
Нонимус, помоги пожауйлста.
Есть главная камера с внедренным эффектом Vignetting and Abberation (пик1).

Пытаюсь обратиться к переменной этого класса (проверил, она есть) в своем классе менеджере (пик2).

Выдает такую ошибку
-Assets/scripts/SecondScript.cs(20,36): error CS0246: The type or namespace name `VignetteAndChromaticAberration' could not be found. Are you missing a using directive or an assembly reference?
36 Кб, 767x360
#459 #192247
>>192246
Вот, если не ошибась название нужно брать с название класса при обращении
#460 #192250
#461 #192252
>>192217
Чёрт знает на самом деле. Слышал что или нельзя, или крайне гемморойно. Я не люблю гемморой и потому хакинтош не тестировал, просто купил реальное устройство.
#463 #192259
>>192254
вот же тебе ответили >>192251

пиши полное имя с неймпейсом или добавь юзинг
#464 #192265
>>192215
>>192221
Вообще, это еще далеко не законченная игра, так что все еще может поменяться, камеру я и думал залочить, но тогда встает вопрос с удобностью управления. Пока для тестов и так норм. Ну а комнаты будут разного размера. Эта часть карты узкая, да.

Вы лучше про освещение подскажите.
#465 #192266
>>192259
Я вас не понимаю, имя класса указываю полностью, или вы имеете ввиду, что нужно путь до скрипта указывать или что? ПОтому как в видео примерах ничего подобного не было. Можете заскриншотить?
#466 #192267
>>192265
дерганная она у тебя какая-то, сделай сглаживание какое или таки фиксированую

>>192266
почитай про неймспейсы блжад. первая же ссылка в гугле на мсдн
#467 #192281
>>192280
ну кстати в хороших видосиках что я видел так прямо и говорят "мы тут юнити показываем а не шарп, его вы должны сами знать"
48 Кб, 1046x457
#468 #192289
>>192251
>>192259
Спасибо, разобрался, в итоге получилось нечто (пик1)
>>192280
Я не силен в английском, да и в видео туториалов на оф сайте гребут лопатой объем инфы.

Вот теперь сижу и думаю, блин если тут так много кода, также, зачем я перехожу на юнити с Haxe (haxeflixel) опционал. Ребят помогите уже определиться пожалуйста!
#469 #192291
Анон, поясни:
Нужно сделать кликабельный грид.
Есть префаб тайла, есть объект со скриптом гей-менеджером, который в том числе генерит грид инстанцируя тайлы.
Реализую в скрипте тайла интерфейс IPointerClickHandler, Добавляю префабу коллайдер. Пихаю в сцену EventSystem, запускаю - клики не обрабатываются.
ЧЯДНТ?
#470 #192293
Господа, подскажите как сделать инстанцируемый в скрипте объект чайлдом нужного объекта?
#471 #192296
>>192293
GameObject instanciruemiiObject = Instancirovat';
instanciruemiiObject.transform.parent = nuzhniiObject.transform;
#472 #192297
>>192296
Нежно целую ваш благочестивый анус в знак моей бескрайней благодарности.
#473 #192300
>>192289
Ебнутый. Просто в начале напиши using UnityStandartAssets.ImageEffects;
#474 #192303
>>192300

> using UnityStandartAssets.ImageEffects


Спасибо, рабоатет
#475 #192314
>>192291
а физикс рейкастер на сцену добавил? евентсистем использует все доступные рейкастеры, но не добавляет их.
канвас идет с график рейкастером, которые проверяет только элементы гуя. для 3д колайдеров нужен физиксрейкастер, для
#476 #192315
>>192314
..2д соответсвенно физикс2дрейкастер.
#477 #192316
>>192289
а без кода в программировании никак, странно да?
конкретно этот вопрос был по базовым знаниям C#. тут простые советы типа >>192300 будут только мешать, ибо не дадут тебе знания синтаксиса шарпа, потому тебе и говорили - смотри мсдн, это майкрософтовский ресурс по разработке по. он давно русифицирован, раздел по с# - хорошо русифицирован, кучи примеров и все такое. от тебя не требуется глубокое знание - CLI, стандартная библиотека и прочее, но хотя бы синтаксис ты должен знать хорошо
#478 #192328
>>192315
Есть разница в какой элемент лепить рейкастер?
#479 #192331
>>192328
в тот, от трансформа которого будет считаться рейкаст. т.е. обычно это главная камера. собственно физикрейкаст сам повесит камеру.
35 Кб, 604x365
#480 #192343
>>188549 (OP)
Кто во что собирает кстати? Попробовал впервые забилдить на хтмл5 и это занимает около 3-5 минут, что за дела? Тот же хакс готовый проект выдает за пару секунд. Или я чего то не знаю? Дольше вссего занимает стадия с JS
#481 #192345
>>192331
Спасибо, разобрался - запилил.

Теперь новый трабл. Не соображу как сделать Drag&Drop камеры во время игры.
Я на OnPointerDown включаю режим перемещения камеры и сейвлю позиции камеры и мыши. OnPointerUp выключаю режим редактирования.
В общем проще так: http://pastebin.ru/WdtnN4Vw
Но проблема в том, что IPointerXXX срабатывает только если рейкаст пробивает нужный коллайдер, а т.к. скрипт вешается на камеру - нихуя не срабатывает. Можно ли как-то отловить глобальное событие нажатия поинтера? Или я опять изобретаю велосипед?
161 Кб, 682x1024
#482 #192346
Уважаемые, подскажите, пожалуйста...

Есть raycast, есть spherecast, а можно ли как-нибудь проверить, есть ли коллайдер в плоском треугольнике\прямоугольнике? Эдакий polygoncast или planecast?
#483 #192351
>>192345
эм. есть вполне готовые IBeginDragHandler, IDragHandler, IEndDragHandler с соответвующими эвентами, их обрабатывайте.

>>192346
ммм, вот как раз график рейкаст использует тупой поиск по прямоугольным трансформам, там под гуй конешно заточено, но попробуй поигратся
#484 #192352
>>192351
>>192345
понил, тебе просто тягание камеры мышкой - тут проще, в лейтапдейте(в обычном будут кой-какие артефакты из-за неопределенного порядка апдейтов) скрипте на камере сохраняй координаты мыша, проверяй состояние кнопки и сдвигай камеру если зажата
#485 #192355
Котаны, очень заинтересовался всем этим, есть у кого то сборник уроков Unity именно по 2D играм?
41 Кб, 632x620
#486 #192360
>>188549 (OP)
Как соотнести реальные координаты в игре с координатами в области камеры? Никак не пойму.
#488 #192366
>>192360
Где есть реальные координаты, а где координаты в области камеры?
#489 #192370
>>192351
Какая разница, мне в любом случае нужны глобальные события.
169 Кб, 1048x763
#490 #192394
>>192376
>>192351
Благодарю!
#491 #192396
>>192394
Только господа не учитывают, что SphereCast выдает результат сразу, а их костыль вероятнее всего на следующий фрейм.
#492 #192398
>>192363
Vector3 posCoord = Input.mousePosition;
\t\t\tposCoord.z = 10.0f;
\t\t\tDebug.Log(posCoord);
\t\t\tDebug.Log(Input.mousePosition);
\t\t\tposCoord = Camera.main.ScreenToViewportPoint(posCoord);
\t\t\tsomeList.Add ((GameObject)Instantiate (defaultBox, posCoord, Quaternion.identity));

Объект спавнится ближе к цетру экрана, т.к. координаты ковертируются в диапазоне от 0 до 1
#493 #192401
>>192396
>>192351
Господа так же не учитывают, что 2D коллайдер всегда смотрит на камеру.
#494 #192403
void FixedUpdate () {
\t\tVector3 posit = cam.ScreenToWorldPoint (Input.mousePosition);
\t\tVector3 newPosit = new Vector3 (posit.x, 0.0f, 0.0f);
\t\tgameObject.transform.position.x = newPosit.x;
\t}

Ругается Assets/Scripts/HatController.cs(18,38): error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.position'. Consider storing the value in a temporary variable

Блять не пойму почему не ест
#495 #192405
>>192403
потому что Vector3 структура, а position - параметр а не поле. в результате ты не можешь изменить значение полей структуры, так как геттер возврашает её временную копию. нужно что-то вроде
var temp = gameObject.transform.position;
temp.x = newPos.x;
gameObject.transform.position = temp;
49 Кб, 400x570
#496 #192407
>>192405
Благодарю, однако не разобрался таки до конца, как я понял нельзя присваивать значение напрямую к параметрам объекта. В итоге реализовал так -
\tVector3 temp = cam.ScreenToWorldPoint (Input.mousePosition);
\t\tVector3 temp2 = gameObject.transform.position;
\t\ttemp2.x = temp.x;
\t\tgameObject.transform.position = temp2;

Невероятно костыльно, странно, что этот момент они не облегчили.
#497 #192410
>>192407
можно если бы Vector3 был бы классом или позиция была бы полем. но оно параметр а значит при попытки получить позицию вызывается скрытый метод Vector3 _get_position(); в результате ты получаешь копию позиции, которая нигде не сохраняется. теоретически можно разрешить изменение это переменной, но эти изменения тупо потеряются ибо обратного присваивания нет. с классом прокатило бы, потому что они передаются по ссылке. опять же теоретически в CLI есть возможность вернуть структуру по ссылке, которая используется например в генериках, потому работает a.x = 3; но в открытом виде в C# она не реализована
#498 #192411
>>192410

>a[ i ].x = 3;


форматирование сьело
83 Кб, 732x738
#499 #192450
>>188549 (OP)
Внезапно на пустом месте кнопка перестала быть кликабельной. То есть не выделяется и не прожимается. какие могут быть причины7
#500 #192452
>>192450
Перекрыта чем нибудь?
16 Кб, 542x397
#501 #192457
>>192452
никак нет, что еще?
#502 #192459
>>192457
а evventsystem куда проебал?
149 Кб, 600x842
#503 #192460
>>192459
Спасибо анончик, только хотел отписаться, что решил проблему. Да куда то проебался EventSystem, который необходим для работы канваса.

добра
#504 #192468
Котаны, есть какой-нибудь список ограничений, которые юнити накладывает на C#-скрипты?
Чувствую что некоторые вещи работают не так, как на студийном компиляторе, хотелось бы знать какие именно и как они теперь работают.
#505 #192470
>>192468
юнити использует моно древней версии.
соответственно ограничения 2
1. старая версия языка - C#3 + пара фич из C#4
2. порезанную стандартную библиотеку времен .NET3.5.
второе благополучно проглатывается студией благодобря настройкам нет профиля и собственно связанные с этим ошибки(попытка использования классов более поздних версий дотнета) вылезет исчо при написании - студия скажет "я нихуя не знаю что такое GetCustomAttribute<T>(), иди на хуй", и вместо
attr = GetCustomAttribute<T>(); if (attr != null) {...}
приходится юзать монструозное var a = GetCustomAttributes(typeof(T));
if(a.Length > 0)
{ var attr = (T)a[0]; ...}
что в том же линкью выглядит исчо более монструозно
первое - проблема, так как студия часто предлагает автозамены исходя из существующей версии языка(C#6), что юнити проглотить не сможет.
фактически открываешь википедию "версии C#" и вычеркиваешь все начиная с C#4.0
от четверки поддерживаются только параметры по умолчанию и именованные параметры.
#506 #192472
>>192470
ах да. так как это все таки моно, широкий выбор дополнительных библиотек или не получится использовать или придется обмазывать костылями и пересобирать под моно(если доступны исходники). тот же json.net, бесплатный для дотнета в юнити стоит ужо денег.
63 Кб, 595x682
#507 #192494
>>188549 (OP)
Чем обусловлена такая низкая производительность при компиляции в html5? Чем вообще зарабатывать в веб, если плеер прикрыли , а второе работает как гавно?
#508 #192598
Sprite go = Instantiate(goObject, Vector3.zero, Quaternion.Euler(Vector3.zero)) as Sprite;
Debug.Log(go);

Получаем нул. Охуенчик. А получаем нул потому, что это ёбаный спрайт, а инстансим префаб (геймобъект). А если инстансить сразу спрайт - сюрприиииз - ошибок нет, но зато и в сцене нихуя не появляется. Но! Если при этом пихать каждый инстансируемый спрайт в массив, то в массиве будут ссылки на спрайты, которых в сцене не видно.
#509 #192601
>>192598
наркоман чтоле сука? схуяли ты кастишь геймобжект в текстуру(спрайт)? бери у него спрайтрендерер и делай чо хошь

var sprite_go = Instantiate(goObject, Vector3.zero, Quaternion.Euler(Vector3.zero)).GetComponent<SpriteRenderer>();
#510 #192602
>>192601
Первый раз в 2д полез прост, а по-другому нихуя не работает.
Type `UnityEngine.Object' does not contain a definition for `GetComponent' and no extension method `GetComponent' of type `UnityEngine.Object'
goObject это геймобъект.
#511 #192603
>>192602
ага. кастуй его к GameObject и делай GetComponent

странно, вроде прокатывало без каста, но в доках написано что возвращает UnityEngine.Object, может я уже на автомате кастую? доберусь до компа проверю
#512 #192604
>>192603
ога. значится фича в том что обжект можно скастовать в компонент типа
var sprite = Instantiate(blabla) as SpriteRenderer();
что я обычно уже и делал на автомате
что будет равносильно
var go = Instantiate(blabla) as GameObject;
SpriteRenderer sprite = (go == null) ? null : go.GetComponent<SpriteRenderer>();

изначально у тебя ошибка в том, что зацепившись за название "Спрайт" ты видимо решил что Sprite это есть какая-то особая разновидность 2д го для юнити. но спрайт реализован через обычный го с прилепленым компонентом СпрайтРендерер. а Sprite - просто кусок текстуры, который он использует для отрисовки и сам по себе компонентом не является
#513 #192678
>>192604
Видимо, да, ты прав. Я пытался обращаться со спрайтом, как с го, получить его имя и т.д. Юнити просто как-то приучила, что всё легко и просто. Но на самом деле у меня есть отмазка, я в тот момент пиздец, как тупил, лол. Ведь писал же интерфейс на юГуи и там точно так же всё происходило

>Button button = Instantiate(BPitem, new Vector2(0, 0), Quaternion.Euler(Vector3.zero)) as Button;


>GameObject buttonObject = button.gameObject;


В целом вообще по впечатлениям, 2д режим и гуи режим в 3д - одно и то же.
#514 #192721
Подскажите, пожалуйста, как писать подсказки к переменным?

Те, которые появляются в Editor при наведении мыши на переменную.
25 Кб, 523x193
#515 #192731
>>192721
это что-ли захотел?
#517 #192739
>>192732
Именно! Благодарю!
327 Кб, 1680x1010
310 Кб, 1680x1011
#518 #192742
Тоже задам вопрос. Аноны, подскажите чем удобно рисовать меши в юнити с сохранением глубины из EditorWindow. Рисую через Handles.DrawAAConvexPolygon, но он рисуется поверх всего, разумеется. Чем можно делать то-же самое, только по другому?

Как-бы это и удобно, но как-бы хочется и опции и не хочется городить это велосипедными методами
#519 #192974
>>188549 (OP)
Кто и как встраивал IAP (покупки) в Юнити?
Кто нить пользовался soomla?

Я пздц заепался, думаю попробую свой плагин пилит. Хочу зафигачить кнопку "remove ads"
#520 #192996
>>192974
Сделай версию с рекламой и версию без, если другое не получится.
#521 #193006
Посоветуйте годный ассет или может быть просто скрипт для локазаций.

В ассет-сторе все какие-то странные, отзывов нет.
#522 #193122
>>193006
распарсить файл со строками ключ=значение не можешь?
я уже три карандаша сжевал, блять. #523 #193327
почему ТЕЛО (на террейне) к которому применен некий torque поворачивается намного охотнее, когда движется?! я статическое трение в минус бы уже выкрутил, если б мог, но ниже нуля как-то не идет.
107 Кб, 1920x1080
#524 #193591
Почему у меня в унити такой омерзотный несглаженный шрифт словно я поставил ГТКашную парашу с линукса?
#525 #196369
на unity можно запилить многопользовательскую стратегию?
#526 #196962
Анон, доставь SCI-FI Level Construction Kit 3
https://www.assetstore.unity3d.com/en/#!/content/25706
У тебя есть всё.
272 Кб, 1250x1336
Зочем я 5.3.0b5? #527 #197686
Установил новый релиз и вылезла подобная эбола:
name monobehaviour does not exist in current context. Пикрилейтед.
Как ее полечить? У меня аллергия на красное...
#528 #204824
Тред утонул или удален.
Это копия, сохраненная 3 января 2016 года.

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

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