Вторник, 26 Ноября 2024, 15:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
lentinantДата: Понедельник, 30 Сентября 2013, 19:29 | Сообщение # 661 | Тема: помогите оптимизировать
ленивый программист
Сейчас нет на сайте
Тебе же, вроде бы, неоднократно объясняли, что оптимизация в юнити сводится к минимизации вызова Instantiate во время игры. Для этого есть пулы. Если объяснять просто - делаешь переменную очереди определенного размера, на старте спавнишь количество пуль, равное размеру очереди, и каждому элементу очереди присваиваешь пулю, при этом все пули помещаются в недоступное место, или отключаются через enabled. При выстреле, ты не спавнишь новую пулю, ты берешь первую пулю с очереди, ставишь enabled = true, перемещаешь ее на позицию мушки и задаешь ей поворот. После попадания пули во что-либо, либо других условиях, которые приводят к уничтожению пули, вместо уничтожения, помещаешь ее опять в очередь, отключив ее.

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Понедельник, 30 Сентября 2013, 19:21 | Сообщение # 662 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
В общем, ошибка вполне в моем стиле. Вся проблема была в взаимодействии генерации полочек и врагов. Дело в том, что точка, на которой спавнились враги, всегда опережала точку, где спавнились полочки, в итоге, рейкаст всегда работал в пустоту. Решилось увеличением количества полочек, которые спавнятся.

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


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Понедельник, 30 Сентября 2013, 01:56 | Сообщение # 663 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
allods, есть координата Y. Координата X формируется рандомно (к предыдущему значению суммируется случайный прирост в заданных рамках). Создается вектор с этими координатами (Z равен нулю, у меня 2.5D). А уже потом создается рейкаст с началом в ранее созданном векторе, направление Vector3.down, инфа записывается в ХитИнфо. А уже к полученной координате добавляем половину размера врага по игреку, и это точка для врага. Но, как я уже писал, этот рейкаст всегда фейлится.

Добавлено (30.09.2013, 01:56)
---------------------------------------------
Kira, ассетов я пока покупать не буду ибо нищеброд


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Воскресенье, 29 Сентября 2013, 21:01 | Сообщение # 664 | Тема: коты и еда 3
ленивый программист
Сейчас нет на сайте
Цитата (Game_maker_8)
как сделать чтоб завлечь игрока снова после прохождения игры

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


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Воскресенье, 29 Сентября 2013, 19:08 | Сообщение # 665 | Тема: как сделать вход в триггер и чтобы выводилась надпись?
ленивый программист
Сейчас нет на сайте
NEBR, а не проще в сам куб прописать это? Если для каждого триггера такого типа (но с разным текстом) прописывать код в OnTriggerEnter самого персонажа, эта функция станет слишком объемной. Да и тегов надо будет куда меньше.

А сам GUIText лучше прятать с помощью enabled.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Воскресенье, 29 Сентября 2013, 19:02 | Сообщение # 666 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Цитата (allods)
Пускать луч

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


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Воскресенье, 29 Сентября 2013, 18:56 | Сообщение # 667 | Тема: Какова ваша цель?
ленивый программист
Сейчас нет на сайте
Опрос надо было сделать чекбоксами, ибо у меня несколько пунктов подходит. Кроме того, тут описаны далеко не все возможные ситуации, можно было добавить пункт "Другое".

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


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Воскресенье, 29 Сентября 2013, 03:37 | Сообщение # 668 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Цитата (allods)
почему не с x,y,z самого персонажа ?

Что не с x,y,z самого персонажа?
Цитата (allods)
Кто может подать идею, как сделать так чтобы перса было видно за другими объектами? У меня в игре камера всегда в одном положении как в Diablo. Нужно чтоб когда перс был за стеной к примеру, то чтоб стена просвечивалась или чтоб обводка персонажа проходила через стену, чтоб было в общем хоть как то видно героя

В UDK это делалось шейдерами. Осталось адаптировать алгоритм под шейдеры Юнити.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Воскресенье, 29 Сентября 2013, 01:42 | Сообщение # 669 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Цитата (NEBR)
Только они могут перевернутся при падении

Констрейн на повороты - и все.
Цитата (NEBR)
Моделькам врагов нужно платформу снизу смоделлировать.

Не совсем понял, зачем.
Цитата (NEBR)
луч не дотягивался до полки... Или может на полку забыл коллайдер повесить

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


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Пятница, 27 Сентября 2013, 19:18 | Сообщение # 670 | Тема: Raycast, rigidbody и стрельба в юнити!
ленивый программист
Сейчас нет на сайте
robertono, в современных 3D шутерах как раз спавнятся пули. Для уменьшения нагрузки на девайс существует такое понятие как пулы. А вообще - это ты решаешь сам. Можешь сделать пули - ригидбоди, и плясать от этого (например, в баттле можно видеть пули из большинства оружия). При спавне каждой пули отдельно рейкаст не нужен, весь код по попаданию пули и нанесению урона можно перенести в непосредственно пулю. Сама же стрельба банальна до ужаса - спавните (или вытаскиваете из пула) пулю, перемещаете ее на позицию мушки, и задаете ей скорость по направлению оружки. Не стоит забывать, что ригидбоди при большой скорости могут глючить, для этого стоит поменять режим детекции коллизии (см. референс по ригидбоди). Рейкасты же нужны при стрельбе без пуль (такое использовалось в более ранних шутерах), тогда нужен рейкаст в направлении оружки, и проверка полученной инфы по попаданию - размещение декаля следа пули на стенах, нанесение урона врагам, и т.д..

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Пятница, 27 Сентября 2013, 19:13 | Сообщение # 671 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Мне тут в голову пришла мысль, что решить мою прошлую проблему можно, банально добавив к врагам ригидбоди, дабы они просто упали на полку. Те, кто упадет в яму, просто не будут участвовать в игре.

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Пятница, 27 Сентября 2013, 02:28 | Сообщение # 672 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
allods, NEBR, вы немного не поняли, основная проблема в том, что у меня не работает Рейкаст, который в принципе должен работать.
Цитата (NEBR)
не совсем понял что там происходит. Враги размещаются рандомно, а райкастами потом стреляешь по ним? Может поможешь изменение Vector3.down на Vector3.right ? Хотя чтобы точно узнать надо сценку смотреть, откуда выпускаются райкасты

Смотри. У меня есть полочка с определенной высотой (неизвестной). Я хочу разместить где-то на ней врага. Но для этого мне нужно знать, на какой высоте его размещать, чтобы он не висел в воздухе или не застрял в самой полочке. Для этого я использую рейкаст с верхней точки вниз. По логике, он должен получать координату ровно на поверхности полочки. Однако у меня он вообще не обнаруживает столкновения. Если подставить вместо вектора, объявленного в моем коде, new Vector3 (5,5,0), все работает. А если использовать при объявлении вектора переменные, то почему-то не работает.
Цитата (allods)
Делаешь рандомное число для раставления на какой там плоскости, а потом от персов кидаешь рейкаст в низ, и если нету граунда под ними(или там полочек) то .y+=0.5. так твой перс будет подниматя пока у него под ногами не будет земля(полочка). Ну я так делаю для раставления врагов

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


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Четверг, 26 Сентября 2013, 04:30 | Сообщение # 673 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Проблема с рейкастом. Мне надо разместить врагов на полочках на рандомном расстоянии, при этом, чтобы они размещались именно на самих полочках. Ищу рандомное число для координаты X, для Y беру просто константу. В общем, такой рейкаст.
Код
Physics.Raycast(new Vector3(nextPosition.x, maxRayHeight, 0), Vector3.down, out hit)

Этот рейкаст никогда не возвращает true, хотя nextPosition.x явно соответствует позиции над полочкой. Сдвигов по Z в полочках нет.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Среда, 25 Сентября 2013, 19:02 | Сообщение # 674 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Чем может быть вызвано раскорячивание элемента, который привязанный к пустому объекту, если вращать этот самый объект?
Осторожно, большая картинка.

Это обычный масштабированный куб.

Добавлено (25.09.2013, 19:01)
---------------------------------------------
Да, подобное случается только если этот пустой объект прикрепить к другому объекту.

Добавлено (25.09.2013, 19:02)
---------------------------------------------
И еще вопрос, почему при вращении пустого объекта, внутри которого есть другой объект, то пустой объект вращается вокруг центра объекта внутри него, меняя свои координаты, а не служит пивотом.


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Среда, 25 Сентября 2013, 19:02
lentinantДата: Среда, 25 Сентября 2013, 17:08 | Сообщение # 675 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Adom, не могу помочь с тем, чего сам не знаю =(( Впрочем, судя по референсу класса Input, это не особо сложно.

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Вторник, 24 Сентября 2013, 23:51 | Сообщение # 676 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Adom, делаешь переменную, обозначающую минимальный временной промежуток между выстрелами (fireInterval), делаешь переменную, которая будет обозначать, когда может быть воспроизведен следующий выстрел (nextShoot), перед выстрелом сравниваешь текущее время с переменной следующего выстрела (Time.time > nextShoot), и стреляешь только если условие оправдывается, после чего обновляешь переменную следующего выстрела (nextShoot += fireInterval). Не просто, а очень просто.

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Вторник, 24 Сентября 2013, 16:24 | Сообщение # 677 | Тема: Моя Идея для реализации.
ленивый программист
Сейчас нет на сайте
Serioulsy?

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Понедельник, 23 Сентября 2013, 15:32 | Сообщение # 678 | Тема: [3D] Покорители Подземелий(альфа-тест)
ленивый программист
Сейчас нет на сайте
Жидкости не айз. Добавьте воде хотя бы немного прозрачности. Магма слишком явно вырисовывается на полу, складывается ощущение, будто ее наклеили на камень; ее бы в какое-то углубление.

Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Понедельник, 23 Сентября 2013, 15:34
lentinantДата: Понедельник, 23 Сентября 2013, 06:25 | Сообщение # 679 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Цитата (Kira)
левл нужно собирать в редакторе. А затем собирать во время игры.

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

Добавлено (23.09.2013, 04:19)
---------------------------------------------
Сори за крайне нубский вопрос, но как можно идеально состыковать два элемента? У меня есть префаб платформы, я выставляю несколько подряд так, чтобы между ними не было промежутка (то есть, ставлю следующий префаб на расстоянии, равном половине его ширины), однако тело, которое двигается по созданной таким образом дорожке (движущей силой является AddForce в ригидбоди), постоянно натыкается на "швы" между префабами, не смотря на то, что все префабы на одной высоте. Просто скейлить платформу я не могу, поскольку в будущем на нее будет натянута текстура, а может быть, сама платформа будет моделью, которую нельзя будет масштабировать.

Добавлено (23.09.2013, 04:30)
---------------------------------------------
Отбой, проблема была не в стыковке, а в одном глюке, связанном с коллизией. У меня просто для прыжка было задано, что если персонаж перестает к чему-то прикасаться, то он не может прыгать (для избежания бесконечных прыжков), а возврат булевской переменной был на OnCollisionEnter. Однако, если стоит несколько платформ подряд, то сначала игрок прикасается ко второй переменной (вызывается OnCollisionEnter), таким образом, он определенное время касается одновременно обоих платформ; и уже когда он полностью на второй платформе, то перестает касаться первой платформы, и вызывается OnCollisionExit, которая заставляет его считать, что он в прыжке, а разгон идет только при условии, что игрок на земле. Решилось заменой OnCollisionEnter на OnCollisionStay.
Это так, для будущих поколений, вдруг у кого похожая проблема возникнет.

Добавлено (23.09.2013, 04:36)
---------------------------------------------
Хотя, все таки, частично вопрос остается, так как иногда персонаж натыкается на невидимое препятствие и подпрыгивает.

Добавлено (23.09.2013, 06:25)
---------------------------------------------
Ладно, очевидно, это косяк физики юньки. Попробую решить уменьшением Min Penetration for Penalty в настройках физики или опуская каждый следующий префаб на небольшую величину.


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Понедельник, 23 Сентября 2013, 04:31
lentinantДата: Воскресенье, 22 Сентября 2013, 15:31 | Сообщение # 680 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Kira, я об этом и писал дальше - нужно расставлять их так, чтобы учитывать положение полочек. Брать во внимание расположение координат полочек надо обязательно, вариант с размещением их на одной высоте не подходит в принципе, ибо высота следующей полочки определяется только высотой предыдущей, то есть, не исключается вариант, когда полочки будут идти только вверх, или только вниз, и в итоге монетки все равно станут недоступны. Разве что только у меня все полочки будут на одной высоте. Но это не меняет проблемы с расположением врагов с учетом провалов.

Добавлено (22.09.2013, 15:31)
---------------------------------------------
Конечно, как вариант, можно трейсить с точки выбранной случайно координаты вниз, и проверять, есть ли столкновение, но мне этот метод не нравится.


Когда-то тут будут ссылки на крутые проекты. Или нет.
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг