24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Где можно посмотреть какую-нибудь материалы по скриптам в Юнитях? C# знаю на среднем уровне, но тех знаний что из литературы по языку получил явно не хватает для самого движка.
Есть такой скрипт: using UnityEngine; using System.Collections;
public class CameraControl: MonoBehaviour { public Transform followTransform;
public Vector3 offset = new Vector3(0f, 2.5f, -5f); public float moveSpeed = 1; public float turnSpeed = 1;
Vector3 goalPos; //Quaternion goalRot;
// Use this for initialization void Start() { if(!followTransform) followTransform = GameObject.FindGameObjectWithTag("Player").transform; if(!followTransform) this.enabled = false; }
void FixedUpdate() { goalPos = followTransform.position + followTransform.TransformDirection(offset); transform.position = Vector3.Lerp(transform.position, goalPos, Time.deltaTime moveSpeed); transform.rotation = Quaternion.Lerp(transform.rotation, followTransform.rotation, Time.deltaTime moveSpeed); } } Изначально я использовал скрипт, который просто двигал камеру соответственно движениям персонажа, там проблем не было - камера отслеживала движения героя только по горизонтали (х). Но захотелось красивости - запаздывания камеры. Скрипт, который я использовал для этого эффекта, отслеживает x и y. А мне нужен только X. Как отключить отслеживание y ?
>>134582 попробуй вместо > goalPos = followTransform.position + followTransform.TransformDirection(offset); вот так:
t = new Vector3(followTransform.position.x, transform.position.y, followTransform.position.z); goalPos = t + followTransform.TransformDirection(offset);
При создании снаряд получает значение переменной flipper из объекта игрока. Получаем значение переменной из объекта игрока: public GameObject player; flipper = player.GetComponent<PlayerMovement>();
Потом умножаем направление на переменную эту: rigidbody2D.AddForce(new Vector2(transform.right.x flipper.flipper, transform.right.y)speed);
если её убрать, то сняряд нормально летит, если её брать, то снаряд просто спавнится на месте, хотя значение передаётся 1 или -1, не ноль.
Что за хуйня? Может я как-то не правильно получаю её из объекта игрока?
Смысл в том, что персонаж флипается (инвертируется или какой тут термин лучше подходит) когда направление движения меняет, вместе с ним флипается и его пушка, поэтому когда он в в левую сторону флипнут, снаряд вылетает в противоположном направлении. Хз, может как-то по-другому это надо решать, может можно как-то пушке запретить флипаться?
>>134594 Если в лоб, то можно вхуярить в игоря вебвью, https://www.assetstore.unity3d.com/en/#!/content/12476 например, и выводить рекламу и прочее говно им. Но вообще у фейсбука и адмоба есть апи, можно работать и с ними. Насчет адмоба не уверен, правда. Обертки для работы с json/http в ассортименте.
Сап, юнит-ч. Так как мне проще практиковать, а потом братся за теоретику, я буду ебать Вам мозги в этом треде:
Как с помощью Gui.Label (быдло-скриптирую на ЯваСкрипт) отобразить переменную, это нужно для отображения HP и кол-ва патронов для героя. В Си I used to: [code] int health; printf ("healt = %d", health"); [/code] Like dat, но такое в Gui.Label не катит (после стринга, писать %d и за кавычками указываю переменную).
>>134729 В компоненте другого объекта получи на нее ссылку и изменяй, делов-то. Как получить ссылку? Тут уже варианты: можно завести в нужном компоненте публичную переменную типа Transform и приаттачить в редакторе интересующий геймобжект, можно сделать GameObject.Find("nuzhnii_object") и дернуть ссылку на трансформу уже из него, можно сохранять ссылки на геймобжекты в пуле при инстанциации, а потом дергать нужный и у него трансформу. Логика понятна?
>>134765 1) Юзай coroutine'ы [code] function Start() { prefab.SetActive(false); yield WaitForSeconds(time); prefab.SetActive(true); } [/code] будет ругаться - вынеси код в отдельную функцию 2) Или перепроверь тыщу раз, что ты поставил в редакторе в свой трансформ; я бы вообще не пользовался данными не-из-рантайма & получал всё через GameObject.Find и ко. Причина в этом, возможно.
>>134766 Хз, что я делаю не так: var OnTime: float = 1; function Start() { GameObject.Find("itemtest2").SetActive(false); yield WaitForSeconds(OnTime); GameObject.Find("itemtest2").SetActive(true); } Отключает, но не включает обратно.
>>134801 Какой профит тебе нужен? Если хочешь быстрее писать и делать игры, то юнити естественно будет быстрее чем на велосипеде, причём не только юнити а любой нормальный двиг
Ты тупой ньюфаг или эксперт соскучившийся по живому общению? Тебе надоело ждать ответы на элементарные вопросы в треде? Записывайся в нашу конфу, тут можно чатиться, тупить, тормозить и постить охуительные идеи.
Нужно в общем организовать простую и понятную drm для standalone исключительно средствами юнити. Проблема защитить: билд от копирования. То есть пользователь получивший exe спокойно его запускает, но если он передаст exe кому-то еще -- хер там. Вся проверка исключительно в офлайне.
Мои мысли: По сути все упирается в невозможность модифицировать уже собранный exe. Иначе можно было бы банально после первого запуска привязывать его к конкретной машине. Впрочем тут проблема в том, что до запуска его можно спокойно откопировать сколько угодно раз.
Еще вариант с лихим алгоритмом генерации и проверки серийника на запуске приложения. Буду благодарен за ссылки по сабжу. Но как в таком случае сделать проверку только при первом запуске? Допустим после первого запуска и валидного серийника мы засторили что-то на диск, что при следующих запусках будет проверяться чтобы не просить серийник каждый раз. Но в таком случае достаточно просто вместе с exe копировать это что-то и вся защита рушится. И опять же раз сгенерированный серийник будет подходить для N числа копий.
В общем посоветуй годный идей, линков и направлений в которые гуглить.
>>134875 >додумываю текст за автора >делаю на основе своих домыслов выводы >непременно пощу свои ценное мнение naff said.
>>134874 Более того абсолютной защиты нет. Очевидное очевидно, а как насчет академического интереса? Зачем плодить полемику, нечего сказать -- пиздуй мимо.
Сап, юнитач. Поделись инфой о оптимизации игр под разные разрешения экранов. Затачивал игру под FullHD, все норм, потестил на ведре с меньшим разрешением - все съехало.
А что если я сделаю клон старой досовской игры (графон преобразит её до неузнаваемости), но с той же планировкой локаций, геймплеем, сторилайном. Сделаю её бесплатной, но с рекламой (на гугл-плей). Правообладатель выебет меня?
Завтра нужно будет открыть проект на чужом пк, интернета возможно не будет, на флешке есть инсталяха текущей версии Юнити. Так вот, вопрос - откроется ли проект, сделанный на более новой версии Юнити (на бете) в более старой (текущей)?
Не могу понять почему "смена родителя" у объекта срабатывает ровно через раз - то есть назначение другого родителя происходит у каждого второго объекта. Другие операции - например смена материала - работает нормально, но только если убрать строку про "смену родителя". В том виде в котором сейчас - смена материала тоже работает ровно через раз.
Суть метода - у одного объекта (area1) перебрать все дочерние объекты, и назначить их дочерними к другому объекту (area2)
public bool DestroyAreas() { Material _material = prefab.renderer.sharedMaterial;
Есть профит делать карточную игру в юнити вместо гейммейкера? в чём плюсы?
Че так хреново с примерами в юнити, то платные, то слишком сложные 3Д, то вообще хрень находится вроде книг. Где можно найти поболя разных туториалов и примеров по 2д в юнити?
Если я открывал юнити-проект прямо из флешки на чужом пк в голом юнити - на пекарне/в папках юнити (на системном диске) останутся какие-то следы от проекта, когда я эту флешку флешку заберу?
>>135026 В юнити не могу, только предполагаю. Ты когда меняешь парента, объект удаляется из массива, по которому ты пробегаешься и оставшиеся сдвигаются на 1 позицию левее. При следующей итерации идет переход на следующую позицию, пропуская элемент на текущей. Нормальный C# должен был на таком выкинуть Collection Was Modified исключение, но как в вашей ассетотаскалке я не знаю. Попробуй просто брать 0-й элемент, пока массив не станет пуст (если он действительно уменьшается).
Есть набор префабов зданий. Какие-то не доступны для постройки в начале игры, и открываются по мере прохождения.
Как организовать вывод списка доступных зданий для постройки? И как потом изменять этот список?
Пока думаю только на старте заносить все префабы в массив, а на префабе в компоненте сделать булеву переменную - доступно/недоступно. Но какой массив, по имени что-ли обращаться - хуйня какая-то мне кажется.
>>135102 А зачем ты вообще заносишь именно префабы? Сделай класс-контейнер. public class PrefabContainer{ public GameObject Prefab; public bool Avaiable; }
Заноси все префабы в например List<PrefabContainer> prefabList; а дальше можешь получать список те которые доступны написав prefabList.FindAll(x => x.Avaiable);
>>135106 Вот, блядь, за это я и ненавижу Юнити. Сидишь себе, пилишь спокойно игрулину, и тут внезапно упираешься в ЭТА ФИЧА ТУТ НЕДОСТУПНА КУПИТЕ ЛИЦЕНЗИЮ. Причем вроде все включается, и даже запускается, но эта залупа не работает хуй знает почему, пока не пойдешь гуглить не разберешься. И приходится вместо того чтобы двигаться дальше, менять планы и садиться изобретать велосипед. Господи, если фича недоступна, то спрячьте в редакторе это. Ненавижу, блядь. С inverse kinematic в меканиме такая же ебала. Суки, мудачье.
using UnityEngine; using System.Collections; public class GoToMouse : MonoBehaviour { public Vector2 speed = new Vector2(3, 0); private Vector2 target; private float movement;
>movement = speed.x inputX; Operator `умножение' cannot be applied to operands of type `float' and `bool' В аналогичном скрипте у меня всё нормально было - в такой же ситуации ошибки нет. Как переделать?
>>135224 оклюжен работает не на всех видеокартах и работает херово пока еще есть смысл отключать вручную если делает для консоли игру то тебя в жопу выебут если не будешь где надо отключать вручную а теперь пошел нахуй, диван
if (Input.GetKey(KeyCode.Mouse0)) { var playerPlane = new Plane(Vector2.forward, transform.position); var ray = Camera.main.ScreenPointToRay (Input.mousePosition); var hitdist:float = 0.0;
if (playerPlane.Raycast (ray, hitdist)) { targetPosition = ray.GetPoint(hitdist); } }
Кстати, если я решу эти три проблемы - как сделать "y" неуправляемым? Персонаж иногда поднимается по лестнице, падает, но мне не нужно, чтобы случайный клик выше горизонтали заставлял его подпрыгивать вверх.
Анонсы, есть капсула с дочерней камерой и есть скрипт для верчения головой. Если его прицепить к камере, то оглядываться мышкой можно, но направление ею не работает. Если же прицепить к капсуле, начинается пикрелейтед. Что делать?
var moveSpeed:float = 1; private var targetPosition:Vector3; private var targetDistance:float; function Update () { targetDistance = Vector3.Distance(targetPosition, transform.position); if(targetDistance < 1) { moveSpeed = 0; } else if(targetDistance > 1){ moveSpeed = 1; } if(Input.GetKey(KeyCode.Mouse0)) { var playerPlane = new Plane(Vector3.forward, transform.position); var ray = Camera.main.ScreenPointToRay (Input.mousePosition); var hitdist:float = 0.0; if (playerPlane.Raycast (ray, hitdist)) { targetPosition = ray.GetPoint(hitdist); } } if(targetDistance > 1){ transform.position += (targetPosition - transform.position).normalized moveSpeed Time.deltaTime; } transform.position.z = -21.59; }
Теперь движется, z не колбасит. Теперь вопросы такие:
1. Как теперь задействовать флип спрайта? 2. Если ничего не нажимать персонаж скользит и движется по наклонным поверхностям 3. Как задействовать анимации? 4. Как сделать ограничение вокруг персонажа, дальше которого объекты на сцене не заюзаются?
Мне так примерно объяснить/намектнуть, я не прошу за меня делать.
>>135319 Поле обзора камеры - треугольник, с одним углом в FOV градусов и высотой, проведённой из этого угла, в Camera.range юнитов. Ротик только сначала прополоскай.
>>135325 Вероятно, мне нужно использовать не transform.position а что-то более подходящее, например CharacterController.Move или в моём случае - rigidbody2D.velocity = new Vector2(movement, rigidbody2D.velocity.y); Но я не совсем понимаю как.
1. Скорость зависит от расстояния между кликом и объектом. Чем ближе - тем медленнее и наоборот. Как пофиксить?
2. Объект "по сюжету" иногда падает, иногда поднимается по лестнице и т.д., у него есть ригид боди. НО скрипт пытается поднять его вверх если кликнуть выше условного горизонта - как залочить?
3. Как теперь (примерно) реализовать флип и задействование анимаций?
есть тут кто то кто пытался моделировать полет пули, струльбу и тд. Расскажите о своих успехах. Я вот навалял разброс, более менне реалистичный боковой снос (не от ветра((), да и все пока.
>>134842 Конфа конченых. Один блять на флеше кодит, пытается квадратик повернуть весь день. Другой - админ конфы, пидор тупорылый - банит кого-то вечно, весь из себя выебывается. Конченый сука. Ну нахуй этот ебаный анальный форумчик в виде конфы. Никому не советую.
Мне не нравится, что скорость зависит от того, насколько далеко/близко я кликаю от объекта. Мне нужно нормализировать вектор? Я не знаю как, а это выдаёт ошибку: rigidbody2D.AddForce ((position - transform.position).Normalize звездочка speed);
Анончики, у меня два вопроса: - Можно ли установить пиратскую версию юнити, если уже установлена фришная версия? Проблема в том, что они хранят файл лицензии в одном и том же месте.
- Из-за чего может фризится игра (где-то на 100 мс)? Игра под андройд, в 2Д. На пикрелейтед показатели из юнити. Главное, в редакторе игра тоже притормаживает. Для передвижений/вращений везде использую Time.deltaTime.
Как сделать размещение гуи-элементов (кнопки например) пропорциональным? Вот сейчас, в зависимости от расширения кнопка "скачет" по экрану. А мне нужно, чтобы ее позиция была неизменна относительно пропорций/разрешения экрана.
Работает збс, пропорции и координаты сохраняет, меняет в риалтайме, НО - кнопку я могу разместить только в пределах, указанных на картинке. И это логично, лол.
Как мне его это самое, расшевелить в мёртвую зону, отмеченную синим?
>>135647 >Screen.width /30 BorderX = Screen.width / 30; SizeX = Screen.width / 7; // выравнивание по левому краю x = BorderX; // выравнивание по правому краю x = Screen.width - SizeX - BorderX;
У меня фрустрация. Как сделать спрайты-биллборды, дум-стайл? Я уже джва года бьюсь об юньку как рыба об лед. Уже столько перегуглил решений и все какие-то кривожопые. Ну что за хуйня? Есть способ через скрипт (через LookAt), но это такое говно, что я ебал его мамурот. Хотелось бы через шейдер, но те решения что работают идеально с одним спрайтиком (тот что на вики и через ротейшон-матрицу 2х2), распидорашиваются батчингом, когда спрайтов больше одного. Батчинг я отключать не хочу, поскольку по drawcall'у на каждый отдельный спрайтик это беспредел нахуй. Шейдер, который скукоживает какждый полик в точку, а потом раскукоживает обртано с батчингом как бы работает, но как бы и не работает (выглядит неправильно и спрайты не к камере поворачиваются, а к хую сатаны). Специальные шейдеры билбордов для травы и деревьев со спрайтами не работают. Нахуй так жить? Ждать пока сами разрабы сделают нормальные билборды? Так уже пятерочка в бете, а нормальных билбордов все нет. Работа встала. Что делать и как дальше жить?
>>135734 В том-то и дело, я пробовал вершинные шейдеры. Без батчинга все заебок выглядит, но на каждый спрайт — drawcall. С батчингом drawcall один, зато спрайты превращаются в каловую массу. Выбор между двумя стульями получается. Есть еще вариант борьбы с батчингом без его отключения — генерировать материал инстанс для каждого спрайта, но это еще хуже, поскольку теперь не только на каждый спрайт будет по drawcall'у, но и на каждый "уникальный" материал. Это как сразу на оба стула сесть. И никто нигде нихуя не знает. Хотя нарыть можно штук пять разных билборд-шейдеров, а толку-то от них?
>>135737 Я нипонел, с батчингом в камеру не смотрят или альфа ломается? Если второе, то важен порядок рисования. Нужно их сортировать по дистанции и рисовать от дальних к ближним. Т.е. в юньке нужно как-нибудь явно завести батч под это дело и рисовать только через него без левых оптимизаций. Еще есть техника рисования бинарной прозрачноти - за два прохода и свободном порядке отрисовки. Нет времени обеснять. Может тебе такая нада.
>>135748 > Я нипонел, с батчингом в камеру не смотрят или альфа ломается? С альфой-то все нормально. В камеру спрайты смотрят не как нужно, а дружно, объединяясь в одну единую хуйню, поскольку большинство испытанных шейдеров реализуют билборд либо как проекцию на камеру экран, либо вращают вертексы вокруг геометрического центра. В обоих случах геометрический центр задействован, так или иначе. Батчинг, объединяя спрайты вместе, создает новый общий центр для них, и тут либо проекцию пидарасит в одних шейдерах, либо все спрайты на сцене начинают вращаться инфернальным хороводом вокруг нового центра при перемещении/повороте камеры. Вот я и ломаю голову, пытаясь понять, есть ли способ сделать так чтобы спрайты рендерились правильно и при этом не нужно было бы убивать батчинг, жертвуя оптимизацией.
>>135751 Ясно, JFL тогда совсем финт ушами - запихни в свободную семантику (TANGENT или еще какую, у юньки кажется один тип вершины для всех) фактический центр билборда и для расчета поворота в шойдере юзай его. Может поможет.
>>135754 Не понел, как я узнаю фактический центр полигона? Вообще, я находил шейдеры с финтами, но они все равно выглядят неправильно и делают со спрайтами какую-то особую говномагию, например: http://forum.unity3d.com/threads/billboard-shader-using-vertex-offsets-in-color-or-uv2-data.192652/ Описан он так: "Суть в том что в меше 4 вертекса каждого билборда "схлопываются" в одну точку, которая будет центром вращения для билборда, а в uv2 записываются значения офсета. Шейдер же по этим значениям растягивает билборд обратно до прямоугольника и поворачивает его к камере." Так вот после батчинга спрайтики вокруг своих центров пытаются вращаться, это видно невооруженным глазом, но ключевое слово тут пытаются. Пытаются они плохо и на билборд только похожи. Неприемлемо. Может я просто извращенец и мне следует забить хуй на оптимизацию как это все остальные делают? В пизду батчинг? Может в этом и суть юнити?
Есть такой код: targetVelocity = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
Когда Horizontal и Vertical нажимаются одновременно их скорости складываются. Как этого избежать и ограничить скорость? Если добавить normalize, то со скоростью все нормально, но при остановке объект проезжает еще некоторое расстояние.
>>135758 >Не понел, как я узнаю фактический центр полигона? Не полигона, а билборда. Это просто его мировые координаты.
У тебя батчинг собирает все билборды в один вершинный буфер, а все мировые матрицы сливат в одну - среднюю для получившийся геометрии. Поэтому шойдер неправильно поворачавает все билборды относительно этой сумарной мировой матрицы.
Суть тебе в вершины меша каждого билборда нужно схоронить его мировую матрицу. Но вся матрица не нужна - вращение ты посчитаешь в шейдере, машстаб будет запечен в вершины при батчинге, а нужен только вектор позиции в мире. Вращение нужно считать относительно этой позиции, а выводить наверно по монструозной матрице ЦентрЭкспозиции х Вращение.
>в меше 4 вертекса каждого билборда "схлопываются" в одну точку, которая будет центром вращения для билборда Эту точку можно влоб сохранить в каждой вершине.
>Может я просто извращенец и мне следует забить хуй на оптимизацию как это все остальные делают? Забей, если их будет меньше 200, когда фактически затормозит - тогда и впадай во фрустрацию делай оптимизацию.
>>135762 >Суть тебе в вершины меша каждого билборда нужно схоронить его мировую матрицу. Но вся матрица не нужна — вращение ты посчитаешь в шейдере, машстаб будет запечен в вершины при батчинге, а нужен только вектор позиции в мире. Вращение нужно считать относительно этой позиции, а выводить наверно по монструозной матрице ЦентрЭкспозиции х Вращение. Осталось только перевести это с русского на CG. >нужно схоронить его мировую матрицу "Его мировая матрица" это _Object2World что ли? Алсо, нипанимат как как вилкой чистить? сохранять матрицу в вершины.
На юнити можно написать встроенными средствами не шутан или аркаду, а стратежку (в том числе и пошаговую) или сложный файтинг с зонами повреждений разными?
такая проблема, когда указываю процент минусовой, дверь багается и начинает крутится, как сделать, чтобы она нормально открывалась в противоположную сторону. код висит на пустышке, пустышка где-то у петелек двери, а в сумой пустышки модель двери.
код(сокр.) ==
var smooth = 2.0; var DoorOpenAngle = 90.0; private var open : boolean;
private var defaultRot : Vector3; private var openRot : Vector3;
function Start(){ defaultRot = transform.eulerAngles; openRot = new Vector3 (defaultRot.x, defaultRot.y + DoorOpenAngle, defaultRot.z); }
//Main function function Update (){ if(open){ //Open door transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, openRot, Time.deltaTime smooth); }else{ //Close door transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, defaultRot, Time.deltaTime smooth); }
if(Input.GetKeyDown(KeyCode.Mouse0)){ open = !open; } }
Привет, анон, у меня нубский вопрос. Я, значит, набросал в блендере модельку (точнее, спиздил из фоллача и допилил до того, что хотел, ну неважно), запилил в нее арматуру, сделал анимации, экспортировал все это в fbx и сунул в юнити. Все работает, анимации работают, но теперь я хочу на ходу поворачивать определенные кости арматуры туда-сюда, чтобы, скажем, целиться мышкой. Погуглив, я написал скрипт, который поворачивает кость с помощью transform.LookAt(), но кость поворачивается под неправильным углом, и какие бы другие способы я не пробовал (например, менять localEulerAngles или localRotation), требуемого угла так и не смог добиться. Возможно я объясняю слишком туманно, но просто скажи, анон, встречался ли ты с похожей проблемой, и как ее решал? Спасибо. Пикрилейтед, здесь рука должна "указывать" на маленький куб, и при движении куба она двигается, но угол не тот.
>>135851 Окей, вроде бы у меня начало что-то получаться, когда я просто корректирую углы на ходу - создаю невидимый трансформ, направляю его LookAt()-ом на цель, потом присваиваю его rotation переменной-кватерниону, вручную меняю в нем x, y и z и потом по этому кватерниону ставлю rotation собственно кости. Завтра попробую это довести до ума, но выглядит это все костыльно пиздец.
FLURRY - анончики, дайте плагин для подключения аналитики от Flurry. Испробовал два бесплатных плагина - нихрена не работает. В статистике на сайте всё по нулям, будто запросы не отправляются.
Я тут подумал, а зогчем мета файлы, если проект в гите? Только лишние нерешаемы конфликты с ними. ТЛ говорит, что бкз них гит работать не будет, что они специально нужны, что бы работали систем контроля версий. Слова ТЛ обычно не ставятся под сомнение, но я читал что мета файлы нужны для внутренного юнитивского контроля версий и вообще, гиту ведь по брабану что там внутри в файлах, ёлки-палки. я вроде нормально читаю документацию на анг, но как-то очень туго идет тот текст, где про мета файлы, какая-то черная антианглийская магия Что думаешь по этому вопросу, анон?
>>136073 он в корзину ложится, лол. А ещё не храни объекты на сцене, сразу делай префабы, а то удалить со сцены можно. а восстановить уже нельзя (в истории изменение будет лишь изменившийся файл сцены, которые не сранишь ни с чем, а если есть префаб - то видно, был файл и не стало).
Анон, с помощью GetAlphamaps (ссылка снизу) можно узнать текстуру намазанную на террейн, можно ли также получить текстуру на ГеймОбжекте без тегов и прочей ебли?
Есть объект триггер. Он натыкается на объект не триггер, на котором висит скрипт
void OnCollisionEnter2D(Collision2D objct){
intScore += CheckScore(objct.gameObject.name);
}
Но скрипт не работает. Точнее не работает тогда, когда объект-триггер, с объектами нетриггерами все ок. Так вот вопрос, как заставить его работать с объектами триггерами?
Быстро! Решительно! Тутор по производству метроидвании на унитей! Или готовую метроидванию для рескина. Бабла хотца аж пищу, а кроме рисовать нихуя не умею.
Выручайте парни. Проблема с экспортом модельки с анимацией из блендера в юнитю через fbx. Есть 3 (из 10) анимации, которые после импорта в юнитю стали криво проигрываться. Несколько костей вместо того чтобы принять угол наклона из анимации, остаются с углом начальной позы. Собственно пикрелейтед. В блендере кейфреймы анимации записаны для всех костей. Была использована инверсная кинематика. Анимация записана action клипами. Где я обосрался?
Антониусы, подскажите по 2D камере. Как подобрать размер, чтобы при разрешении, под которое всё рисуется, всё выглядело как в оригинале? Скажем, первоначальное разрешение 1920x1080. Как размер камеры подобрать, чтобы ничего не сжималось?
>>136526 Если делаю новую анимацию (в блендере), и копирую позиции костей для первого кейфрейма из глюченной анимации, то и эта анимация запарывается в юнитях. Соответственно перезапись кеев анимации тоже не прокатывает. Выход я нашел ровно один - перехуячивать запоротые клипы с нуля. Спасибо отписавшимся антонидусам за попытки помощи.
>>136579 1. Все изображения должны быть квадратными со сторонами равными степеням двойки (512х512, 1024х1024) 2. При импорте в графе Filter Mode ставишь Point 3. Потом определись сколько единиц выстоты у тебя собственно в кадре. От этого задается и pixel to units в импорте изображений, и размер камеры (который задается высотой экрана в юнитах/2)
Ананасы, тут такое дело, намоделил я значит 2 персонажа (женский\мужской) сделал по паре сетов одежды (футболки, штаны, шапки, обувь, etc), сделал несколько анимаций, теперь как это все в юнити реализовывать? Что бы можно было снимать\надевать разные шмотки ну как в классической rpg.
>>136682 Ну значит таргет не в глобальном пространстве, а в локальном камеры, и для глобального надо добавить транслейт камеры. Тогда не собьется. Ну чо ты как деточка - поставь дебаг.логов и сразу будет видно, что если таргет в локальном пространстве он никогда не преевысит разрешения экрана.
Котаны, вопрос. Адекватно ли использовать стейт машину контроллера анимаций для игровой логики? Например надо реализовать симуляцию поведения, когда юнит должен ходить кушать, спать и какать не в определенное время, а в зависимости от показателей голода/усталости, которые расходуются по формулам в зависимости от активности.
>>136395 Лучше подойдет рпг мейкер. Но если приперло юнити гугли туторы по top-down 2d, делается не сложно это все. То что ты ноль в програмирвоне не решает. Зависит от того насколько ты в целом тупой и умеешь ли гуглить и воспринимать инфу из туторов. Ну и от лени конечно тоже.
Надеюсь на вашу помощь ананасы. Почему не работает анимация? Все экспортирую из блендера в fbx. Анимация во вкладке есть и воспроизводится, а при перемещении модели на сцену ее там нет.
Как можно реализовать смену одежды\брони в юнити? При этом сохранить все анимации, нужно что то вроде обычной рпг системы смены брони используя mecanim?
>>137312 Делаешь все доступные модельки оружия/брони на одном персонаже, навешиваешь их на арматуру, потом в юнити просто отключаешь/включаешь отдельные меши. Оружие можно просто крепить к отдельным костям в редакторе
>>137317 Это решение будет верным даже при условии что имеется около 50 различных частей одежды? Будут ли они рендерется и есть ресурсы если присутствуют но отключены?
Сап. Тренировки ради решил запилить простенький арканоид по урокам с ютьюба. Все заебись до того момента, как начал прописывать физику шарика. Оказалось, что шарик прекрасно отрабатывает сталкивания с препятствиями, но если разогнать шарик до некоторой скорости, он начинает проходить через них, притом не всегда, а когда ему вздумается. На не очень больших скоростях данного бага не обнаружено. Баг вылезает, когда я зацикливаю шарик между 2 препятствий, и при каждом столкновении слегка увеличиваю скорость шара. Пробовал менять толщину препятствий, эффект такой же. Если кто-то решит взглянуть на эту хуйню, то милости прошу http://rghost.ru/58558848
>>137395 Я никак их не проверяю. Но у меня есть onColisionEnter(Colision col), которая автоматом срабатывает при колизиях и выполняет свое тело. Да посрать на колизии, если я изначально поставлю достаточно большую скорость, то шарик сразу, или почти сразу улетит нахуй. Или я что-то упускаю?
>>137395 Я выпилил вообще все, кроме AddRelativeForce, действующей на rigidbody шарика. Если эта сила не очень сильно впечатывает его в препятствие, то все заебком, но для каждого препятствия находится такая сила, что шарик проходит через него. Я погуглил "прочность коллайдера", но ничего такого не нашел, просто блядь пробивает коллайдер и летит себе дальше. Притом экспериментально установлено, что пробитый коллайдер не становится дырявым. Если что, для препятствий нет никакой физики, просто коллайдеры, а вот шарик физический.
>>137399 >никак их не проверяю >у меня есть onColisionEnter(Colision col)
Тащемта это и есть проверка коллизий. Суть в том, что она работает примерно так: проверяет каждый апдейт, находится ли тело в пересечении с другим, если да - то дергает этот метод с проброшенной ссылкой на тело. И если твой шарик за апдейт пролетает ебическое расстояние за счет большой скорости, то вполне вероятно, что пересечений не сдетектится: будет проверка до препятствия - нет пересечений, апдейт, новые координаты, тело уже находится ПОСЛЕ препятствия, проверка - нет пересечений. Решение этой проблемы возможно такое: использовать рейкаст. Как? В каждом апдейте делать рейкаст из предполагаемого расчетного местонахождения шарика в этом апдейте на расстояние, которое он должен был пройти со времени предыдущей проверки со своей скоростью в обратном направлении, то есть чекаешь на коллизии весь пройденный за апдейт путь. И если ты обнаруживаешь, что луч воткнулся в препятствие, то это значит, что в этом апдейте шарик через него прошел. Тогда уже нажно делать перерасчет траектории и задавать новые коодринату/направление/скорость в зависимости от точки сопрокосновения и свойств материала. Доходчиво?
>>137403 > Доходчиво? Просто охуенно, бро! Я не знал как моя проверка работает. У меня впрочем были подобные подозрения, но я исключил их, когда заметил отсутствие зависимости между толщиной и проницаемостью препятствия (не ебу почему так, но как это исправить я понел).
Решил запилить персонажа для First Persone игры. Собственно, что лучше использовать для его реализации Character Controller или Rigidbody? Одни советуют CC, другие говорят, что он тормозной и с ним много проблем и лучше использовать Rigidbody.
Анимация проблемы. Есть ригнутая модель, на нее накинут аниматор контроллер (пик 1), в аниметор контроллере 1 анимация из ассет стора (пик 2), при запуске модель перемешается на рандомные координаты (пик 3), как быть?
>>137420 пробовал оба. Зависит от степени контроля на который ты ориентируешся. С контролером все движения происходят слишком резко а всякие взаимодействия с физоном некрасиво и надо возится чтобы избавится от чувства будто бегаешь по рельсам. с риджидбоди все заебись, но чтобы оно двигалось так как этого ожидаешь ты порой приходится поизьебыватся с костылями, которые в один момент могут начать вести себя забавно.
я остановился на риджидбоди. СС больше подходит для игры от третьего лица.
Столкнулся с такой проблемой - нужно затекстурить, например, большое бетонное здание - ДЛЯ ИГРЫ.
Так вот, если покрывать поверхность тупо тайлингованым квадратиком текстуры, то поверхность будет однообразной и неестественной - без запечённых теней и всякого рода грязи на стыках и изгибах. Также, с одной стороны наложение такой текстурки не требует особой ебли с анврапом, с другой - даёт заметные повторения.
Как вы решаете этот вопрос?
Допустим, если стена длинная, но не высокая, то можно сделать квадрат по высоте, с грязью внизу и вверху.
А если стена огромная? Или, например, плитка на полу - по центру однообразная, ближе к стенам - грязная.
Разбиваете здание на части, там, где нужно добавить запечённую тень или грязь?
>>137626 Можно задействовать второй канал UV, если не собираешься печь лайтмапы. Немного шейдинга и проблема решена. Хотя можно даже в один канал уложиться, если тайлить вручную в юнити
Аноны, есть вопрос, который вам задавали уже раз сто, наверное, но я его что-то проглядел. Так что, если этот вопрос кого-то уже всерьёз раздражает - извиняюсь.
Можно ли пичкать андройдовские игры рекламой, если она сделана на бесплатной версии?
>Можно задействовать второй канал UV, если не собираешься печь лайтмапы. Немного шейдинга и проблема решена. Хотя можно даже в один канал уложиться, если тайлить вручную в юнити >>137628
Я нихуя не пони. >Можно задействовать второй канал UV Где? В Юнити? ИЗначально я моделю в блендере, там есть возможность делать несколько UV разверток для одного меша - это оно? Я, оказывается, нихуя не знаю как это делать в юнити.
>Хотя можно даже в один канал уложиться, Каким образом?
>>137648 МОжно, конечно спиздить готовое решение для Вертекс пеинта и геренации АО, но мне нужно сделать всё текстурами. Тайлингованый квадратик для основы и две развертки - для грязи и для АО/теней.
фотонопроблемы Запилил акк на https://www.exitgames.com/en/Turnbased скачал SDK, запустил примеры, вставил App-id в инспекторе и нихуя не работает, ЧЯДНТ? Ошибка типа не может в мастерсервер, хотя я проверил по докам, что именно тот сервер, который нужен указан везде где надо.
>>137648 Грязь всякую и разбивку однородности лучше делать DECAL'ями. Текстурами это проще всего сделать если нарисовать одну текстуру на все здание, с тенями и ссадниями, и одну затайлить по всему зданию.
Поставил я unity 5 (шестую бетку)... Ну что сказать - графон. Теперь кирилы могут пилить сво крайзисы....
Это была ирония. Куб на пикче показывает весь новый уровень графона unity 5. Для тех кто не понял, откройте UDK (нет, не UE4, а именно UDK на UE 3), поставьте куб. Разница как между первым думом и калофдьюти, при этом думом здесь является юнити. Да красиво - уже лучше чем было. Но нет - еще не дотягивает до мирового стандарта.
Что радует - наконец-то разработчики поняли что скайбоксы пора закапывать и запилили Atmospheric scattering из каробки (да, самый натуральный AS - там даже солнышко есть). Не прошло и 17 лет со времен еще первого Unreal. Наконец-то небо будет небом, а не кубиком наизнанку
Так и не понял - каким боком там PBS. Нашел базовые шейдеры - но там нет никакого PBS - там только самый обычный Кук-Торенс, а PBS нету. Буду искать - может они где в другом месте запрятали.
Про GI - х.з. Помню как на unity.ru фаны пеной изводились доказывая какое крутое GI будет в unity 5, не то что в этом вашем UE4 в котором его нет. Но фиг знает, сейчас я увидел GI который хуже чем в UE 3 времен 2006 года (там например кубик не сливался с поверхностью а был четко выражен - но щас попробую SSAO кинуть, посмотрю что получится) Буду искать - где тут божественное GI потерялось
Вообщем впечатление - интерфейс юнити стал весь такой мимими (о боже, да они наконец-то переделали лаунчер на что-то более внятное). Графон чуть подрос что порадует фанов unity. Но вот до современных мерок оно еще не дотягивает из каробки
Ну поставил я SSAO. Даже видно как кто-то насрал под кубиком. О да, графон, crytek пошло уволнять сотрудников.
Но это так - лирика. Я не знаю по каким учебникам физики учились юнитеки, и на какой планете они живут - но явно умбра и пенумбры неверные (если это они) (кто не знает что такое пенумбра - http://id.wikipedia.org/wiki/Umbra)
Алсо, можешь запостить этот шейдер, где у тебя прописан дирт?
И почему в юнити только два канала для UV? Вообще охуеть. А если я хочу тайлинг, лайтмап и грязь?
Я внезапно понял, что всю эту тему (в рамках юнити) совершенно не понимаю. Просто раньше всё делал по-старинке - тексурку (в которой уже и дифуз и тени из АО и все трещинки) и нормал/спек. А тут вдруг захотелось поработать с закрытым помещением, где нужно и свет правильный и тайлинг бетона этого "километровый".
Запекал АО в Блендере, а в Юнити оказывается есть лайтмепинг и своё какое-то запекание. Как это использовать?
Что годного порекомендуете почитать про написание своих шейеров в юнити, лайтмепинг и т.п?
Я просто больше артист чем кодер, и немного тридешник. Поэтому не врубаюсь.
>И почему в юнити только два канала для UV? >Вообще охуеть. >А если я хочу тайлинг, лайтмап и грязь? Ну вот 2 канала, хули тут поделать. Приходится изворачиваться с ручным тайлом.
>>137775 >там только самый обычный Кук-Торенс, а PBS нету. Что в твоем понимании PBS? PBS - это грубо говоря всего лишь Image Based Lighting вместо эмбиент колора, тесно связанные между собой диффуз и спекуляр, и набор дополнительных текстур для рассеивания света, эмбиент окклюжена, спекуляра и итд. И судя по твоему скрину там все это есть. А световая модель там может быть хоть кук-торренс, хоть фонг, хоть GGX, вообще похуй.
И последний вопрос на сегодня - вот я захотел усовершенствовать шейдер под себя, просто засунуть декаль в канал uv2:
Например, как я понимаю, это просто достаточно исправить в двух местах:
float2 uv_SecondTex; и half4 d = tex2D (_SecondTex, IN.uv2_SecondTex);
Но оно почему-то не подхватывает вторую развертку (проэцирует как-то по-своему, с поворотом на 90 градусов), хотя в шейдере с лайтмепингом - эта же текстура работает нормально.
Господа кириллы, всегда гложил вопрос - в чем смысл пилить что-то на юнити, когда есть божественные UE4 и CryEngine? Тем более они гораздо дешевле. Мне многие говорят что мол юнити проще. В чем конкретно проще?
>>137839 >божественные UE4 маслице, все в маслице, нужно скомпилировать еще маслица и обмазать им даже небо, даже аллаха >CryEngine вот и ебись с его пайплайном сам.
>>137839 >>137842 Unity такой же, как и UE4 и CryEngine. Раньше он был слабее, но проще. Сейчас проще и почти такой же по графону. UE4 и CryEngine очень грамоздкие и проекты у них компилируются по полдня.
>>137854 они различаются как паинт и фотошоп. иллюзия простоты заключается в простоте первоначального освоения. в паинте намного проще нарисовать примитивную картинку, в юнити намного проще собрать "хелло-ворлд" проект.
>>137787 >PBS - это грубо говоря всего лишь Image Based Lighting вместо эмбиент колора, тесно связанные между собой диффуз и спекуляр, и набор дополнительных текстур для рассеивания света, эмбиент окклюжена, спекуляра и итд. И судя по твоему скрину там все это есть.А световая модель там может быть хоть кук-торренс, хоть фонг, хоть GGX, вообще похуй. Где они потеряли Roughness и Metallic?
И не совсем верно, кук-торенс, фонги и прочее в PBS - не световая модель в целом, а ее части. Тогда как в шейдерах пятой юнити кук-торенс - полностью все освещение.
PBS состоит из - Diffuse (обычно формула Ламберта или Берли, но можно и Фонга) - Microfacet Specular (вот здесь юзают кукторенса) - Specular D (Вот тут уже GGX ну или блин-фонг) - Specular G - Specular F
>>137865 >Где они потеряли Roughness и Metallic? Могу предположить, что Roughness в альфа канале спекуляра. Metallic — это тот же спек колор, только немного с другой реализацией и одноканальный. Чем больше металлик, тем больше спекуляр принимает цвет альбедо. Его чуть сложнее понять художникам, и видимо юнититеки решили его не делать. Это не обязательная составляющая, а альтернатива спек колору.
>- Microfacet Specular (вот здесь юзают кукторенса) >- Specular D (Вот тут уже GGX ну или блин-фонг) Лолвут? Зачем 2 спекулярных модели освещения? К слову, GGX — не более чем более лайтовая альтернатива кук торренсу. Не такая "пластмассовая" и фейковая как фонг, но и не такая тяжелая в вычислениях как кук, хотя визуально очень на него похожа.
>- Specular G >- Specular F Тут уже идут геометрические настройки типа фреснеля и затухания, которые в теории меняться должны автоматически внутри кода шейдера в зависимости от роугнесса и силы спекуляра(спек колора). Выводить их наружу - опять же не обязательно.
>>137777 Судя по шуму на плоскости от источника света - ты нихуя не можешь в настройку и хочешь кнопку "сделать заебись".
Подозреваю что и с SSAO ты ничего не настраивал, а кинул куб с рандомными параметрами и пошел срать в тредх. SSAO, мой дорогой друг, как и многое другое, сильно зависит от масштаба. Он не может одинаково хорошо смотреться одновременно и для деталек лего и для автобусов. Приходится крутить ползунки, смекаешь?
Открывал я этот ваш UE4, там сценка отличная стартовая да. Но она уже подготовлена заранее под шутерочки. Хуяришь перса и каменную стенку, пускаешь слюни и идешь создавать тред на гейдевру "собираю команду, делаем ммоэрпехэ".
>>137864 Там начнутся проблемы, когда ты захочешь что-нибудь этакое, нормальное. Я когда работал в компании, которая делала RTS на Unity. То нам пришлось писать свой UI framework (Unity не умеет в красивый UI) и писать свою либу для AI на срр (Unity не умеет в фузилогик и прочее). Свой сервер (целых 4 человека писало). Вот такой этот ваш юнити. В UE4 этто всё есть, но это то же самое, что использовать boost для чтения файлов.
>>137869 >Судя по шуму на плоскости от источника света - ты нихуя не можешь в настройку и хочешь кнопку "сделать заебись". Шум на поверхности - это как раз правильно, читай как работает SSAO http://steps3d.narod.ru/tutorials/ssao-tutorial.html (шум в дали как я подозреваю из-за тумана)
>>137867 Я тебе повторяю, то что в юнити сейчас - это не PBS. это кучка разных моделей освещения. Чтобы стало понятней, вот я переносил PBS на юнити из UE4 http://pastebin.com/qYj3uN9H Это один из ранних вариантов и только для источника света (там еще надо было писать для материалов), но мне лень искать другие, ссылки не сохранились, да и не доделал я этот перенос - надоело Но скажу что моя реализация PBS выглядела круче чем то что сейчас в юнити
>>137867 >Могу предположить, что Roughness в альфа канале спекуляра. Охренеть, и где я должен это искать? Вообще-то это ползунок от 0 до 1, и он нужен дизайнеру - вот ему будет заебато что-то там в спекуляр карте дорисовывать
>>137869 >Но она уже подготовлена заранее под шутерочки. Открой сцену со стулом и столом. Что там под шутерочки заготовлено? Низкополигональный стул? Такой стул любой начинающий 3dsmaxер делает. И тем не менее все блестит и сверкает
Я тут вчера спрашивал про декали. Так вот - пикрелейтед, на определённом расстоянии "плавная градиентность" грязи теряет градации, как это побороть? Пробовал отключить мип-мапы, например.
Первое впечатление-игра чуть непонятна. то естественно,в игры такого рода я почти не играл(Разве что в космических ренджеров,но это было давно) Так вот-управление.Стоит добавить кнопки WASD,либо управление кораблем с помощью мышки. Для казуалов,вроде меня-небольшое обучение,что-то вроде сдачи экзаменов в космической академии(хотя то,что выпускник академии-капитан корабля-странно,можно замаскировать всё это под воспоминания.Что-то вроде-"До старта осталось 2 часа,я вспоминал своё обучение" и так далее) Далее,сразу после того,как посмотрел вступление,подумал о том,что можно сделать сюжетную ветку о землянах.Есть 3 стороны,каждая хочет сьебать с земли первой,а то и похоронить на ней остальных.Европейцы фашисты,подлые Азиаты,злобные Американцы.Тут есть где разгуляться.
В тексте,когда заходишь к военным,поболтать не хватает буквы Е,в описании: Его лицо покрыто морщинами,но еще не
Начал недавно юнити2д Как реализовать такое освещение? Чтобы видимость была задана некоторым радиусом. Стандартное освещение с sprite-diffuse не подходит, спрайты с недостаточным освещением не становятся черными, а с избыточными белеют, а не просто сохраняют цвет.
>>137959 Ах, да. Пока кладу поверху pngшку, но ведь это же как то не комильфо, не? Планируется еще, чтобы некоторые объекты тоже были источниками света, не только игрок.
>>134542 Бля, ребята, как управление наклоном зделоть на ведре? gyro.attitude вообще не реагирует ни на что.
ММО, с чего начать?Аноним22/10/14 Срд 13:11:01#311№137999
Да, неожиданно. Вообщем хочу начать ММО. Что есть про серверы заточенные под юнити (идеально бы если бы был урок где пишут простой сервер и клиент с бегающими кубиками)?
>>138009 логинишься на сайте, жмешь dashboard->my applications там будет application id, копируешь его.
В юнити жмешь в окне визарда Setup под надписью "I am already signed up. Let me enter AppId" должно отобразиться поле для ввода текста, вводишь туда свой AppId, скопированный ранее с сайта. Сохраняешь.
>>138081 >как сделать смешивание не через альфаканал/полу-прозрачность а типа мултиплай в ФШ ? Так мультиплай и переводится как умножение. Когда объявляешь переменные, и принимаешь данные из текстур, воспринимай для себя числа как простой цвет. 0 — черное, 1 — белое. Чтобы получить смешивание Multiply, надо всего лишь умножить одну переменную на другую. Математика в фотошопе работает абсолютно также. http://tech-artists.org/wiki/Blending_functions Если писать сюрфейс шейдеры, и тебе не нужно что то уже очень заковыристое, типа фрагментных шейдеров, постэффектов или кастомных моделей освещения, то тебе достаточно просто научиться правильно объявлять переменные и понять как работать с блендингами.
>Где вообще почитать про юнити-шейдеры и как их писать? Куча школотуториалов на ютубе, конкретно для юнити, Куча Built-in шейдеров в качестве примеров, оффициальная документация по шейдерлабу и немного обычных источников инфы по HLSL коих в сети уйма, благо от юнитевского шейдерлаба HLSL почти не отличим.
Делаю свой cutoff по альфе, ибо из коробки (те которые мне были предложены гуглом) не дружат с спрайтрендерером. Почему не применяются слои? У кольца в спрайтрендерере указан слой выше черного (такой же как у сердца). Сам шейдер не очень хорошо знаю, ибо приходится делать размер текстуры cutoff такой же, как у main.
>>138148 Попоробуй черному кругу назначить один шейдер, а кольцу и сердцу другой. В шейдере, который будут использовать сердце и кольцо в теге прописать Tags {"Queue" = "Transparent+1" } Таким образом все объекты с этим шейдером будут рисоваться в последнюю очередь и поверх других объектов.
Ну шо, вот я и провел первые тесты на ведре. На удивление плавно, учитывая полное отсутствие оптимизации. Хотя иногда случаются подвисания, но я списываю это на свой говнодевайс. Осталось только прикрутить рекламу.
Собственно, вчера я весь день пинал хуи, как и сегодня, потому и так долго. Мог бы за 3 дня управиться. Такие дела.
Алсо, на скриншотах все движущиеся текстурки распидорасило. Чому это?
Парни, как запилить скрипт тригеров переключения анимаций для демки персонажа, с учетом того, что не могу в коденг? Может у кого-нибудь завалялся шаблон, куда можно подставить character_name@animatiоn_name ? Всего 7 анимаций.
>>138348 Помоги плезик хотя бы с тремя, дальше попробую сам. Сейчас поудмал, а правильно ли ты меня понял, ведь я имел ввиду переключение мышкой по ui кнопкам в веб-билде, а не мекканим!
Анон, файлы character_name@animatiоn_name.fbx готовы, нужно связать только. И кстати не понял почему проигрывается только первая анимация, делал через способ с отдельными файлами, +один без анимации кинул в иерархи и переключил в легаси, остальные залупил и тоже в режиме легаси поставил. Как можно пофиксить? Или так происходит потому что нет ui переключателей?
>>138441 Хорошо, тебе нужно сделать элемент mgui и связать его со сценой на отдельном слое, где будет твоя модель которая будет воспроизводить анимацию, в зависимости от того на какой из 1-7 элементов ты нажмешь. По крайней мере, я полагаю что именно так будет выглядеть твоя задумка, но могу ошибаться, т.к ни в gd я не умею. Мимонуфаг
>>138445 Тем что цель именно демонстрация анимаций, а не физона, ну плюс я не разбирался пока с меканим. >>138448 >Хорошо, тебе нужно сделать элемент mgui и связать его со сценой на отдельном слое, где будет твоя модель которая будет воспроизводить анимацию, в зависимости от того на какой из 1-7 элементов ты нажмешь Лол спасибо, ты все абсолютно правильно понял, проблема в том что >не могу в коденг Тащемта потому и просил образец, куда можно подставить свои character_name@animatiоn_name
>>138448 Если подскажешь, как именно можно реализовать элемент mgui и связать его со сценой на отдельном слое, где будет модель которая будет воспроизводить анимацию, в зависимости от того на какой из 1-7 элементов ты нажмешь, то с меня няшки. :333
>>138451 Я тоже не могу в коденг, но я бы пошел на юнити скрипт референс и поискал бы там команды mgui, где-то видел условие "если триггер элемента активирован, то...". Я вот только хуй знает, если у тебя есть контроллер, надо объявлять скорость animclip или нет. все тот же мимонуфаг
Пагни, нашел вроде бы поХожий скрипт, с описанием на мунспике, как его переделать под себя? Насколько понимаю он через префабы работает. Можно сделать так чтобы избежать ебалу с префабами?
Пиздец ребята, довыебывался с этими скриптами/анимацией, сломался компилятор и xуй знает как теперь чинить. Сначала думал что скрипты конфликтуют межу собой, удолил второй, но не помогло
Юнити-тред. Расскажи о сериализации. Попробовал сериализацию юнити, охуел. Я два дня догонял методом тыка почему же не сохраняется лист с классами наследуемыми от абстрактного класса, а потом еще удивлялся откуда какая-то хуйня на бывших нуллах взялась. Сделают же блять. Ну его нахуй. Попробовад xml сериализацию, понравилось в начале, но не понравилось с того сколько надо писать говна для сериализации в базовом классе. учитывая что у меня от базового отходит еще два абстрактных и еще от них потенциально дохуища и оно все ссылается друг на друга, мне не понравилось. попробовал бинарную сериализацию и вот просто заебииись. но после каждой перекомпиляции проекта получаю эксепшен сериализации.
>>138717 Сериализация - удел С-богов и прочих DOD. С твоей ООП-абстрагирование-мешаниной не прокатит. Пиши в xml или json и потом сериализуй. На gamedev.ru был пост какой-то про ето.
>>138648 >>138734 Ты дибил и манямирок. Не можешь даже в простую терминологию. greedy algorithm (жадный алгоритм) это общее название алгоритмов, которые медленно работают из-за криворукости кодеров. Весь LOD делается руками в редакторе. Для каждой модельки.
>>138735 Маня, конечно я не могу в простую терминологию - я попросту не был с этим знаком прежде, и приходится все это узнавать и вытягивать инфу, по чуть-чуть, из таких пидоров как ты. А так, спасибо за подробный ответ.
>>138722 meh. на эту свалку не хочу идти искать какой-то пост. но похоже реальне потом придется переписывать сериализацию под xml и еще повозится с сохранением ссылок.
>>139077 в чем бида то? на например вот просто треугольник без всего.
>>139203 Ключ от кряка перетащи куда-нибудь, запусти юнити без него, пройди процедуру регистрации фришной версии и в папке появится новый. Меняешь один на другой когда тебе надо.
Ананас, помоги разобраться. В общем хочу сделать так, чтобы все предметы на экране подчинялись силам притяжения как в рельной жизни, т.е. чтобы игрок вертеле телефон и все все равно летело вниз. Как сделать? У гугла спрашивал, но чет не нашел. Может запрос не так составляю..
Есть класс А, в классе есть float. Есть класс Б, я хочу чтобы в классе Б была ссылка на float из класса А, которая бы участвовала во внутренней логике класса Б. Как написать?
>>139512 дополнительное условие - в классе Б лучше не оставлять ссылку на класс А, потому как флоат меняется в классе С, используется в классе Б и желательно хранится в классе А, который является классом для хранения ключевых переменных. вот хочу что-то вроде public class Float{ public float; public Float(float f){float = f;} } public class ClassA{ public Float ClassAFloat= new Float(myfloat); } public class ClassB{ public Float = ClassA.ClassAFloat; } Но только без этой ужасной хуйни с желанием сделать из одной переменной обжект, просто чтобы была возможность оставлять ссылки.
>>139519 Спасибо. А зачем кто-то сохраняет треды в таком каличном сервисе (картинок нет, нумерация постов проёбана, поиск не работает) если есть arhivach ?
/////////////////////////////////////////////////////////////////////////// Держите, ребятки, мой "титанический" труд. Если хотите, добавите в следующую шапку. Следующий будет 16-ым. ///////////////////////////////////////////////////////////////////////////
>>139520 Да хуй его знает. Там сохранялка автоматическа, а на архиваче нужно указывать что схоронять. Поиск удручает, да.
Это, ты схороняй себе юнити-треды со своими постами. Будешь их перечитывать долгими осеними вечерами. В следущем году наступит полная чебурашка, и вряд ли мы с тобой еще так вольно посидим.
>>139526 Тем что он не подразумевает хранение там где надо. Ладно, опишу более сложно что хочу. Вот смотри, у меня есть переменная, переменная определяется в классах А. У меня есть класс-хранилище с классами Б где в зависимости от класса и других переменных определяется что он возвращает, в которых тоже есть переменная. Переменная может приходить туда из потенциально большого количества мест, потому я не могу описывать там каждое место, но я хочу чтобы переменная в классах Б менялась из класса А, как если бы у класса Б была ссылка на переменную из класса А. Я мог бы пользоваться, конечно, классами Б для хранения переменных в классе А(все манипуляции с классами Б происходят в классе В), но это неудобно. И я понятия не имею куда тут воткнуть ref и что ты подразумеваешь под val я не знаю.
>>139569 Верней даже не так. В классе А определяется не сама переменная, а проверка условий в зависимости от которых переменной присваивается то или иное значение.
>>139592 Лол, проекции такие проекции. Я не раз заходил сюда что-нибудь спросить, а в ответ только мычание. Приходилось самому разбираться. Суть юнити-быдла: нихуя не уметь и сидеть с умным ебалом в треде.
создаю объект из префаба. в префабе скрипт в котором public gameobject в который я запихиваю gameobject получаемый из istantiate. тот скрипт удаляет объект через 5 секунд через Destroy(go,5) так вот не удаляет нихера. а если в скрипте указывать свой геймобжект то после удаления первого созданного оно пишет нуль референс эксепшн. что я делаю не так?
>>139686 Собственно, а зачем ты в геймобжект суешь ссылку на самого себя? Ты же наследуешь от монобихейвора, а значит у тебя и так сразу есть ссылка на самого себя лол. Чтобы удалить ГО можно написать Destroy(this.gameObject) же.
>>139688 Поясни, пожалуйста. Понятно, что меши, но почему их больше, чем надо? Или юнити генерит отдельные меши для частей составного объекта и для самого объекта?
>>139741 Ну неужели так сложно понять что нельзя делать абсолютную темень везде кроме фонарика - это бесит просто пиздец. Сделай чтобы было чуть чуть видно что вокруг хотя бы.
Привет, гдев Как в юнити сделать бесконечную платформу? Скриптом создавать снаружи видеоискателя камеры платформу из префаба, каждый раз, как только персонаж приближается к краю? Или есть более лаконичные способы? Мне нужно, чтобы персонаж никогда не смог бы провалиться в пропасть.
Начал изучать юнити, такой вопрос - мешколлайдер не работает, модель проваливается через террейн. Изменил на боксколлайдер - все отлично. Но мне нужен именно мешколлайдер
И тут я понял, что без знания шарпа я не могу НИХУЯ НОРМАЛЬНОГО СДЕЛАТЬ, ну беру задачу, декомпозирую ее, но, блять, она по стековерфлоу и прочим решается далеко не методами юнитигейдева. Пиздец у меня истерика стала.
Возможно у меня ебанутый и совсем тупой вопрос, но смотрите: у меня есть AddForce. Я задаю движение по вектору вверх(Vector2.up), все окей. Поворачиваю тело - оно движется все равно вверх относительно глобальной оси координат. Как заставить его двигаться относительно локальной оси координат вверх?
>>139887 Так, вопрос решился сам собой, оказывается есть такая няша как AddRelativeForce. Теперь сразу другой вопрос, как сделать AddForce к определенному объекту? В AddForceAtPosition я потыкался, но что-то нихуя не вышло.
>>140047 ну раз второй бамп, то следует ответить. Собстна, а чего хочешь то? чтобы игрун бегал по большой плоской хуйне? тогда проще сразу выставить ей огромные размеры. если хочешь что-то осмысленное то да. Или если оно повторяющееся то можно сделать платформу 3х3 и когда игрок подходит к краю то просто телепортировать его, все равно не заметит. конкретизируй свои желания.
Хотелось бы исповедоваться в треде и покаяться перед неизвестным автором анимированных рук и оружия к ним, за то что пришлось их поместить свой проект до тех пор, пока не найду им бесплатную альтернативу (ну или не запилю свои, ололо). Кто бы ты ни был, я с тобой обязательно рассчитаюсь, когда мой ААА-шутер следующего поколения, убийца крузиса взлетит. мимо принципиальная копирастоблядь
Итак, после почти суток непрерывной работы в юнити, меня внезапно переклинило, и стало казаться, что я намудил с масштабами объектов во всем проекте, и они раз в 5-10 больше, чем должны быть на самом деле. Делать нечего - полез переделывать. И лишь после того, как в обычную комнату перестал вмещаться кубический примитив, я осознал что я совсем поехал, и самое время пойти поспать. А так же, хотелось бы отсосать тому, кто придумал ctrl+z. У меня все, всем спокойной ночи, и держите голову всегда холодной и не поддавайтесь сиюминутному импульсу. Иначе пиздец.
>>140047 Я оставлял персонажа на месте и двигал сам у платформа и остальные объекты, когда делал раннер, а потом телепортировал платформу в исходную позицию.
>>140048 >>140047 >>140050 >>140068 >>140084 2d лаунчер. нужна бесконечная земля с повторяющейся текстурой. Да, телепорт - варик., однако я думал есть другой более лаконичный способ. К примеру сделать платформу, большую чем видоискатель камеры, натянуть текстуру. И когда персонаж двигается, то двигать за ним эту платформу, но при этом текстуру двигать в обратном направлении.
есть ряд вопросов по 2д для юнити, собираюсь попробовать сделать мир как в Террарии: 1. стоит ли покупать uni2d, пока на него скидка? 2. актуален ли сейчас 2d toolkit? 3. стоит ли вообще использовать сторонние подобные библиотеки?
Здравствуйте. Я пришел сюда рассказать, как юнитипетушня соснула Только одна ссылка. http://zephyrosanemos.com/ WebGL вне конкуренции. Юнити - костыль для умственно отсталых кирюш.
>>140198 Так в 5 версии юнити будет билд под вебгл. Вот только разработчики говорят, что толку от этого мало. Большие проекты нереально будет перенести на вебгл с юнити плеера.
Ананасы, кто нибудь скажет мне - каким макаром мне сделать полностью скриптовое перемещение персонажа?
Решил тут запилить по настоящему отзывчивое и офигенное управление, как в олдскульных платформерах, и тут же встрял.
В любом официальном туториале советуют - СДЕЛАТЬ ПЕРСОНАЖА КВАДРАТОМ С КРУГОМ СНИЗУ, ЗАБЛОКИРОВАТЬ ПОВОРОТ И ДВИГАТЬ ФИЗИЧЕСКИМИ СИЛАМИ. Пиздос. Ощущение от такого управления - будто играешь инвалидом на скользкой поверхности. Да и костылями всё это обрастёт, когда придёт очередь движущихся поверхностей.
Погуглив - нашёл куда более лучшие примеры, с Raycast'ами вместо проверки столкновений, но тут тоже минусы: - чем больше лучей кастуешь, тем более точные столкновения, костыли при столкновении углами.
Потом решил запилить свой алгоритм (пикрелейтед), который за 1 расчёт трассирует путь который пройдёт обьект за 1 кадр: Делается SweepTest, при обнаружении столкновения высчитывается новый вектор движения, из дистанции высчитывается пройденный путь и всё продолжается до тех пор пока не удастся переместить обьект полностью или не закончатся попытки. А как запустил - понял что для его правильной работы нужно ввести погрешность в 0.01f, иначе пиздос и пропуск столкновений. А с погрешностью оно дёргаться начинает.
Короче, ананас, я в смятении, есть ли у тебя нормальные примеры алгоритмов реализации перемещения персонажа в платформере? Желательно без привязки к тайловой сетке.
>>140237 > полностью скриптовое перемещение персонажа лол, это как? или ты наслушался петушиных воплей боженовых-логвиновых, что всё на скриптах? Делай капсуду или 2 круга и квадрат. Отключай им вращение и трение. Потом просто велосити применяй.
Аноны, решил обмазаться юнити, но мой ноут древний, как говно мамонта - двухъядерный ай3, 2 гига опертивы на борту и видеокарта, не способная потянуть скайрим даже на средних. Стоит ли пытаться пилить что-нибудь на юнити, или без апгрейда пеки мне не обойтись?
>>140292 идешь на cgpeer, ищешь в торентах юнити 5. Ищешь последнюю. Читаешь коментарии. Там написано от какой версии надо взять крек. Ищешь эту версию, качаешь - профит
Я вот экспортирую 3Д-модели из блендера в fbx, для юнити.
Так вот, иногда у некоторых моделей появляется два материала вместо одного (не зависимо от настроек материалов или групп выделения в блендере). Причём, эти "лишние" материалы покрывают не обязательно всю поверхность, но некую часть.
Иногда это мешает, а иногда - было бы очень полезным.
Если я знаю только джаваскрипт, стоит ли обмазаться юнити или лучше си-шарп сначала выучить? Алсо, если выпустить игру с напизженными ассетами, дадут пизды?
Братишки, пилю 2д игру, подскажите где я могу прочитать про анимацию 2д объектов? Суть такова: Есть пушка, у пушки есть ствол, я хочу чтобы ствол вращался в сторону противника, если я просто делаю один спрайт пушки вместе со стволом и вращаю его, то всё просто и понятно, но как сделать так чтобы ствол вращался независимо от пушки?
>>140357 Два спрайта - ствол и пушка, ствол делаешь дочерним элементом пушки. Двиаются вместе, крутить стволом можно независимо от лафета, хули тут непонятного?
>>140358 Я так и сделал, ствол отдельным элементом, только вот как им крутить я не понимаю.
Я просто видимо тупой, ну и пилю игру второй день да, опыта нихуя нету.
Я нашел что мне нужно есть такая хуйня hinge joint - вот мне нужно то же самое только чтобы я мог из скрипта управлять углом поворота, хуй знает как объяснить
>>140360 В скрипте в секции объявления переменных напиши public Transform stvol; - в редакторе у скрипта на пушке появится поле, хватай ствол мышкой и тащи его в это поле. В скрипте управляешь всей пушкой так - transform.Translate(...); стволом stvol.Rotate(...) Можно реализовать иначе, но этот вариант самый простой.
>>140392 Юзай макс, мудила. КОКОКО БЛЕНДОР БИСПЛАТЕН, студенческую лицензию на 3 года autodesk бесплатно даёт даже таким криворуким обмудкам как ты, куб свой нормально экспортнуть не можешь, лалка.
Антоны, плюсовый кодер ньюфаг в юнити репортин ин. Начал недавно изучать по туториалам, и вот хочу найти какой-нибудь не слишком большой проект с интересными фичами для изучения путем реверс инжениринга.
Что посоветуете? Желательно что-нибудь изометрическое или топ-даун экшон.
Гейбаны, подскажите, как прихуячить к модели пушки анимацию выстрела, ну чтобы пламя и дым из ствола. Скажите хотя бы как это называется и что по этому вопросу гуглить.
парни, давно к вам не заходил, соскучился. Месяц назад ко мне приехал мой первый в жизни мне 21 смартфон на андройде, посему я решил портировать свою поделку на данную платформу. Я еще сильно не разбирался во всех тонкостях разработки под андройд, поэтому, если кто имеет в этом опыт, то поясните кратко, какие там подводные камни по сравнению с разработкой под обычные ПК ?
>>140518 Нужно немного разобраться с управлением и максимально оптимизировать графон. Ну и если хочешь придти к успеху по идее нужно набивать игру всяким говном вроде поделись с другом, поставь оценку, напиши пост в фейсбуке и т.д. Да и плюс надо разобраться с настройками проекта когда билдишь, вбить в юнити данные аккаунта в сторе и т.д.
>>140518 В плане кодинга тебе кроме Input.GetTouch(x) ничего учить не придется. Главное заботиться о производительности, желательно тестировать поделку на разных девайсах, главный подводный камень - разница плотностей пикселей на разных телефонах. Бывает и 4К на пяти дюймах, и 1024х800 на десяти, учитывай это когда пилишь интерфейс, пусть размер кнопок масштабируется в зависимости от разрешения экрана.
>>140559 Я стараюсь, как могу, но проверить же как-то надо, нормально ли игра будет себя вести на слабых девайсах. Вот я и спрашиваю, на какое кол-во драш колс ориентироваться.
я не понимаю, почему у меня не уничтожаются объекты. прихуярил к объекту этот скрипт: > function OnTriggerEnter (other : Collider) { if(other.tag == "Player") { Destroy(gameObject); } } потом прихуячил внизу сцены коробку, поставил галочку на триггере. объект проходит через этот короб как ни в чём не бывало. ЧЯДНТ?
Я нуб и говно и пришел со своим нубовопросом (можно меня ненавидеть).
В общем, я пробую сделать простейший платформер и наткнулся на проблему лага ввода с клавиатуры. Движение по горизонтальной оси задается через [code] float move = Input.GetAxis ("Horizontal"); rigidbody2D.velocity = new Vector2 (move maxSpeed, rigidbody2D.velocity.y); [/code] Прыжок: [code] if ( Input.GetKeyDown ("space") || Input.GetKeyDown (KeyCode.UpArrow) ) { ... rigidbody2D.AddForce (new Vector2(0,350)); [/code]
Так вот, с пробела/апкея иногда не приходит отклик. Простейший дебаг показал, что периодически не происходит именно событие ввода пробела/апкея во время горизонтального движения. ЧЯДНТ? (кроме того, что я нуб и говно).
>>140703 Хмм, дальнейшие тесты показали, что через метод GetKey, в отличие от GetKeyDown/GetKeyUp, такого лага нет. Это, правда, другую проблему породило, но не суть важно.
Что происходит при таймауте www запроса? isDone будет true и что-то будет в error? Читал, что на платформе андроид таймаут стоит в 60 секунд, выбрал в юнити платформу андроид и мне прекрасно вернуло ответ после 120 секундного ожидания. Ждать овердохуя времени таймаута как дурак не охота, информации никакой не нагуглилось.
Как в новом UI задетектить ввод текста в InputField: 1. по нажатию клавиши Enter, чтобы получить весь текст целиком 2. ввод каждой буквы, чтобы сразу ее обработать. 3. фокус
Прошу прощения за нубские вопросы, но не знаю, где ещё спросить, а гугл ничего не сказал. Суть в том что на моего 2д персонажа падает шляпа к примеру. Эта шляпа должна к нему прихуяриться и быть прихуяренной до тех пор, пока на неё не упадёт вражеский объект. При столкновении шляпа и объект уничтожаются, а персонаж остаётся цел. Так вот, с последней частью я в принципе справлюсь, а вот с прихуяриванием шляпы к персонажу нет. Я не вижу, как это вообще можно сделать, каким способом? Хелп ми, анан, пик стронгли рилейтед.
>>140870 когда читаю юнититред, то не покидает ощущение, что въебал псилоцибиновых грибов. 2д джойнты, сисярп вместо ЯП, развернуть .fbx на 90° -- вот это все
Предлагаю помощь анонам в разработке очередной СУПИР РИВАЛЮЦИОНАЙ ИГЫ - в первую очередь для получения опыта работы с Юнити, опыта работы в команде. Оплаты не требую, но и на полный рабочий день не согласен. Умею делать: 1. Бочки. 2. Есть опыт работы с NGUI, соответственно, могу помочь с разработкой меню. 3. Умею писать простенькие скрипты либо скрипты средней сложности, но с костылями.
Есть StoredAsAsset : ScriptableObject, в нем есть лист с MyData : ScriptableObject. Юнити-тред, скажи пожалуйста, почему объекты в листе не сериализируются и как их сериализировать?
>>140908 >Unity won't serialize Dictionary, however you could store a List<> for keys and a List<> for values, and sew them up in a non serialized dictionary on Awake(). This doesn't solve the problem of when you want to modify the dictionary and have it "saved" back, but it is a handy trick in a lot of other cases.
>>140908 Алсо раз уж такое дело, то расскажу что хочу. Я хочу охранять как ассет класс, в котором есть несколько полей, есть массив с классами в которых должна оставатся ссылка на класс в котором они хранятся и иметь возможность сохранять в этих классах ссылки на префабы-текстуры-хуйню.
>>140910 А, не обращай внимания, я тут просто скоро сам пизданусь уже, вместо того, чтобы решать свои косяки, скроллю тред, гуглю решение чужих проблем, результат читаю жопой и изредка вбрасываю.
Кстати, перекат запилите, а то тред с нулевой уже уплыл.
>>140901 Есть несколько энтузиастов, делаем кауч мультиплеер дрочево, уже готово где-то на 30% Если интересно - отпиши на фейкомыльце: [email protected]
http://unity3d.com/
Торренты:
http://cgpeers.com/torrents.php?searchstr=unity
Сохранение форматирования кода:
[code]код[/code]
Предыдущий тред: