Это копия, сохраненная 22 ноября 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
В идеале я хочу чтобы было что-то вроде корутины yield return StartCoroutine(Fire());
> чтобы было что-то вроде корутины yield return StartCoroutine(Fire());
Надудонил тебе на лицо.
Первый вариант - смотреть воспроизводимую анимацию
[CODE]AnimatorStateInfo currentState = GetComponent<Animator>().GetCurrentAnimatorStateInfo(1);
if (currentState.fullPathHash == Animator.StringToHash("layer.statename"))
{
YobaFunktciya(mamku, ebal);
}[/CODE]
Второй вариант - нахуярить в аниматоре скрипт на событие, чтобы в onStateExit было переключение переменной
[CODE]if (GetComponent<Animator>().GetInteger("tolshinamamki") >= 1000)
{
YobaFunktciya(mamku, ebal);
}[/CODE]
Просто создай событие в конце анимации в окне Animation, и в нем вызывай свой Fire()
есть 2 (или более) почти одинаковые модели, с ригами и вся фигня. Разница в том, что одна "голая", другие "одетые", как "одеть" "голую" используя части "одетой"?
В плане, как конкретно вырвать из "одетой" модели одежду, и пришивать её когда нужно?
Не получится. У меня такой код:
while (this.amountOfAttack > 0) {
for (float i = 0; i < this.attackSpeed; i += Time.deltaTime) {
yield return null;
}
if (enemy != null)
yield return StartCoroutine(this.Attack(this.enemy)); else
Debug.LogWarning("Enemy Already Died");
this.amountOfAttack -= 1;
}
Ну или скажи как лучше переделать
Это в корутине ясное дело.
Ты хочешь в игре как-то вырезать часть 3д-модели и присоединить к другой? Ты что, ебанутый? Это не так делается. Это делается через модульность: т.е. одежда - это отдельные модели
anim = GetComponent<Animation>();
anim.Play();
yield return new WaitForSeconds(anim.clip.length);
//Тут твои действия
Ну я вот и спрашиваю "как?".
Пока я не понял, что из себя должна представлять одежда, и как её прикреплять на модель тела, так чтобы она анимировалась вместе с ним.
Есть туториал?
Хм. Вот я смотрю на ассет морф3д, и они там делают так: все меши сразу на одной модели, а потом скрывают/показывают нужные. Вариант конечно, но мне чёт кажется топорно это, хотя кто я такой, по сравнению с ними.
Ну бля, все обычно делают голую основу. И на нее навешивают уже меши одежды. Анимируется все это по костям самой основы, поэтому бесит, что стальные кирасы гнуться как какие-нибудь майки. Серия тес, почти каждая сетевая дрочильня с кастомизацией шмоток, да сотни их. МИРОВАЯ ПРАКТИКА.
Ну это понятно, вопрос в том, как оформить кусок одежды, как отдельный префаб, при этом, чтобы его можно было насадить на префаб тела, и одежда получила анимацию.
Префаб и не нужен, особенно если делаешь игру один, хватит простого скрипта, ну только если ты умеешь в код.
Ты скажи чего точно хочешь, я расскажу как оптимальней этого достичь.
Потыкай в Unity Multipurpose Avatar.
Я хочу, иметь модель тела, клепать на неё одежду, и потом одевать, при этом, чтобы аватар тела её анимировал.
Т.е. обычная переодевалка персонажа, как в симах например.
Вот сейчас, у меня такая проблема: SkinnedMeshRendere не рендерит меш. Я пробовал и просто отрывать кусок от модели и закидывать в сцену, и создавать пустой гейм-обжект и закидывать туда меши, но отображения нет. В первом случае меш пропадает как только нажимаю плей, а во втором вообще сразу нифига нет. Всё это делаю просто через едитор, не в скрипте.
Так, ладно, что-то получилось зафигачить через пустой геймобжект - меш есть. Но кости не подхватывает, просто клеится к части тела криво и висит.
Бля, короче, как я понял, вариант только - сделать модель, которая будет заранее разбита на определенные участки, которые будут представлять из все возможные вариации модификаций, и потом уже на нужный участок натягивать нужный меш.
https://www.assetstore.unity3d.com/en/#!/content/8 я тут мимо проходил, тоже как-то задавался вопросом, но забил. Скачай, раскуроч, авось чем поможет.
> иметь модель тела, клепать на неё одежду, и потом одевать, при этом, чтобы аватар тела её анимировал
Нахуя? Отрезаешь в своём блендере тело от скелета, накидываешь на скелет свою одежду, делаешь риг. У тебя получается куча одежды с анимациями, потом вешаешь туда контроллер от персонажа и скрываешь с сажей ненужное. одежда.позишн = игрок.позишн; одежда.парент = игрок.трансформю
Вот этот дело говорит. Так и делай.
Так создай папку Resources. Ты можешь ее где угодно создать. В коде для загрузки пиши Resources.Load()
Чёт не понял.
И вообще, если и понял хотя бы немного, то вопрос, как заставить аниматор анимировать 2+ скелета (ведь у каждой одежкий свой скелет?)? Или иметь несколько аниматоров, но это стрёмно как-то.
Оно живёт где то внутри какого то неймспейса. Тыкни в GlobalFog и посмотри.
Так вот, у меня два вопроса:
1. Есть нормальные туторы на русском для юнити?
2. Что изучать как сценарный язык? C# или JS? Второй вроде легче, но первый функциональные? Какой лучше учить, если я буду клепать клоны террарии и морровинда?
2. C#, почти все туториалы на нем
Но сейчас проект заброшен, новые версии не поддерживаются и получилось довольно много лагов.
Посоветуй нормальные и актуальные ассеты такого же типа.
И если можно где-нибудь спиратить, чтобы попробовать, тоже ок.
Ты чо даун?
TextAsset text = Resources.Load<TextAsset>("1.txt");
System.IO.StreamReader sr = new System.IO.StreamReader(new System.IO.MemoryStream(text.bytes));
Debug.Log(sr.ReadLine());
> bytes
С юнетом короче дела обстоят так: пока нет отдельной либы для сервера, придется писать с if(isLocal) и т.д., ибо возможно только взаимодействие уровня клиент-клиент. Для авторитарного сервера нужна отдельная либа по-хорошему не будешь же ты запускать клиент в хедлес-моде на своем сервере которая у юнитеков пока только в планах - обещают зарелизить в 5.4, которая будет аж 16 марта 16 года. Так что либо страдай, либо жди.
Успешно. Но возник вопрос создания атмосферных условий.
Можно ли сделать несколько атмосферных условий скажем дождь, снег, ливень. И задать им рандом.
Допустим ливень длится в пределах от Х до У
Затем Снего от х до у
И задать некоторым явлениям частоту ?
Как вы пишите погоду в играх ?
Скриптами ?
Чтобы создать дождь/снег, нужно использовать частицы. Ещё желательно изменить скайбокс на соответствующий и задать туман на камере.
Насчёт частоты, всё это легко задаётся в коде. Погромировать умеешь? Если нет, то забудь о Юнити на время, и займись изучением C#.
Подводные камни в том, что разброс разный, в зависимости от того куда смотрит игрок, в одном положении его может почти не быть, когда в другом он даже больше нужного.
Debug.DrawRay(transform.position, (transform.forward + new Vector3(rand,rand,rand))*100);
Нормализовавыл как мог, безрезультатно.
Тут же дело не в длине, а в направлении.
Но вообще тригонометрия не мой конек.
Ты добавь внутрь объекта игрока новый пустой объект, который будет как бы прицелом и используй его transform.
А зачем, он же тоже будет поворачиваться за игроком, и вылезет опять эта фигня.
Debug.DrawRay(transform.position, (transform.forward + new Vector3(rand,rand,rand))100);
заменится на
Debug.DrawRay(transform.position, (object.transform.position + new Vector3(rand,rand,rand))100);
разве нет?
Лучше чем у меня, сейчас по горизонтали есть разброс.
Но заметил, слева на право разброс в 2 раза больше, чем снизу вверх, не замечаешь?
А хотя нет, просто окошко было не совсем квадратным.
В общем спасибо, думаю ошибка моя была в рандоме.
float numb = Random.Range(0,20)/100f;
int sign = Random.Range(0,2);
if(sign > 0) numb *= -1;
Разброс легко проверить, если перевести камеру в ортографическую перспективу.
Spatial Blend сдвинь до значения 1(вправо до конца).
так сделай куб с колесами и посмотри. че за подход артиста такой - сначала делать, а потом думать как сунуть сделанное?
Я про это ничего не знаю. Какие есть варианты, может, знаете?
>SendMessage
Не используй это говно - это приманка для ньюфагов, чтобы они поскорее обосрались и бросили юнити.
Вызывай методы напрямую из класса.
>Например включать-выключать фонари при смене времени суток.
public delegate void _NastupilVecher();
public static event _NastupilVecher NastupilVecher;
void Start()
{
NastupilVecher += () => fonar.Vkluchit();
}
void Update()
{
if (vremya == "18.00")
NastupilVecher();
}
На самом деле это очень удобная вещь которой я постоянно пользуюсь. Тут особенность в том, что ты отправляешь сообщение GameObject'у, и получают его все компоненты это объекта.
Еще можно напиcать функцию как coroutine и событие автоматически стартует как корутина.
ёбнутый чтоль в апдейте это проверять? так и представляю как на карте тысяча фонарей проверяет каждый фрейм не наступил ли вечер. висит гденить геймобжект, смотрит "хопана вечер. ребята, ловите мессажку!" и фонари включаются.
В апдейте проверяется время. Когда на часах 18.00, запускается евент "вечер", и все методы, подписанные на него.
Я пилю свой велосипед как замена корутин. Для этого есть отдельный класс, где я пишу действие. Например, я делаю действие пойти посрать, и передаю ему ссылку на юнит (это мне кажется удобнее, чем описывать все действия в самом компоненте юнита).
Тут главная особенность что должно выполняться одно действие за раз, т.е. остальные должны приостанавливаться. Дефолтные корутины так не умеют.
Ну вот туда мне и надо передавать сообщения.
Для особо понятливых: скрипт висит в единственном экземпляре, на единственном объекте, который и проверяет, наступил вечер или нет. А все остальные объекты, которым нужно что-то сделать с наступлением вечера подписываются на событие и просто ожидают.
public class Fonarik: MonoBehaviour
void Start()
{
VecherOzhidane.NastupilVecher += () => light.enabled = true;
}
Короче, я хуево обьясняю теорию, курите евенты сами: http://unity3d.com/ru/learn/tutorials/modules/intermediate/scripting/events
и не страдайте больше хуйней со своим сендмесседжем, а то у меня бомбит от вас
>Тут главная особенность что должно выполняться одно действие за раз, т.е. остальные должны приостанавливаться
Ну короче как в пошаговых стратегиях: например, пойти в эту клетку, атаковать того. Все действия складываются в стек, а потом выполняются. Только у меня еще такая фишка, что можно в середине одного действия начать другое, а после его конца вернутся к старому.
а, просто через жопу пишешь. глобально это конечно лучше, но для мелкого говна эвенты проще.
>>186092
Алсо.
http://wiki.unity3d.com/index.php/CSharpMessenger_Extended
на тему мессажек есть приятный код на вики.
Тащемта, у него нигде даже намёка не было, что это делается внутри фонарика.
Ну тут тоже AddListener и прочее. В SendMessage мне нравится то, что в одном компоненте написал SendMessage("Huy); а в другом void Huy() {} и все, компоненты у тебя связаны.
Ладно, сейчас попробую сделать так.
Опишите в общих чертах.
У меня Unity5 и не получается сделать про префабам как на уроке. На просто префаб WheelCollider не вешается. На модели он отображается неправильно (т.е Горизонтально, а колесо стоит вертикально). Вращать его не получается.
Вообщем скинте НЕ русскоязычный мануал или напишите как вы делали машину. С меня помощь в вашем проекте. Или няши.
Проблем с программированием нет. Но дело в то что я в области ммо вообще уровня 1/0
Но даже тут разберусь.
Но что меня смущает - как быть с серваком. Я у мамки нищеброд, поэтому на время разработки купить сервак даже за 50 рублей в месяц не смогу (в основном потому что - кто сказал что я вообще что-то сделаю? а тратить надо с пользой, копейка рубль бережет)
Так то потом можно будет подумать о покупке сервака. но сейчас то я только начал что-то делать и может через неделю брошу.
Так вот, есть ли бесплатные альтернативы? Мне же для разработки не нужны сто-пятсот онлайна, десятка игроков хватит. Локалхост не вариант - ибо хочу сразу все показывать миру.
Вроде что-то слышал что в юнити есть... но нихрена.
И желательно если вы по предложенному дадите уроки (чтобы сразу вкатиться, а не осваивать методом тыка)
Зависит от того сколько трафика приходится на каждого пользователя. И так сложно сказать, пошукай на сайтах типо Ucoz, ещё гугл предлагал бесплатные серваки когда то.
Возьми Photon и поставь на свой локалхост или ещё куда. Бесплатен пока не будет 100CCU. Там в примерах есть даже скелет для ММО.
ну а если на него напихали скриптов то ведь должны быть и скрипты, но их нет, че теперь сосать?
Читай что написано на товаре который покупаешь. Если он из раздела "модели" - значит там модели.
То есть код выглядит так: animController.Crossfade ( "TargetAnim", 0.2f );
И он должен всегда делать за 0.2f. А он делает иногда за 0.2f, а иногда за целую секунду, пидор! В зависимости от того, из какой анимации кроссфэйдит.
А, все, я имбецил. Походу надо было CrossFadeInFixedTime(). Уёбываю.
ну трафика будет... как в обычной браузерке. Клон РПГ МО
Вот прикидываю
Игра близка к пошаговым рогаликам (хотя и не пошагово). двигаются только игроки (мир и мобы не двигаются). анимаций нет (да я и не художник чтобы их делать). бой индивидуален (другие его не видят)
Вообщем думаю совсем мизерные пакеты будут.
>>186175
>Возьми Photon и поставь на свой локалхост или ещё куда. Бесплатен пока не будет 100CCU. Там в примерах есть даже скелет для ММО.
А есть совсем минимальный пример? не обвешанный кучей говнокода?
Скачал я SDK фотон сервера для юнити
А дальше вообще не понятно что куда и как.
есть нормальные текстовые уроки? не это ебланское видео в котором очередной школьник-мудак что-то там вякает, а нормальный текстовый урок по самым основам - хотя бы чат написать... А то пиздец. Примеры из SDk не работают. требуют App ID. Иду на их сайт, создаю проект - оно меня шлет нахуй с сообщением что какого-то адреса ей нет
Sorry, but the page you were trying to get to does not exist.
You may have just mistyped the address or surfed an out-of-date link.
Try browsing our homepage to find what you were looking for.
Конечно блядь нет страницы - я же только ее создаю
Все таки удалось создать, получить апид - юнити его не видит. Тупо без сообщений автодисконет в их примерах. Пиздец.
Документации вообще нет. И только один еблан-школьник со своими 100500 видео как запустить юнити чтобы делать ммо (при этом 100499 видео - это именно запуск юнити)
На этом самом фотоне работает наверно почти всё сетевое что есть на Юнити по всему миру. Система просто не предназначено для детей и приравненных к ним. И документация там хорошая, описывает всё что надо.
через жопу оно все работает
Вот видео
http://doc.photonengine.com/en/onpremise/current/getting-started/photon-server-in-5min
2:40 где-то. Запуск примера. Какого хрена оно мне вместо того что там, выбивает экскепшены?
Я пускал по той же инструкции и у меня всё чудесно взлетало. Но в конце мы решили использовать их облако.
оказалось что фейлит их ключ лицензии (пиздец). удалил ключ - и тоже заработало
А вот как запустить примеры в юнити - так и не понял. Так откуда брать App id и где брать серваки для этих примеров (должен же мой клиент на юнити с кем-то обмениваться - а с кем)?
В SDK даже внятного ридми нет (то что есть - только как установить фотонвские либы, и то что нужно проделать то что на видео выше - а как все это запускать - вообще нигде не написано).
И документации полно по Photon Network.
А мне надо по Photon Server. Гугол упорно пытается мне доказать что мне надо Network (пишу Server - дает ссылки на Network)
Млять - легче самому сервак написать - там за пять минут пилится обмен пакетами между серверным приложением и юнити... даже читать ничего не надо (только понимать про сокеты). Написал бы, если бы кто-то где-нибудь давал бесплатное место (на время разработки) под самописное
Вот это говнокод. Не пиши так никогда.
1. Ты можешь запустить свой сервер. В настройках в клиенте есть опции.
2. Если тебе не нужна серверная логика то просто используешь их облако. Куча игр там по p2p работает.
Там всё написано в документации, ясно и понятно, с примерами, по шагам. Но если ты дурак - то тебе оно не поможет, лол.
> легче самому сервак написать
Ну и пиши.
В UE4 такая-же система. Никаких if'ов там нет. Смотри какая-там архитектура.
Если коротко, то там объекты поделены на те, которые реплицируются и те, которые только на стороне игрока. В реплицицируемых объектах находится вся инфа, на основе которой меняется состояние игры. Например, на локальной машине есть PlayerController, а реплицируется PlayerState. То есть тебе надо делать архитектуру таким образом, что твой контроллер работает непосредственно только с PlayerState, а уже игровые скрипты берут инфу только из PlayerState
>Там всё написано в документации, ясно и понятно, с примерами, по шагам. Но если ты дурак - то тебе оно не поможет, лол.
Дай ссылку. потому что тут
нихуя не написано
http://doc.photonengine.com/en/onpremise/current/getting-started/photon-server-intro
полезного. сервак и одновременно клиент чата, долбоебическая установка фотона (которая нихуя не работает с ключом)
и много воды о том как все круто.
Ни одного примера как все это дело запустить в юнити (пиздец, я не могу скачать их гиганскую парашу Unity Island Demo - и ковыряться в миллионе говнокода (опять же, на самом сайте ни одной внятной строчки про то что там делать)
Window->Photon Unity Network->Highlight Server Settings. Ты просто возьми и прочитай ёбаную документацию. Медленно и по шагам. Там ВСЁ написано.
>Window->Photon Unity Network->Highlight Server Settings.
Мда. ну ок. чел смотри на скрин
Ты видишь суслика на скрине? Я не вижу
А теперь я поясняю
У МЕНЯ PHOTON SERVER
Нет, ты меня не понял. У меня PHOTON SERVER
Повторить еще раз?
У меня PHOTON SERVER
Почему ты мне пишешь про photon network? Это вообще другая хуйня
Еще давай про клауд вспомни
>>186301
>Медленно и по шагам. Там ВСЁ написано.
дай уже ссылку на документацию. Я ее обязательно прочту. Но я не вижу никакой документации. Вот в чем дело.
>>186302
>Знаешь почему ты должен её прочитать?
Да я согласен ЧИТАТЬ. Где ее читать?
>Window->Photon Unity Network->Highlight Server Settings.
Мда. ну ок. чел смотри на скрин
Ты видишь суслика на скрине? Я не вижу
А теперь я поясняю
У МЕНЯ PHOTON SERVER
Нет, ты меня не понял. У меня PHOTON SERVER
Повторить еще раз?
У меня PHOTON SERVER
Почему ты мне пишешь про photon network? Это вообще другая хуйня
Еще давай про клауд вспомни
>>186301
>Медленно и по шагам. Там ВСЁ написано.
дай уже ссылку на документацию. Я ее обязательно прочту. Но я не вижу никакой документации. Вот в чем дело.
>>186302
>Знаешь почему ты должен её прочитать?
Да я согласен ЧИТАТЬ. Где ее читать?
Значит ты нихуя в свой проЭкт не добавил. Потому что твои руки растут из анала. Знаешь, я знал человека который лет 6-7 назад умудрился сломать uTorrent и так ничего не суметь скачать. Почему? Потому что он своими кривыми шаловливыми ручками полез внутрь и всё сломал к хуям. Причём до него идея "просто следуй тупой инструкции" не доходила вообще.
Кроме сервера тебе ешё клиент нужен, дебилушка. Сервер совершенно отдельное приложение не требующее Юнити вообще.
И нахуя я дебилам помогаю?
Очень охренено развивать телепатию разбираясь в том чего просто нет(!!!). Там в SDK только клиент. Сервера там нет.
А в SDK сервера нет кода для этих примеров. просто нет (точнее есть только для двух - но опять же. .. юнити требует апп ид, а где я его возьму на локалхосте?)
>>186306
ЭТО НЕ МОЙ ПРОЕКТ. ЭТО ИХ ПРОЕКТ. Я СКАЧАЛ SDK НА ЮНИТИ. ОТКРЫЛ ПАПКУ С ПРИМЕРАМИ. ОТКРЫЛ ПРИМЕР. НИХУЯ НЕ РАБОТАЕТ. У НИХ НЕ РАБОТАЕТ. Я ТАМ НИ СТРОЧКИ НЕ МЕНЯЛ
>>186306
>Кроме сервера тебе ешё клиент нужен, дебилушка. Сервер совершенно отдельное приложение не требующее Юнити вообще.
Дебилушка. это клиент.
https://www.photonengine.com/Download/Photon-Unity3D-Sdk_v4-0-0-10.zip
Сам скачай и попробуй запустить
>>186307
>И нахуя я дебилам помогаю?
И ГДЕ ТЫ МНЕ ПОМОГ?
Начал писать какую-то хуйню про нетворк.
Начал писать про какую-то мифическую документацию - где ссылка на эту документацию хоть?
Здесь
http://doc.photonengine.com/en/onpremise/current/
нихуя нет
(повторю - с серваком я более менее разобрался. непонятно как его к юнити присобачить и как потом сервер в фотон отправить (локал хост это замечательно - но я фотон взял потому что мне нужен бесплатный хост для разработки)
Блядь, меня бесит эта ебанная капча. Абу - повесься. Я заебался ее вводить потому что ты не знаешь про динамические айпишники. Да еще и дауны наделали фоток где нихуя не видно
Да, у меня бомбит. Я уже восьмой час (семь часов на работе и час дома) пытаюсь разобраться и сделать простой чатик.
Очень охренено развивать телепатию разбираясь в том чего просто нет(!!!). Там в SDK только клиент. Сервера там нет.
А в SDK сервера нет кода для этих примеров. просто нет (точнее есть только для двух - но опять же. .. юнити требует апп ид, а где я его возьму на локалхосте?)
>>186306
ЭТО НЕ МОЙ ПРОЕКТ. ЭТО ИХ ПРОЕКТ. Я СКАЧАЛ SDK НА ЮНИТИ. ОТКРЫЛ ПАПКУ С ПРИМЕРАМИ. ОТКРЫЛ ПРИМЕР. НИХУЯ НЕ РАБОТАЕТ. У НИХ НЕ РАБОТАЕТ. Я ТАМ НИ СТРОЧКИ НЕ МЕНЯЛ
>>186306
>Кроме сервера тебе ешё клиент нужен, дебилушка. Сервер совершенно отдельное приложение не требующее Юнити вообще.
Дебилушка. это клиент.
https://www.photonengine.com/Download/Photon-Unity3D-Sdk_v4-0-0-10.zip
Сам скачай и попробуй запустить
>>186307
>И нахуя я дебилам помогаю?
И ГДЕ ТЫ МНЕ ПОМОГ?
Начал писать какую-то хуйню про нетворк.
Начал писать про какую-то мифическую документацию - где ссылка на эту документацию хоть?
Здесь
http://doc.photonengine.com/en/onpremise/current/
нихуя нет
(повторю - с серваком я более менее разобрался. непонятно как его к юнити присобачить и как потом сервер в фотон отправить (локал хост это замечательно - но я фотон взял потому что мне нужен бесплатный хост для разработки)
Блядь, меня бесит эта ебанная капча. Абу - повесься. Я заебался ее вводить потому что ты не знаешь про динамические айпишники. Да еще и дауны наделали фоток где нихуя не видно
Да, у меня бомбит. Я уже восьмой час (семь часов на работе и час дома) пытаюсь разобраться и сделать простой чатик.
Или вы только пиздеть можете и называть всех школьниками и дебилоидами, а сами даже не осили (да-да, вы там клауды юзаете)
>как сделать свой сервер
>без задней мысли
Ты же понимаешь, что тут тебе ответят только так. Может кто-то и умеет в это, но врядли уже поможет тебе.
Photon создан для даунов, которым лень разбираться в устройстве сетевого взаимодействия. Так что его даже школьник может освоить. Но раз уж ты не смог его освоить, то это уже клиника.
1) это не я начал про школьников и дебилоидов. Меня просто сбесил даун который даже не знает чем отличается нетворк от сервера, но врубил режим умного.
2) дайте мне документацию. мне больше ничего не надо. просто документацию где млять написано что нужно сделать чтобы добавить свое приложение - даже млять в локалхост - потому что даже так хуй добавишь (там надо руками конфиги править - но млять, я сделал - нихуя не работает)
>>186326
ПРИ ЧЕМ ТУТ СЕТЕВОЕ ВЗАИМОДЕЙСТВИЕ?
Я не могу настроить сам ебанный фотон.
Я могу написать с нуля клиент сервер.
Тут блядь вся ебля в том что
- непонятно как этот ебанный сервер запустить
запускаю PhotonControl.exe. В нем только Lite (где блядь их остальное мудачье дерьмо?)
- закрываю. правлю руками PhotonServer.config (это пиздец - руками... мы в каком веке живем чтобы текстовые конфиги в блокноте править?). Нихуя не добавляется. Да и оно понятно. потому что ихний MmoDemo в PhotonControl тоже нету. То есть эти ебанные мудаки даже сами нихуя не смогли настроить
И это только сервак.
Как ебашить в юнити клиент - я уже не знаю.
Реально бы за это время уже написал свой сервак без всякого мудачества. Потому что код писать - элементарно.
МНЕ НЕПОНЯТНО КАК ВСЕ ЭТО ДЕРЬМО НАСТРОИТЬ
>>186326
>Photon создан для даунов
Все эти дауны сидят на клауде и нетворке. А сервак почти никто не осилил. В Утубе есть только двое русских долбоебов, и трое английских - которые пытались это освоить... Но блядь чтобы они в аду горели за свои видео - почему было сложно просто выложить то что у них получилось? Там 90% работы надо делать во всяких конфигах, а они блядь видео сняли. Пиздец.
1) это не я начал про школьников и дебилоидов. Меня просто сбесил даун который даже не знает чем отличается нетворк от сервера, но врубил режим умного.
2) дайте мне документацию. мне больше ничего не надо. просто документацию где млять написано что нужно сделать чтобы добавить свое приложение - даже млять в локалхост - потому что даже так хуй добавишь (там надо руками конфиги править - но млять, я сделал - нихуя не работает)
>>186326
ПРИ ЧЕМ ТУТ СЕТЕВОЕ ВЗАИМОДЕЙСТВИЕ?
Я не могу настроить сам ебанный фотон.
Я могу написать с нуля клиент сервер.
Тут блядь вся ебля в том что
- непонятно как этот ебанный сервер запустить
запускаю PhotonControl.exe. В нем только Lite (где блядь их остальное мудачье дерьмо?)
- закрываю. правлю руками PhotonServer.config (это пиздец - руками... мы в каком веке живем чтобы текстовые конфиги в блокноте править?). Нихуя не добавляется. Да и оно понятно. потому что ихний MmoDemo в PhotonControl тоже нету. То есть эти ебанные мудаки даже сами нихуя не смогли настроить
И это только сервак.
Как ебашить в юнити клиент - я уже не знаю.
Реально бы за это время уже написал свой сервак без всякого мудачества. Потому что код писать - элементарно.
МНЕ НЕПОНЯТНО КАК ВСЕ ЭТО ДЕРЬМО НАСТРОИТЬ
>>186326
>Photon создан для даунов
Все эти дауны сидят на клауде и нетворке. А сервак почти никто не осилил. В Утубе есть только двое русских долбоебов, и трое английских - которые пытались это освоить... Но блядь чтобы они в аду горели за свои видео - почему было сложно просто выложить то что у них получилось? Там 90% работы надо делать во всяких конфигах, а они блядь видео сняли. Пиздец.
Перед покупкой захотелось прост пощупать
https://www.assetstore.unity3d.com/en/#!/content/36879
А кота в мешке брать не хочется.
Ещё можно объявить Update виртуальным, и потом в базовом классе переопределить его.
Точнее не объект, а сам инспектор.
Какой уровень знания c# нужен для использования юнити?
Любой, но ты с ним сделаешь говно. Для того чтобы делать хорошо нужно отличное знание множества вещей.
Начнем с того, что фонарям вообще скрипт ни к чему. Найти их можно по тегу. Никаких событий не надо
Поиск по тегу оптимизирован.
Кроме того, ты используешь анонимные функции с делегатами. Это выдает в тебе долбоеба. Не делай так никогда.
Для этих целей в юнити есть замечательный UnityEvent, который сам подчищает за тобой говно. Кроме того можно задать события в редакторе.
Алсо, хардкодить каждое игровое событие как минимум неразумно. Для этих целей лучше описанная тут >>186100 система
>Кроме того, ты используешь анонимные функции с делегатами
Вот тут согласен.
>Не делай так никогда
А тут иди нахуй, я твоих советов не спрашивал.
еще раз доебешься до примера работы ивентов, состряпанного для 10 секунд для местных долбоебов - умрешь от рака, мразь
Ты балбес. Все теги внутри движка хранятся как списки объектов. Разницы производительности между кешированием в переменную и поиском по тегу практически нет
То, что их уже нельзя удалить из делегата. Загрузишь другую сцену, фонари удалятся и будешь ловить эксепшны.
Это да, но можно просто обнулить все делегаты при загрузке новой сцены.
я бы не стал искать фонари по тегу. это-ж каждый раз надо щемится в компоненты. лучше уж пусть на префабе фонаря будут все нужные ссылки в скрипте, которые он сам переключает.
а то потом вместо переключения света будет какая-нибудь нелепая хуйня выключатся, или ещё смешней - какой-нибудь артист-аутист поставит костру тег фонаря, сидя у которого можно внезапно обнаружить что он перестал светить.
Непосредственно по Юнити есть. Так чтобы "с нуля" - годных нет. Но ты сможешь, безусловно, накидать префабов и даже заставить с помощью ударов кувалды что то заставить работать.
Я понял, спасибо тебе.
Так может я аутист и мне нужны видеолекции?
Он нулевой, судя по идиотским вопросам. Начальный - это когда ты пытаешься кодить сам, но у тебя не получается. Нулевой - когда просишь всё разжевать, переварить и насрать в рот.
Тебе ж сказали уже - http://unity3d.com/learn - там всё самое годное, плюс референсы на затрагиваемые вопросы, и готовые материалы.
Когда пытаюсь поставить Wheel Collison в качестве плюса к пустому гейм обьекту он не отображается. А если применя. к модельке колеса он под углом 90'. Повернуть не получается ЧЯДНТ ?
И вот вопрос, как думаешь, что лучше:
1) На стволе только визуальная часть, а рейкаст определяющий попадание идет из экранного прицела.
2) Рейкаст определяющий попадания идёт из ствола, а прицел, не фиксирован на экране, а следует за хитом рейкаста.
Мне больше нравится второй, типа реалистичнее, но не хуйня ли это?
https://www.youtube.com/watch?v=-cvDkltykQA
>>186497
>есть ли годные видеолекции по юнити с нуля?
Только что появились.
Без разницы. В максе пейне, например, был реализован второй вариант, а первый - в 80% шутанов от третьего лица.
ну, чувак, ну что с тобой, ну? Чего ты дурак то инструкцию открыть не можеш? смотри, вот тебе колеса, работчие, крутятся даже. На, ну посмотри как сделать то это, тут же просто хуем нажать и сразу все работает. Смотри я даже дам тебе это как пример.
http://rghost.ru/7pDLc67M9
>>186497
да заливают тебе, че ты, успокойся. не надо там знать ничего выше базового синтаксиса чтобы начать. это если у тебя большая мечта надо хоть представлять как ты её исполнять собрался, а если ты там куб на колесах захотел то можно и дураком побыть.
>у тебя большая мечта
А если я хочу сделать текстовую игру, с сменяющимися картинками и несколькими вариантами ответа, а потом наращивать её по мере сил, прикручивая свистелки и перделки?
Сложновато неучу будет то, текстовые игры хитрей чем кажутся же. Ещё и каждая прикрученная фича может отправить переписывать кучу кода.
Хотя для начала можно и обойтись нулевыми навыками, картинки с текстом выводить в юнити то попроще чем колеса к хую приделать.
Пермного благодарен анон.
Но как ты повернул коллайдеры ?
У меня вся трабла была в том что ОНИ НЕ ПРАВИЛЬНО СТАВИЛИСЬ СУКА.
Они у тебя автоматом по кругу пошли ?
и какая версия юньки у тебя ?
>картинки с текстом выводить в юнити то попроще
Ты и так уже мне помог, но укажи в какую сторону копать, что бы картинки выводить и варианты ответов присобачивать. Спасибо.
Я кажись допёр анонас, спс за модель. Ща выложу результаты.
Поясни что я должен сделать с моделью. Скрипт не важен, умею сам писать. Просто обьясни как поставить ебучие коллайдеры. И что ты делал.
>>186598
я их и не поворачивал, я просто собрал изначально все в нужном положении, а потом приделал сверху что-нибудь что позволило бы мне понимать что я вижу.
юнити со своими колесами любит возникать на тему того в каком направлении смотрит вон тот самый верхний обьект в иерархии. если повернешь колеса на 90 градусов, то они всеравно в итоге повернутся вперед. просто прикрепи колеса к пустому геймобжекту и крути уже все внутри его локального пространства.
>>186600
картинки с текстом вон сюда в UI http://docs.unity3d.com/ru/current/Manual/UISystem.html
а варианты ответов то посложней уже, придумай как хранить тексты и картинки сначала.
я бы хранил для удобства в том что уже дает юнити.
http://docs.unity3d.com/ru/current/Manual/class-ScriptableObject.html
>картинки с текстом вон сюда в UI http://docs.unity3d.com/ru/current/Manual/UISystem.html
>а варианты ответов то посложней уже, придумай как хранить тексты и картинки сначала.
>я бы хранил для удобства в том что уже дает юнити.
>http://docs.unity3d.com/ru/current/Manual/class-ScriptableObject.html
Спасибо, ты мой герой.
т.е если я их так присобачу будет норм ?
Вагон чая тебе братуха.
В первую очередь надо будет занять логикой для противников и правилами генерации контента. Бюджет считай нет, но небольшое вознаграждение выделять сможем.
ну ладно. смотри. картинку даже сделаю тебе.
геймобжект на котором видит RigidBody
геймобжект который висит на геймобжекте сверху
гейможект на котором висит колесо
на гейобжекте на котором висит колесо, висит графон колеса
много колес.
к колесам приделался куб
и ничего не пидорасит, все катается взад-вперед.
Спасибо няша,ты охуен.
А скрипт я так понял отвечает просто за вращение колиззи колеса ?
Для регуляцмм скорости я так понял нужно изменять массу rigid body тачки. Еще раз спасибо за помощь.
Не удержусь и скажу - какой же охуенный у вас художник, эти черепа в банках просто блеск, искренне желаю вам удачи со взлетом.
Адин мЭш))) Инфа сотка, Карл)))))
есть какой то способ в самом юнити узнать количество полигонов в сетке, или только вручную их считать?
Всё, осталось скрипт написать и затекстурить модель.
нет, не сложная. меня просто теоретически вопрос интересует. в моём случае думаю лучше на 3х капсулах будет. хотя, разница не почувствуется
Смотри в первом случае ты можешь стрелять из серидины т.к коллайдера там нет. А в другом у тебя коолайдер от середины и до кончиков корабля. Но в первом варианте у тебя остаются незаколлайдеренные (во слово, ебать) и если ты будешь делать скрипт на дамаг кораблю он будет проходить мимо в тех местах.
то есть в идеале всегда делать мэш максимально простым, если это не повредит функционалу, хоть даже из нескольких малополигональных сеток, чем использовать одну сетку с кучей мелких треугольников? или при рэндеринге мэш немного хавает?
Мэш это модель которую ты делал в 3д редакторе.
Коллайдер - зелёная хуита. Всё зависит от цели применения.
А много хавает это лол. Что бы загрузить пеку на нихуёвый уровень тебе таких под пол сотни понадобится.
Делай@Тестируй, больше ничего сказать не могу.
оки, спасибо
Один меш из 100 треугольников прорисуется быстрее 10-и мешей из 10 треугольников. Какой нахуй мэш, ты где таких слов нахватался? https://translate.google.ru/#en/ru/mesh
Один треугольник должен покрывать более 2 пикселей (говорят что оптимально 10) на основном для модели расстоянии от камеры. Иначе будет алайсинг. Плюс ДИПы - 1 меш на 1000 треугольников нарисовать быстрей чем 10 по 100.
Нашли уже кого-нибудь. Я бы хотел поучаствовать в команде. Просто не хочу писать, если уже нашли.
[CODE]transform.GetComponent<Rigidbody>().MovePosition(transform.position + transform.forward * Time.deltaTime);[/CODE]
Чего-то хуёвенько, моделька останавливается сразу, а хотеть не сразу, чтобы к телу применялись силы и тело толкало предметы.
Я посмотрел, что не только у меня такие проблемы
http://answers.unity3d.com/questions/275016/updatefixedupdate-motion-stutter-not-another-novic.html
Может быть всезнающий анон может поделиться собственными наработками?
>как сделать плавное движение камеры в 2д, например при драге
значит у тебя фпс скачет. надо делать интерполяцию между значениями Time.deltaTime
Time.smoothDeltaTime
хотя я и сделал ошибку, вместо апплай форс я имел в виду Rigidbody.AddForce. но и ты хуесос, потому что ForceMode.VelocityChange одна из доступных опций этой функции.
Ща посмотрим, как зделоли
А как мне тогда детектировать попадания, если у меня они по rigidbody идут?
Рейкаст.
Алсо, в контроллере вроде и так есть физ. события. Поэтому боди не нужен
Я иммею ввиду просто команды а не готовый скрипт.
Сам капчую с телефона ибо провайдер ПОМЕНЯЛ ВАМ ТАРИФНЫЙ ПЛАН НА БОЛЕЕ УЛУЧШЕННЫЙ ! ИДУТ ТЕХ РАБОТЫ ! Ща у друга сижу, скиньте в тред.
В частности интересует следующее.
Команда ограничение угла
Придание вращению коллайдеру колёс. (вангую через Vector3 rotate)
Триггер не делает физичексих взаимодействий.
Грубо говоря зашёл вышел никакие проблем.
А коллижен это другое.
можешь раскрыть суть collision'a? коллизия возникает при взаимодействии двух тел, у которых есть активный компонент rigidbody?
Мобов лучше делать как самостоятельные "машины", управляемые PlayerController'ом. Плюс в том, что потом можно легко переделать для сетевой игры.
Например, ты делаешь функцию передвижения mob.GetComponent<Mob>().GoToPosition(old_pos + new Vector3.forward);
позицию сохраняешь и в каждом Update например интерполируешь transform.position между старым и новым значением.
А в playerController'е просто пишешь if (key_pressed) mob.GoToPosition(mob.transform.forward * mob.speed);
В StandartAssets есть машина, глянь у них.
> GoToPosition(old_pos + new Vector3.forward);
Этажи пиздец, потому что такой моб будет расталкивать все пропы на своём пути
Вот поэтому я в юнити-тред не захожу, местные Кирюши советуют друг другу настолько охуительные вещи, что они убивают мое чувство прекрасного. Есть православный Move - нет, буду особенным и запилю в качестве транслейта GoToPosition. И в игры этих людей мы будем играть.
Надо полагать у тебя голова и прочие части тушки - отдельные объекты. У каждого свой коллайдер и одинаковый скрипт, в котором из параметров есть модификатор урона и собственно тип части тела, можно енумом задать. В скрипте ссылка на главный скрипт игрока, в котором есть функция ПолучитьУрон(инт сколько), скрипты тушек вызывают эту функцию через себя.
В общем, у кого есть актуальная инфа про эти плагины? Ткине носом в какой-то список фич, предоставляемых при их приобретении.
Вот тебе список отличий http://unity3d.com/ru/get-unity
Если ты инди-хуинди, то Про версия тебе нахуй не нужна. Её нужно покупать только, если у тебя приличная прибыль от игры.
Ты не понял. Я не спрашиваю про Unity Pro. Я спрашиваю про плагины Unity Pro Android Unity Pro iOS.
Единственное, о чем я более-менее уверен, это сплеш-имейдж под андройд. По крайней мере, на ауктуальной версиии юнити пёрсенел, его сменить нельзя. А вот под iOS можно, хотя на ансверсах пишут, что нельзя сменить для обеих платформ.
Так вот, я хотел бы найти полный список различий. А то пока нихуя не понятно, что мне даст говно, за еще 3к баксов, кроме загрузочной иконки под ведро.
Объясните долбаебу.
Есть фонари, на них уже весит Light, при старте сцены мы сохраняем компонент в переменную. Потом скрипт Gaem в 18:00 передает, что вечер и фонари (Light) нужно включить, но Start же уже произошел, как он сработает еще раз, сцена ведь уже запустилась.
Ах да, думаю дело именно в той ООП строке, которую я нехуя понять не могу, буду рад объяснению.
Ты не с того конца пытаешься понять.
Сначала определяется статическое событие, которое представляет из себя функцию-делегата. (если ты не уверен, что означают слова "статическое", "событие" и "делегат", то тебе нужно ознакомится с руководством по C#)
Затем каждый объект типа "источник света" подписывается на это событие, создавая собственную анонимную функцию, которая включает свет для данного объекта.
В нужный момент событие вызывается в методе Update(), в результате чего одновременно вызываются все функции-делегаты, которые были созданы ранее объектами типа "источник света" и таким образом включается свет.
Тут такая идея родилась, но я точно не допру до реализации сам.
Вопрос даже не функционале юнитей, а в способе реализации. Не представляю как такое сделать.
Хочу впилить в обычный слешер интерфейс анимирования персонажа.
Что-то такое относительно простое (в плане движения модели по суставам), на уровне торибаша, с таймлайном снизу и возможностью экспорта в виде какого-нибудь формата, который потом сам пользователь может впилить в игру. А ещё лучше - с возможностью впилить в гейммплей не выходя из игры, прямо в меню настроек персонажа.
Можете даже нахуй меня послать и я даже буду с вами согласен - это поистине самая тупая идея моей жизни.
Но у меня ЗАГОРЕЛОСЬ и теперь я ХОЧУ корованы и домики такой редактор своими руками с вашей помощью.
Осталось только решить КАК.
Почитал руководство, немного понял, вроде.
Как я понял, делегат сохраняет ссылку на метод, потом мы связываем event с делегатом и вызываем в нужное время.
Gaem.OnEvining += <Название скрипта лампы>.<Функция, которая вызывает включение лампы>;
Как я понял, таким образом мы подписываемся на событие и потом вызываем его, когда нужно. Но в этой строке ведь совсем по другому.
>Gaem.OnEvining += () => {_light.enabled = true;);
Я, прочитав гайды по делегатам и событиями сделал бы таким скрипт лампы.
void Start()
{
Gaem.OnEvining += <LampaScript>.<OnLight>;
}
void OnLight()
{
_light.enabled = true;
}
Не ругайтесь, я буквально минут 10 назад закончил читать про делегаты, поэтому для многих возможно несу полную чушь.
Да нет, ты всё правильно понял. Просто делегаты могут быть анонимные или объявленные, как у тебя. Про анонимные функции(методы) тоже можно почитать в руководстве.
Я счастлив, спасибо за помощь.
>Но в этой строке ведь совсем по другому
Это лямбда-выражения. Удобный способ записи анонимных методов.
В скобках ты указываешь параметры метода. Если скобки пусты, значит метод ничего не принимает. Потом уже идёт тело метода.
https://msdn.microsoft.com/ru-ru/library/0yw3tz5k.aspx
https://msdn.microsoft.com/ru-ru/library/bb397687.aspx
Я хуй который НИЧЕГО (ну может простенький пиксельарт, что могут все) в геймдеве не умеет. Попытка в Unity принесет мне только прокрастинацию, боль, страдание и удаление программы на второй день?
>Попытка в Unity принесет мне только прокрастинацию, боль, страдание и удаление программы на второй день?
Да, если ты тупой школьник. Я уже много таких повидал. Они именно так и делают - удаляют на следующий день все программы, так как им СКУШНА((( ДАВАЙ В КАЭСОЧКУ ЛУЧШЕ ПОГОНЯЕМ))
Мне это нужно чтобы в инспекторе указывать ссылки на мои компоненты.
Я не могу написать IHuy huyObject; потому что это не сериализуется и не отображается в инспекторе. Вместо этого мне нужно писать костыли:
class HuyBehaviour: MonoBehaviour, IHuy;
class PizdaBehaviour: MonoBehaviour, IPizda;
class HuyPizdaBehaviour: MonoBehaviour, IHuy, IPizda;
То-есть пропадает сам смысл использования интерфейсов.
Можешь привести конкретные примеры, где тебе понадобилась данная фича? А то мне прямо интересно стало.
Вообще, это вполне логичное ограничение для Юнити. Почему? Потому что Юнити оперирует компонентами, а интерфейс не может быть компонентом. Представь дизайнера, который конструирует уровень. Вот видит он у объекта свойство IVehicle, и думает "что бы это нахуй значило?!". Он знает, что объект состоит из конкретных компонентов, таким образом он может понять, что от него требуется, но увидев интерфейс он нихуя не поймёт. "Ок, IVehicle, а где мне его искать, блять?! Ёбаные программисты...". Он не сможет найти нужный компонент, который реализует данный интерфейс, так как это можно увидеть только в коде.
Я использую интерфейсы, но делаю это неявно, то есть на редактор это никак не распространяется. В основном использую метод GetComponents<IHui>(). Кстати, к наследованию это тоже относится. С этим нужно быть осторожнее, умнее.
Листаю требования: умение работать в команде, желание разрабатывать игры, умение работать с системами контроля версий (чему можно научиться, посмотрев пару роликов на ютубе). Но самое главное, это "Уверенное знание C#". Это как понимать?
Пост вообще для того, чтобы мне кто-то объяснил, как проверить свои силы и понять, есть ли смысл съебывать из своего мухосранска в ДС/ДС2 ради работы юнити девелопером.
Желательно чтоб ты без гугла мог написать 70% кода (в идеале весь). Хотя некоторые конторы к гуглоюзанью лояльно относятся, особенно СТАРТАПЫ, но и денег давать будут не много.
Есть у меня объект 1, и объект 2. Объект 1 двигается всякими скриптами, а у объекта 2 просто transform.position = object1.position, тоже самое для вращения. И вот так-то оно нормально место находит, но рывками, сначала двинулся объект 1, к нему прыгнул объект 2. Как сделать чтобы они двигались синхронно?
Может object1 сделать родительским? Или попробовать обновлять позицию object2 в скрипте первого. Хотя я сам нюфаня, но вдруг прокатит.
>Как сделать чтобы они двигались синхронно?
Порядок вызова Update не определён. То есть сначала Update может вызваться у object2, а потом у object1. Посмотри LateUpdate.
http://habrahabr.ru/post/147315/
C# знаешь? А так, просто ставь себе задачи и решай их при помощи Unity. Например, я хочу, чтобы куб двигался, и чтобы камера за ним следила. Потом, я хочу, чтобы куб стрелял. И так далее.
https://2ch.hk/pr/res/534713.html
В шапке перечислены некоторые книги. После освоения шарпа - берешься за доки юнити, там все просто.
Можешь, конечно, обмазываться и видеуроками или еще чем-то, легким для восприятия и быстрым.
Однако тогда ты рискуешь оказаться в числе тех юнитидебилов, которые вообще не понимают, чего делают и нахуя это нужно.
Сначала спросил в анриал-треде, но он кажись мёртв, так что тут поинтересуюсь
Вот я хочу добавить стандартный charter controlle. Во вкладке GameObject его нет, тогда я хочу найти его через импорт пакейдж, но его там нет. Зато там есть ассет для использования визуал студио. Так же я в другом проекте скачивал Standard Assets. Но через Import Packege опять же добавить не могу, только тупо переносом папок с файлами в мой проект.
Ты заебал. Можно. И свой майнкрафт, и свой WoW, и свой крузис. Всё, что угодно.
юнити позволяет запилить 2d - браузерку ?
да
да, есть юнити веб плэер.
Правда, не забывай, что юнити - это лишь клиент, по факту, просто графическая составляющая, сервер нужно будет писать самому.
И вот тут у меня самого есть вопрос - возможно ли нормальное взаимодействие юнити и сервера на джаве?
> нормальное взаимодействие юнити и сервера на джаве
А с чего вдруг возникнут проблемы? Всё нормально будет взаимодействовать.
Как насчёт коллайдера позади канваса?
Это доступно только с бизнес аккаунтом.
Прозрачную кнопку нарисуй, дурилка.
Какие недостатки юнити вам известны?
юнити - это один большой недостаток. чем сложнее твой проект, тем неудобнее его делать в юнити, тем сильнее ты понимаешь его ограниченные возможности. конечно, некоторые скажут, пиши скрипты для редакторы, все дела. качай эти ебучие говноассеты ассеты из стора. но зачем мне инструмент, который я сам-же должен доводить до ума? я иногда думаю, чтобы дропнуть юнити и взять другой движоок.
Что, правда? Всё так и есть? Сколько игр ты на нём сделал? И сколько вообще игр ты сделал? Мне кажется, ты обычный Кирилл, который впервые решил создать нечто больше, чем очередная змейка. Столкнувшись с проблемами ты решил во всём винить Юнити, а не самого себя - тупого дегенерата.
ой, иди нахуй, манька. примитивизм юнити хорошо вписывается в роль, где ты делаешь 3д-уровни в редакторе, таская ассеты. если тебе не дай бог нужно сделать что-то программно-сложное, или какую-то необычную хитровыебаную механику - в юнити для этого просто нет ничего. более того, его архитектура будет для тебя большой помехой.
Делаешь кнопку, удаляешь объект текста, привязанный к ней. Если задал такой вопрос то геймдев это не твое.
Описываешь класс (например public class uiButton), с полями типа GameObject, RectTransform, Image, Button, ColorBlock. Инициализируешь новый объект этого класса. В конструкторе инициализируешь объекты для полей, и записываешь их в поля. назначаешь все нужные значения. Пользуешься.
А можно как-то текстуру стандартной кнопке добавить, без создания отдельного класса?
У кнопки есть компонент Image. В его свойство и назначается текстура. Тебе же говорят удалить дочерний геймобжект, на котором висит компонент Text.
Таймер с помощью класса WWW каждые 5 секунд синхронизируется с сервером.
Как узнать время, за которое от сервера до клиента доходит ответ, чтобы скорректировать полученное значение времени и избежать погрешностей?
Например на клиенте время 0:04, на сервере время 0:04, в этот момент выполняется синхронизация, посылается запрос, который отвечает клиенту, что времени уже 0:05, хотя фактически в момент приема уже 0:06.
Отбой, смекалка снова заработала, проблема решилась.
Бампую. ну же, анон, полюбому кто-то сталкивался же.
> 2) Рейкаст определяющий попадания идёт из ствола, а прицел, не фиксирован на экране, а следует за хитом рейкаста.
Тогда придётся писать обработчик, чтобы оружие не проходило сквозь объекты и ботов
>а первый - в 80% шутанов от третьего лица.
Вспомнил матрицу, где нео летит ногами кверху, ствол винтовки направлен строго в пол, но пули вылетают из ствола под углом градусов сто прямо в цель. Ну, он избранный, ему физика до пизды. Но в других играх может выглядеть странно.
>>187460
Джве камеры и всё.
>>187436
Очередной неосилятор порвался. Что-то слабые неосиляторы пошли.
>какую-то необычную хитровыебаную механику
Назовешь хоть одну? Только в рамках того, на что сейчас вообще способно железо/программы.
>конечно, некоторые скажут, пиши скрипты для редакторы, все дела
Хочешь чтобы на каждую твою хитровыебанность, которая нужна только тебе разработчики юнити пыхтели и преподносили на блюдечке?
>но зачем мне инструмент, который я сам-же должен доводить до ума?
Потому что не существует в природе других инструментов в данной сфере
например я могу написать
public static class MyStaticClass{
private static int[] myInts = new int[]{0,1,2,3};
}
и при обращении к myInts я получу очевидный результат.
но например я хочу что-то клевое, как на картинке, но чтобы я не щемился каждый раз в аксесор.
очевидно что можно обратится к статичным переменным через тип. но в первом случае у меня переменная уже обьявлена и уже не нулл, потому что такую хуйню я и захардкодить могу.
а во втором случае я уже не могу захардкодить такую переменную(или могу, но лучше не буду) и при каждом обращении проверяю не нулл ли она и если нулл то делаю её как надо и возвращаю через аксесор. И мне интересно. А можно ли сразу сказать чё же такое интересное я хочу в этой переменной, но хииитро?
Да. Большое спасибо. Я не знал что существуют статичные конструкторы, а гуглилась ерунда.
Ты даже программу установить не можешь. Куда ты лезешь, Кирилл. Делать игры не для тебя
Ой бля, не пизди мне тут, ебаный вс требует ие11, иде блять требует браузер, весит 16гб, а языковой пакет еще 2, выдает ошибки которые могут иметь несколько значений, требует отключения виндосервисов для установки. Я незнаю, может у меня винда изнасилована, но я бля потратил 2 дня на установку всей этой хуйни. Я больше ни с чем так не ебался как с этой вс.
Хули вы так дрочите на эту ВС, когда уже есть легковесный кросплафторменый вариант Visual Studio Code? Поддерживает юнити, поддерживает отладку. Всё, что нужно, поддерживает.
https://code.visualstudio.com/
оно поддерживает отладку node.js. Не знаю что это такое, но это явно никак не связано с юнити
Почему? Я почему решил так делать: вспомнил какую-то презентацию. В игре prototype так кажется было сделано.
Я предлагаю насрать тебе в рот. На большее твоя голова не годится.
всмысле?
Например, есть два объекта: картина и стакан. Если я жмякую на картину, то мне выдает одно действие, если на стакан - другое, но при этом, если нажать сначала на картину, а потом на стакан - произойдет нечто другое, нежели просто нажать на стакан. Нужно унифицировать этот скрипт. А лучше, возможно, есть ли какие-нибудь годные референсы хорошей масштабируемой архитектуры игры?
Интерфейсы, наследование, мессаги. Но тебе ничего не поможет. Попробуй рисовать эти стаканы, а логику пусть пишет кто-нибудь другой.
Неплохо, радует, что есть настройки. Не конкурент для Sublime (по скорости уступает и нет плагинов, ясен хуй будут, если не закинут), но конкурент Brackets.
Использовать можно, если ничего другого под рукой нет. Убер фич нет, разве что качественное интеллектуальное, автодополнение как в полноценной VS и хорошая интеграция с гит репами.
Может взлететь, но не в этом году.
>Не конкурент для Sublime
Code уже в разы превохсодит этот блокнот со шкурками.
Алсо, в нем даже есть отладка unity! Но только для макоси лол. Хитрый микрософт вынуждает виндорабов ставить студию, пидоры.
Все еще непонятно.
бумп
Почему я не могу инстансировать компоненты? Мне не нужен сраный объект для этого. Я хочу сохранить префаб компонента и инстансировать только этот компонент.
Как это можно сделать?
Пока что единственное что приходит в голову - это сделать самопальный конфиг-файл для компонента и инициализировать его вручную в OnValidate()
Но это НЕ ТО
Грязный хак, потенциально наполненные кучей багов. Правильно это нужно делать сериализацией-десериализацией.
К тому-же если мне надо добавить компонент из префаба к другому объекту в инспекторе, тогда как
из любого другого.
напишу я такой
Thread thread = new Thread(myClassInstance.Worker);
а в этом Worker() если будет обращение к физону то хопана юнити мне такое INTERNAL_CALL_Raycast can only be called from the main thread. и не делает.
мне нужны треды, потому что то что я делаю вешает тред на ощутимое время и может вызываться время от времени, так что я хочу чтобы если надо это делалось сразу несколько.
не делай то, что ты делаешь. проблема решена. делай в корутине один рейкаст, жди следующий фрейм и т.д.
алсо можешь сделать скрипт с делегатом, писать что-то вроде
Job a = MyScript.ExecuteInMainThread(Raycast());
while (!a.IsDone) Thread.Sleep(1000);
print(a.Result);
>Заранее обоссал корутинопетухов, так как они даже не понимают о чем речь.
Лел. дурачок. речь о распределении процессорного времени. В корутине ты делаешь тоже самое, только ручками.
уже не могу, слишком много переписывать. придется, похоже, костыль собирать. вроде, кстати, какраз у корутин был yield на эту тему.
>>187676
да рейкаст это пример. хочу из треда вызывать OverlapSphere а потом с этими коллайдерами творить всякое. про делегат уже думал, но спросить то не лишнее.
>>187677
только корутина все равно в основном треде работает. конечно приятно, но не то. мне надо чтобы то что я просил сделать делалось одновременно и как можно быстрей, но можно и не всё целиком сразу.
>хочу из треда вызывать OverlapSphere а потом с этими коллайдерами творить всякое
ну так можно что угодно сделать, если исп. generic'и для возвращаемого значения. ну тут особого профита все равно нет, у тебя вся тяжелая логика все равно в основном треде будет.
Дельная мысль.
Че?
А 3д редактора для юнити еще не зделоли? Зачем нужно это говно, если есть blender и проч, которые намного лучше это все делают
да-а-а~ корутина, конечно, здорово. только есть разница между тем смогу ли я получить то что хочу спустя пару секунд, или спустя 8-16. да и так сразу основной тред забивать то не надо, чё ты.
Сначала написал цифры больше в цикле, но корутина не хотела заканчиваться вообще.
Надеюсь это я где-то обосрался, и скорость корутин на самом деле выше
Ну да, корутина ж должна закончится за 99 фреймов. Откуда там 2 секунды берутся непонятно, короче, хуита какая-то.
Один хуй нельзя использовать unity api в отдельном треде, так что кончай хуйней маяться и начни наконец делать игры.
А, ну да. Все понел
И чо? Во-первых, можно запустить тред с уже полученными данными и не вызывать API. Во-вторых, в треде вообще можно считать что-то не связанное с API. Во-третьих, если очень надо можно выполнить API в основном треде через делегат.
Ты такой умный, жаль что из за этого блевотного шрифта в редакторе ты скоро ослепнешь и не сможешь писать в этот тред.
Ну ёпт, например ты в отдельном тредике создаешь процедурный уровень для своего рогалика. Зачем тебе там API?
петушиный шрифт как-раз у тебя. а у меня самый популярный моноширный шрифт DejaVu Sans Mono. он и крупнее при том-же размере шрифта, и буквы у него более прямоугольные. а consolas это моноширный comic sans какой-то
Зачем лепить отдельный тред если строить сцену придется только после генерации уровня в этом отдельном треде? Если тебе нравится дрочить треды то иди и пили свой движок, а не пытайся впихнуть свои необъятные знания о тредах туда, куда нахуй не всралось.
Затем, что генерировать уровень долго, а строить сцену - быстро.
Ну типа: Есть список префабов. Во время игры появляется экземпляр префаба из этого списка. Я хочу не использовать Instantiate что бы не было микро лагов. А использовать уже заранее подгруженый префаб из этого списка. (понятное дело что игра начнет жрать больше памяти, о зато исчезнут подлагивания)
ObjectPool
Не годится, потому что эта хуйня нужна для спецэффектов. Но уже решил, что лучше делать скриптом, лол.
Жирный слоу
Зачем её завозить, если она и так доступна тебе? Правда, только на PC, но тем не менее.
А так, там в основном добавлены их различные сервисы. В том числе анальный сервис сбора статистики. Отключить вы его можете только в ПРО версии.
Вообще, можно. По крайней мере была одна штука из .NET 2.0, которая позволяет это сделать. Я попробую это запилить.
Там что-то вроде if (Thread.CurrentThread != mainThread) Debug.Log("ХУЙ САСИ ЛАЛКА");
Я обновил, а у меня все равно 5.1.3
Ага, вижу:
get_transform can only be called from the main thread.
Constructors and field initializers will be executed from the loading thread when loading a scene.
Мне нужно сделать карту на подобие пикрелейтед из энгрибердс.
Сделать линейную - два пальца, такую я уже делал.
Вопрос именно в нелинейной, т.е. графе.
Пилю в соло потихонечку игру на Unity для ведроидов.
Как я слышал, в гугле разрешено заливать только приложения меньше 50mb,
я периодически заливая на свой телефон посмотреть результаты, и заметил, что apk файл с парой сцен и около 10 пикч весит 20mb,
это ж пиздец неприемлемо.
Как с этим бороться? На сколько я понял, к apk файлу добавляется mono(~15mb), а уже оставшееся - твое приложение.
Когда компиляешь выбирай только arm в девайс фильтере и стриппинг левел вроде тоже на вес влияет.
>Как с этим бороться?
никак
>в гугле разрешено заливать только приложения меньше 50m
так там есть игры по несколько гигабайтов
можешь доставить скриншот где это выбирается? плиз
я знаю, что есть.
они просто делают докачку по интернету.
лично мне еще с этим возиться не хотелось бы.
>они просто делают докачку по интернету
какую еще докачку. они устанавливаются через гугл плей
ты уверен в этом? оО
т.е. скажем если в конце у меня даже и получится apkшник овер 200мбайт, я без проблем его смогу залить на гоголь плей?
а на счет гейтюнса? там нет таких ограничений?
Ты конкретнее поясни, а то как хуй с горы
Если с настройками поколдовать, то оверхед юнити около 9.5 мегабайт на apk
Ух ты! Огромное спасибо, Кирюх) очень выручил.
Воу! Я уж думал не дождусь.
\tvoid OnMouseDown() {
\t\tDestroy(gameObject);
\t}
Теперь при нажатии на кубики, они исчезают. Как добавить счетчик на экран в котором бы показывалось количество уничтоженных объектов?
Или с таким уничтожением не получится это сделать и нужно переписать все. В гугле вроде есть такое, но там код по уничтожение кубов другой. С этим можно, он ароде проще?
Заебашь в скрипт публичное поле, в которое ты в инспекторе хуйнёшь ссылку на счетчик прям со сцены, ёбана.
К счётчику заебись будет прихуячить собственный скрипт, в котором будет храниться метод изменения текста.
В существующем OnMouseDown() ты будешь вызывать этот метод.
Иди читай мануал по юнити на оф. сайте. Пока не прочитаешь от корки до корки - не возвращайся.
>Я вообще нихуя еще не понимаю
Тогда съебни изучать C#. Если ты, кириллица, не можешь понять такие примитивные вещи, то тебе рано соваться в юнити.
>Что вы мне эту хуйню впихиваете
>прочитал уже полностью руководство на офф.сайте
>Там скриптов практически нет
>В уроке разложили по строчке именно (абсолютно) то, что ему надо
>Что вы мне эту хуйню впихиваете
лол, зависит от опыта.
по-моему, нет каких-либо границ между уровнями программистов как таковых.
все приходит с опытом и с тем, какие задачи решаешь, как расширяется твои знания в программировании по мере решения новых задач.
в общем-то, все.
Моя задача - это пилить простую игрулю на юнити, что я безуспешно пытаюсь уже больше года. Проблема тут вот в чем: я могу не знать о какой-то фишечке языка, или каком-нибудь полезном классе или еще что-то такое, и делать что-то неэффективно, неудобно, через жопу короче говоря. Поэтому хотелось бы конечно знать какие-то вещи лучше вообще.
Опыт. Ничто не заменит опыт. Ты можешь хоть от зубов все самые крутые вещи знать. Но без опыта ты ими только анус себе разработать можешь и больше ничего. А с практикой само собой все приходит.
Но можешь уточнить, какие именно у тебя знания сейчас. Скажу тебе, в знании языка дело или нет.
>Смотреть на код профессионалов тоже очень полезно
Учись, пока я жив!
var index = 0;
var array = new int[4];
var value = array[index];
index = (index + 1) % array.Length;
Таким образом не нужно делать проверку, если ты хочешь постоянно проходить по циклу.
index++;
if (index >= array.Length)
index = 0;
>адский говнокод
> профессионал
Даже не знаю сколько времени ты эту хуйню выдумывал, но это время ты проебал бездарно.
Это обмен опытом и относится к
>с практикой само собой все приходит.
На интересе и лучшем понимании нового.
Что толку нубу от кода "профессионала"? Пока сам руку не набьешь настолько, чтобы быть примерно на уровне этих самых "профессионалов", то их фишки будут херово восприниматься.
Ты уверен, что эта хуйня вообще работает быстрее варианта с if?
Ты читал рекомендации микрософта? Там рекомендуют писать названия приватных переменных без чёрточек и прочей хуйни.
Ну вообще то, как ты пишешь и правда отличается от стайлгайда для шарпа. Впрочем могу и ошибаться, давно его читал.
Поля - камелкейз с маленькой буквы, локальные переменные в методах так же.
Свойства, методы, названия классов и прочее - камелкейз, но начинается с большой буквы.
Скобочки предпочтительно расставлять с новой строки всегда.
if (true)
{
//something
}
Впрочем тебя никто и не заставляет этого придерживаться.
https://msdn.microsoft.com/en-us/library/ff926074.aspx
чет не нашел. но встречал дядей которые отделяли приватные от не приватных через черточку много. сам попробовал - удобно если переменных много, не спутать хуйню по аксесорам с внутренними переменными случайно.
>>187933
я категорически против таких скобочек. это же сколько места на экране проёбывается впустую! вот ты посмотри на макароны из UE, вот это просто вообще охуеть способ как проебать место на экране. я верю что всё началось с того что кто-то придумал что надо писать
if (true)
{
//something
}
вместо
if (true){
//something
}
>>187934
а тут чего не понравилось? всё наглядно и читабельно в узком окошке.
Место на экране - бесплатное, так что и хер с ним. Я и так и так код читаю нормально в общем-то, приходилось со всякими стилями работать. Однако с шарповскими скобками все же больше нравится, особенно когда много уровней вложенности, как-то полегче воспринимается.
место на экране то конечно бесплатное, но колесико крутить все-же надо. а когда на 100 строк кода накидывается 15-30 строчек с одной скобочкой, то и крутить надо дольше! а я не хочу крутить больше чем нужно.
в любом из вариантов сразу видно код в скобочках по длине отступа.
>Do not use underscores, hyphens, or any other nonalphanumeric characters
https://msdn.microsoft.com/en-us/library/ms229045.aspx
Я сам раньше постоянно использовал _ для приватных полей, но с опытом понял, что это крайне излишне, особенно, если используешь современный Visual Studio.
Ты, наверное, ужаснешься, но многие кодеры еще и просто так плодят пустые строки ради лучшей читаемости.
мне и сейчас норм. позволяет чуть быстрей обращаться к приватным переменным, если класс большой.
плюс избавляет от нужды каждый раз писать this. если передаются параметры с таким-же именем как переменные в классе. _myValue = myValue помоему лучше чем this.myValue = myValue
ещё знавал дядей которые отдельно писали константы как MY_CONSTANT, по моему тоже заебись идея. сразу видно что это такое.
по моему символ _ очень полезен.
>плюс избавляет от нужды каждый раз писать this.
Я обычно пишу так:
void SetHealth(int value)
{
health = value;
}
не ну иногда разумеется нужно, пустые строчки часто нужны. но они - важный ресурс. чем меньше потрачено, тем проще читать его если надо уместить код в небольшом окошке.
>>187941
да но потом надо написать что-нибуть в духе
void ApplyDamage(int health, int armour)
{
this.health -= health;
this.armour-= armour;
}
и переменные уже приходится называть читабельно.
>да но потом надо написать что-нибуть в духе
Но согласись, вот этот вариант ничем не лучше:
void ApplyDamage(int health, int armour)
{
_health -= health;
_armour -= armour;
}
Потому что должно быть что-то вроде:
void CauseDamage(int healthDamage, int armourDamage)
{
health -= healthDamage;
armour -= armourDamage;
}
не лень? приятно, конечно, this другим цветом выделяется там. но как по мне лишний синтаксис вредит читабельности.
>>187949
на самом деле из всех трех вариант с _ быстрей написать и переменные в шапке метода более ёмко выглядят. во втором варианте проще уже копипастить переменную чем писать healthD, если автоввод подумает что ты хочешь обратится к health, вместо healthDamage
Платформер до этого я уже пилил, хочу его сделать для андроида и гейфона. Хотелось бы годного гайда именно по контроллеру.
Алсо, правда, что для того, чтобы скомпилить на айфон нужен мак?
У меня как пикрилейтед, только с кодом: пока все не организацию в свою манясистему, не могу ни о чем другом думать. Это очень мешает. Вместо того чтобы делать игру, сижу переписываю раз за разом одно и то-же
Конечному пользователю похуй как у тебя все организовано. Пиши код под конкретную игру а не под выставку охуенно организованных кодов. Все органтзовано в самом юнити, скрипты нужны чтоб писать говнокод, помни это.
Ты думаешь я это не понимаю?
Пробовал создавать avatar mask только с руками, но что-то не срослось и при проигрывании этой анимации помимо рук движется весь персонаж.
Главный слой с твоей ходьбой.
Второй слой с анимацией с руками.
Вешаешь на второй аватар маск только руки.
Когда тебе нужно заанимировать руки той анимацией выставляешь вес слоя с руками на 1.
Придумай игру еще до того как начнешь её реализовывать. Опиши каждый аспект до мелочей, прикинь сколько времени на это уйдет. Ставь себе планку и пошел.
Я вам новый RЕ на юнити принёс, посоны.
>>187952
Ох нихуя сколько ответов. Уже не надо. Судя по дебагу, просто туда пихается джва события. Пихаю кодом одно, в редакторе его не видно, но работает.
>>188015
>Как с этим справляться?
Никак, лол. Я пишу, лишь бы как-нибудь, потом переписываю так, как мне кажется правильным. Потом ещё. Потом ещё. В итоге получаю что-то, что меня не раздражает и успокаиваюсь.
Ничего. Когда-нибудь ты выиграешь.
Добро пожаловать в реальный мир. Положи laba2 у входа, разувайся, присаживайся.
Кто-нибудь уже делал управление для смартфоноплатформ?
Я пилю платформер, на пекарнеразумеется все работает отлично, хотелось бы импортировать на смартфоны.
В общем, хотелось бы сделать какой-то джостик на подобии тех, которые были в денди что ли, или еще какой-то.
С 4 кнопками движения, 1 кнопка выстрел и 1 прыжок.
Еще я видел, что вместо кнопок движения частенько берут особый кружок, в котором находится еще 1 кружок-ползунок.
Воть, пикрелейтед - какой хочу контроллер.
Ты заебал свое говно форсить, этот говнокод это единственное что ты можешь здесь показать?
хочешь сказать, ты в день по 100 паттернов юзаешь, детально разбираешься в архитектуре и никогда не переписываешь код джважды?
ладно, забей, ноудискасс
хорошо дня, Кирюх
я не тот анон, я мимокрокдил
То есть по умолчанию вес слоя с руками в ноль, а ставить в единицу его только во время анимации рук?
Мне хоть что-то есть показать. Гениальное и простое.
Разобрался. Проблема была в том, что тип рига был дженерик вместо хумана.
>Это возможно, например распространять уже скомпилированный код или dll
Да. DLL реально. Некоторые ассеты так и делают. Но я могу декомпилировать твою DLL, если понадобится.
А еще в игру могут поиграть и спиздить идею, так что лучше совсем не делать игры.
перед тем как скомпилировать в DLLку, не забудь про обфускатор, и тогда все ок)
С меня, как обычно!
cgpersia
А где про это можно почитать подробней? Или как это делается? В проекте просто ведь лежать исхоники *.cs.
>>188152
>>188150
Ааааай, ну ни траЛькайте, мне жи страшно. В конце концеов уважайте мою прайваси типа. Ну че вы ни как криптоанархисты-то? Чому я обязан отдавать свои исхонички первому встрачному поперечному, наприемр левелдизайнеру которому только уровень надо лепить.
Двачую адеквата.
Создаю класс NPC, NPCManager
1) Нужно ли наследовать NPC от MonoBehaviour
2) Лучше создать List с объектами класса NPC или отдельные GameObject?
В ближайшее время буду задавать много таких вопросов
>А где про это можно почитать подробней?
Напиши в гугле "unity3d c# dll"
http://unity3d.ru/distribution/viewtopic.php?f=11&t=9158
>Нужно ли наследовать NPC от MonoBehaviour
Да.
>Лучше создать List с объектами класса NPC или отдельные GameObject?
Чтоу? В любом случае каждый NPC будет представлять отдельный игровой объект. Можешь дополнительно хранить их в списке, если тебе нужно их обходить.
> В любом случае каждый NPC будет представлять отдельный игровой объект.
Это обязательно? Обязательно ли сущности, не обладающие визуальным представлением добавлять как отдельный игровой объект?
можно ли создать объект простой формы с помощью скрипта, но не таким образом: GameObject example = GameObject.CreatePrimitive(PrimitiveType.T)? В идеале бы ващпе через rigidbody
Нет. Ты можешь хранить void* в массиве, а потом при обходе кастить в нужный класс
ни с какого, просто опыта работы с unity мало. в голове только немного сишарпа и навязчивая мысль о том, что курсовую надо начинать пораньше. Почему тогда после следующих строк кода:
GameObject sphere = new GameObject();
sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
sphere.AddComponent<Rigidbody>();
я всё равно не могу вызвать свойства useGravity, isKinematic и прочее?
Аноны, скиньте книжецу.
Тут смотри какое дело. Велосити по сути своей может быть результатом действия неких внешних факторов, поэтому и кукарекают. Но на мой взгляд двигать чара с помощью аддФорс - это просто пиздец. Да, изменение велосити напрямую может пустить по пизде симуляцию физики (например, ебанешь ты вектор велосити вверх по нажатию пробела, и персонаж гордо воспарит в голубые небеса), но если действовать адекватно, то ничего страшного не случится. Как по мне, всякие там прыжки/бег персонажа только через велосити делать и надо, ибо получается именно то, что хочешь.
Ты не показал, как пытаешься обратиться к этим свойствам.
sphere.GetComponent<Rigidbody>().isKinematic и т.д.
спасибо
>Нужно ли наследовать NPC от MonoBehaviour
посоветую сделать строго наоборот.
public class NPC{
GameObject _go;
}
и при создании нпс, если надо, ты создаешь его геймобжект.
лучше иметь объект и представление о объекте раздельно.
В Unity сформировалась своя парадигма программирования, которая основана на компонентах. Почему NPC должен наследовать от MonoBehaviour? Потому что NPC так или иначе будет представлен игровым объектом, и потому что у него будут параметры, которые удобно устанавливать прямо из редактора. И не забывай про префабы. Один класс NPC - множество вариаций NPC из префабов с различными параметрами. Перекладывать всё это на код глупо, это ошибка новичков, которые раньше работали с обычными движками и привыкли всё делать в коде.
А что с Характер контроллером?
Потому что юнете компоненты используют это велосити для внутренних вычислений, там же его и назначают. Поэтому если будешь туда писать, ты поломаешь физ. компоненты. Это как двигать объект с RigidBody через transform.position.
очевидный Троэлсен и Рихтер(впрочем для юнити не понадобится) соответствующих версий c# (3.5, 4.0)
эти параметры по хорошему должны не в редакторе устанавливаться, а тасоваться в виде ScriptableObject, который должен заменять тебе и поля в редакторе и префабы.
но ок. например, есть сервер, есть клиент. на клиенте что-то происходит. например игрок пытается подобрать предмет. по твоему всё представление о том можно ли брать предмет должно хранится на клиенте, а он просто должен уведомлять сервер о том что он взял предмет. или клиент должен спрашивать сервер можно ли взять предмет и если "да" то брать? сколько экземпляров представления предмета должно быть в этом случае?
или, например, делаешь ты такой опенворлд игру. с корованами. корован идет из точки А, в точку Б. Когда корован находится в определенной близости к игроку, он спавнится и игрок может его грабить.
перед тем как корован заспавнился он по твоему тоже должен существовать в виде геймобжекта? тоесь вот ходят там за ширмой невидимые корованы, срут тебе в апдейт? а вдруг на корован другие грабители позарятся, такие-же абстрактные и начнется бой за корован? а вдруг корованов много? ну знаешь вот штук сто маршрутов и на каждом 2-3 корована? ты и тут напишешь Korovan : MonoBehaviour?
не устанешь от ударов граблей если захочешь прикрутить фичу к своему поделию которая включает несколько представлений о чём-то?
Про корованы.
Тут вступает в игру некий объект игровой, ага, который контроллирует перемещение корованова на самом деле не их, а просто рулит какой-то собственной абстракцией, пока тех не видно. Если ты понял о чем я. Он же их и спавнит при достаточной близости.
мимопробегал
да. объект один, который контролирует множество абстрактных корованов. мастер корованов! а потом когда приходит время в мастере корованов вызывается метод, который принимает корован как параметр и возвращает геймобжект. или просто в короване вызывается метод, который спавнит корован.
но в итоге есть абстрактный корован который не существует дальше коллекции корованов и есть корован существующий как геймобжект.
хотя много примеров можно придумать где у объекта может быть множество представлений на самом деле.
А что мешает отключить гейм обжект и использовать его как "абстрактный корован"?
ну наверно то что у него вместе с отключением перестает работать все что дарует тебе моно? компоненты то тоже выключаются. не будет у тебя Start() не будет у тебя Update() и будет просто геймобжект который ждет пинка извне чтобы включится. как он перемещаться то будет из точки А в точку Б? нахуй он нужен такой?
А в твоем абстрактном короване и Start и Update будут использоваться? Что несешь то? Перемещай его так же через transform и когда он понадобится, то при включении появится в нужном месте.
Сходи рекламки пораздавай и будет тебе аккаунт на гугле
Выпускай бесплатные игры для ПК. Без рекламы. Просто так.
Аноны, кому не сложно киньте в тред вот этот https://www.assetstore.unity3d.com/en/#!/content/10384 ассет. У меня роскомпидор заблокировал файлообменник на котором он находится, а как настроить в юнити прокси я хз.
внезапно, в туториалах от юнити тела так и двигают
На почту пришло письмо скачать Unity 5.2, можно ли обновиться до него, или придется перекачивать все заного, и старые проекты похерятся?
в проектах нужно будет снова открывать сцены при входе. ассеты не пропали (в 1 проекте, как минимум)
можно ли удалить компонент у игрового объекта?
узнал, что такое шэйдеры
ну чегож ты такой. разумеется в абстрактном короване нет Start, или Update и они там изначально не нужны. потому что они - представление о короване. его позиция на глобальной карте, статус, сколько коров в нем, ИИ там. Всё что представляет корован и все что нужно для того чтобы этот корован мог заспавнится.
transform то что перемещать будет, умник? сам корован? он же выключен.
Есть клас. Моонобихэвиэр.
Сишарповое new не катит, как я уже понял. Везде пишут, что надо AddComponent <>
Сделать-то я это сделал, но вот обращения к функциям в классе. Как? На форумах только addcomponent'ом и ограничивается всё. А в документации - вообще мышь повесилась.
Пример:
class monobehaviour mouse {
public int battery (int count) {
...
return battstate
}
}
Вот допустим
В совсем другом скрипте
gameObject.AddComponent <mouse> ();
И тут я всё. Что делать, чтобы пообщаться с функцией battery? Я никак обратиться не могу.
Ведь у моего объекта должен же откуда-то статус батарейки появится.
к компонентам и их хуйне то легко обращаться. ты можешь сохранить компонент в переменной его типа. плюс сам AddComponent возвращает тебе созданную переменную.
можешь написать например
Light _light = какаятохуйня.AddComponent<Light>();
и тогда в переменной _light будет ссылка на созданный новый компонент.
_light.color = какойнибудьцвет;
и ты можешь брать ссылку на нужный уже существующий компонент через GetComponent
в твоем варианте можно написать просто
var _mouse = gameObject.AddComponent <mouse> ();
var _mouseBattery = _mouse.battery(число);
Класс нпц просто отдельно живет и там прописаны методы, менющие элемент класса а также рандомный выбор характеристик.
Нпц контроллер генерит пустой геймобджект и потом все спихивает в него, с добавлением компонента класса нпц. В итоге и иерархия не особо захламляется, и отладка в редакторе удобная, и геймобджект для каждого нпц имеется.
бамп вопросу, интересуют скрипты, либы и прочее полезные фишки, на которых можно поучиться.
Ты читаешь старые сообщения, так было до 5-й версии.
Сейчас не надо ничего покупать, по крайней мере пока твоя годовая выручка не превысит ~6 миллионов рублей. Вместо того, чтобы заниматсья некрофилией на форумчиках, лучше бы сходил на официальный сайт и почитал, что там написано.
>сходил на официальный сайт и почитал, что там написано.
привыкшему к пиратскому по народу такое предложение кажется извращением.
бампс вопросу-с
Чо бля?
И как тогда перемещать? transform.Translate()?
>base.connectionToClient.Send();
>NetworkServer.SendToClient();
Хуйня какая-то. Сообщения, насколько я понял, отсылаются широковещательными. И какой в них тогда смысл, если через RPC я могу то же самое сделать. Я так понял что новыми охуительными средствами юнити сервер не может отправить конкретному клиенту сообщение. Пиздец наворотили, даже разбираться не хочется в этом говне.
Это копия, сохраненная 22 ноября 2015 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.