Четверг, 28 Мая 2020, 06:35

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Форум игроделов » Записи участника » killing002 [73]
Результаты поиска
killing002Дата: Суббота, 23 Мая 2020, 09:54 | Сообщение # 1 | Тема: Работа билда отличается от редактора
почетный гость
Сейчас нет на сайте
Цитата drcrack ()
в редакторе может быть выключен Error Pause в Console и ты их просто пропускаешь

Проверил, там все чисто


123
killing002Дата: Пятница, 22 Мая 2020, 19:54 | Сообщение # 2 | Тема: Работа билда отличается от редактора
почетный гость
Сейчас нет на сайте
Спустя пару миллионов тестов проблема все таки была решена. Всем спасибо кто участвовал в этом. А именно этому парню, мб и не парню - manonedge. Посоветовал он конечно непонято что(на первый взгляд), но это сработало. Корень проблемы я так и не понял, в билде постоянно выдавались "эксепшины" по поводу того, что я практически во всех имеющихся массивах выходил за их объем.. Но ведь это бред, ибо editor бы мне об этом сразу сказал. В общем, на другом ресурсе мне посоветовали сделать development build и вновь заглянуть в логи. Как оказалось, что в этих логах информация дополнилась, а именно - у каждого "эксепшина" теперь был адрес строки который его вызывает. И спустя несколько десятков тестов , я смог запихнуть все эти строки в блок try catch. В итоге все получилось, логи чисты , приложение работает так как надо.

123

Сообщение отредактировал killing002 - Пятница, 22 Мая 2020, 19:58
killing002Дата: Пятница, 22 Мая 2020, 14:04 | Сообщение # 3 | Тема: Работа билда отличается от редактора
почетный гость
Сейчас нет на сайте
Цитата masb8ly-GC ()
Как парсишь записи по строкам?

Из строки беру числа и перевожу в числа посредством parse().
Цитата masb8ly-GC ()
Возможно, что разные окончания строк у первых 12, оставшихся 30.

Я тоже сначала об этом подумал, и сразу проверил эти строки до парсинга. Эти строки несут в себе чистые инт числа, без каких либо других символов

Добавлено (22 Мая 2020, 14:59)
---------------------------------------------
Проверил логи, и вот..

В билде он обнаружил несколько error'ов.
Суть некоторых из них понятна, а некторых - нет.
Как можно узнать больше информации. Например первая ошибка, как понять о каком именно массиве он говорит..


123

Сообщение отредактировал killing002 - Пятница, 22 Мая 2020, 15:18
killing002Дата: Пятница, 22 Мая 2020, 13:32 | Сообщение # 4 | Тема: Работа билда отличается от редактора
почетный гость
Сейчас нет на сайте
Только проверил, билд не до конца считывает файл. Из 42 записей, он читает только 12. В editor , повторюсь, такого не происходит. У меня парсятся только Int числа.. Так что думаю дело не в этом.. Продолжу тестирование..

123
killing002Дата: Четверг, 21 Мая 2020, 18:10 | Сообщение # 5 | Тема: Работа билда отличается от редактора
почетный гость
Сейчас нет на сайте
Приветствую.
Возникла проблема -> билд под андроид не соответствует, тому что происходит в редакторе. Через unityRemote все нормально, editor тоже все нормально, но с билдом происходит что то непонятное. Может кто знает, из за чего это может происходить. А пока опишу , что именно не так. Есть некий код, который берет информацию из txt файла, который подгружается на сцену через resources.load(),и обрабатывает ее. Заполняя ячейки на сцене информацией из этого файла. Файл с txt находится в папке Resousrces. В editor заполняются все ячейки и все ок. Но в билде он заполняет первые несколько ячеек и все. Настройки билда -> дефолтные , не development build. Библиотеку unityEditor не использовал.


123
killing002Дата: Среда, 15 Апреля 2020, 14:03 | Сообщение # 6 | Тема: Разработка модификаций для Freeman: Guerrilla Warfare
почетный гость
Сейчас нет на сайте
Жестко ты с ним. Но по факту.

123
killing002Дата: Воскресенье, 12 Апреля 2020, 22:31 | Сообщение # 7 | Тема: Infernal Running
почетный гость
Сейчас нет на сайте
Да, забавно) Нужно убрать слово colorful от туда..

123
killing002Дата: Воскресенье, 12 Апреля 2020, 21:14 | Сообщение # 8 | Тема: Infernal Running
почетный гость
Сейчас нет на сайте
А , понял. Видео(или что то типа трейлера) как таковое во время разработки мы не делали, да и не собирались, по объективным причинам. Но думаю в скором времени пользовательский геймплейный ролик запишу.

123

Сообщение отредактировал killing002 - Воскресенье, 12 Апреля 2020, 21:15
killing002Дата: Воскресенье, 12 Апреля 2020, 16:11 | Сообщение # 9 | Тема: Infernal Running
почетный гость
Сейчас нет на сайте
Приветствую всех.
Создали первый свой проект и хотелось бы узнать мнение со стороны. Жанр - раннер. Все знакомые, которые играли, говорят, что игра очень хардкорная и не могут пройти даже первого уровня. Пару из них прошло наверно с 40 попытки.. Хотя я сам этот лвл прохожу с первого раза.. хм.. Много чего добавили: локальный рекорд и рекорды нас(разрабов и некоторых фанов), даже рекламу удалось впихнуть(это наш первый опыт). Создавали ее в основном 2 человека. Прокомментируйте игру.. тут или в комментах на гугл плее, очень интересно.. особенно вопросы возникают с управлением.. Там есть обучающий уровень(пришлось добавить). Если возникнут вопросы по управлению пишите тут, отвечу)). Кстати игра создавалась с некоторой помощью этого форума..))
Вот ссылка:https://play.google.com/store....running


123

Сообщение отредактировал killing002 - Воскресенье, 12 Апреля 2020, 16:15
killing002Дата: Вторник, 07 Апреля 2020, 17:31 | Сообщение # 10 | Тема: Могут ли 2 collider'а с флагом true в IsTrigger взаимодейс..
почетный гость
Сейчас нет на сайте
Цитата drcrack ()
(тем более все тела isKinematic)

isTrigger вы хотели сказать.. IsKinematic вовсе предотвращает физические взаимодействия(настройка в rigidbody)
Цитата drcrack ()
там говорится что два триггера не могут столкнуться

Понимание по поводу документации начинает приходить. Но это не как не отменяет того факта, что 2 rigidbody Trigger Collider'a не взаимодействуют.
Продолжу поиски.

Добавлено (08 Апреля 2020, 21:05)
---------------------------------------------
Благодарю всех кто участвовал в этом.. 2 trigger collider'a могут взаимодействовать, но только не в unity версии 2019.3.0a10. Перешел на версию 2019.3.0f6 и все начало работать как часы.. Минус неделя времени..


123
killing002Дата: Вторник, 07 Апреля 2020, 15:46 | Сообщение # 11 | Тема: Могут ли 2 collider'а с флагом true в IsTrigger взаимодейс..
почетный гость
Сейчас нет на сайте
Я дважды перечитал данные ссылки и пока ничего. Можно конкретней.. Если вы ведете к тому, что проблема в слоях, то нет.. я все проверил - дело не в этом. Так же в одной их этих ссылок находилась одна очень полезная таблица - "матрица действий коллизии". В ней можно наблюдать, что с чем может взаимодействовать, а что нет. И в ней можно заметить, что Rigidbody Trigger Collider может взаимодействовать с Rigidbody Trigger Collider. В одном месте документации говорится одно, в другом другое, но ровно противоположное.. Либо я тупой, либо да..

123

Сообщение отредактировал killing002 - Вторник, 07 Апреля 2020, 15:50
killing002Дата: Среда, 01 Апреля 2020, 22:38 | Сообщение # 12 | Тема: Могут ли 2 collider'а с флагом true в IsTrigger взаимодейс..
почетный гость
Сейчас нет на сайте
Цитата LLL ()
Пример от этого чувака лучше вообще забыть.

Это был довольно исчерпывающий ответ.


123
killing002Дата: Среда, 01 Апреля 2020, 11:38 | Сообщение # 13 | Тема: Могут ли 2 collider'а с флагом true в IsTrigger взаимодейс..
почетный гость
Сейчас нет на сайте
Этот boxcollider не участвует в взаимодействии. В методе OnTriggerEnter(), у него есть условие которое исключает все взаимодействия с этим коллайдером.
Так выглядит код который фиксирует взаимодействия:
Код

    public class TriggerDetector : MonoBehaviour
    {

        private CharacterControl owner;

        private void Awake()
        {
            owner = this.GetComponentInParent<CharacterControl>();
        }

        private void OnTriggerEnter(Collider col)
        {
            
            if (owner.RagdollParts.Contains(col)) // Исключает соприкосновения частей ragdoll'a друг об друга
            {
                return;
            }

            CharacterControl attacker = col.transform.root.GetComponent<CharacterControl>(); // это жертва
            
            if (attacker == null) //Исключает ситуацию, когда жертвы нет
            {
                return;
            }

            if (col.gameObject == attacker.gameObject) // Игнорирует collider на самой верхней иерархии (тот самый boxcollider). Игнорирует свой boxcollider и чужие
            {

                Debug.Log(" I TOUCH " + attacker.transform.root.name + " BIG box collider  " + transform.root.gameObject);
                return;
            }

            if (!owner.CollidingParts.Contains(col)) // Если в этом листе нет этого коллайдера то добавить этот коллайдер.
            {
                owner.CollidingParts.Add(col);
            }
        }

        private void OnTriggerExit(Collider attacker) // При выходе из коллайдеров удалять их
        {
            if (owner.CollidingParts.Contains(attacker))
            {
                owner.CollidingParts.Remove(attacker);
            }
        }
    }

Может поможет кому.. Этот скрипт висит на каждой кости, участвующей в ragdoll'e


123

Сообщение отредактировал killing002 - Среда, 01 Апреля 2020, 12:19
killing002Дата: Среда, 01 Апреля 2020, 00:20 | Сообщение # 14 | Тема: Могут ли 2 collider'а с флагом true в IsTrigger взаимодейс..
почетный гость
Сейчас нет на сайте
Приветствую.
В ютубе наткнулся на серию уроков по созданию 2.5d платформера. Стало интересно и в итоге наткнулся на одну из его реализаций обнаружения нанесения урона. А именно:
У него на сцене 2 персонажа - player & enemy. Они оба прошли процедуру ragdoll'а , то есть у их костей есть 2 компонента: rigidbody & character joint . После он через скрипт сначала включает флаг IsTrigger у каждого коллайдера на костях, потом к каждой кости (имею ввиду все те кости, которые используются в ragdoll'е) прикрепляет пользовательский скрипт, который описывает 2 метода: OnTriggerEnter() & OnTriggerExit(). В этих методах он и определяет как будет происходить взаимодействие. И в тот момент когда player наносит удар по enemy, видно на видео как удары регистрируются. Вопрос в следующем: Как это возможно?? Ведь в документации ясно сказано, что 2 коллайдера у которых стоят флаги IsTrigger будут всячески игнорироваться движком... Но у этого парня на видео все работает. Я день уже пытаюсь понять как это. Думаю, что в старых версиях юнити это было возможно.. Читал документацию от юнити 2018, и там этого написано не было.. Разъясните, кто тут много знает.. Заранее спасибо.
Ссылки:
1) Тут он перемещает методы OnTriggerEnter() & OnTriggerExit() на каждую кость
https://www.youtube.com/watch?v=5Vx73Ao6RfQ&list=PLWYGofN_jX5BupV2xLjU1HUvujl_yDIN6&index=28
2) Тут он устанавливает ragdoll(если так можно выразиться)
https://www.youtube.com/watch?v=OJFS4Z0tT9A&list=PLWYGofN_jX5BupV2xLjU1HUvujl_yDIN6&index=23

Очень интересно, что за чертовщина творится..


123

Сообщение отредактировал killing002 - Среда, 01 Апреля 2020, 12:21
killing002Дата: Среда, 29 Января 2020, 23:24 | Сообщение # 15 | Тема: Проблемы с симуляцией машины в Unity3d
почетный гость
Сейчас нет на сайте
В скором времени мне эта информация понадобится. Благодарю за исчерпывающие ответы.

123
killing002Дата: Понедельник, 27 Января 2020, 16:50 | Сообщение # 16 | Тема: Проблемы с симуляцией машины в Unity3d
почетный гость
Сейчас нет на сайте
Цитата drcrack ()
ты точно мой пост прочитал?) там вообще нет WheelCollider.rpm


Так, из всех входных данных мы имеем rpm колеса и по факту все. Воздействовать на машину мы можем только передавая крутящий момент на ведущие колёса. Проанализировал вашу формулу, и пришел к этой: motorTorque = P * 9950/RPM *gear * vAsix;
Где rpm - поворот колеса, P - максимальная мощность машины, gear - условно текущая передача(0.1, 0.2 ... 0.5), vAsix - это единичный вектор, от него нам нужно только направление. Я пришел к выводу, что rpm колеса все таки можно приравнять к rpm двигателя, это ведь все равно rpm коленчатого вала , который передает крутящий момент на ось, если я правильно конечно понимаю.
Написал простенький скрипт и вот результаты, я был кстати приятно удивлен, результат однако мне понравился.
Если не отпускать кнопки газа, отметки rpm и motorTorque достигают своей максимальной отметки , если увеличивать gear , то увеличивается и максимальная отметка. Я считаю это результат, как думаете вы..






123
killing002Дата: Воскресенье, 26 Января 2020, 16:34 | Сообщение # 17 | Тема: Проблемы с симуляцией машины в Unity3d
почетный гость
Сейчас нет на сайте
Цитата drcrack ()
какие значения использовал для gearMultiplier?


Как я понял, gearMiltiplier отвечает за определенную передачу, использовал от 0 - до 5.

Цитата drcrack ()
не колеса а двигателя

В документации говорится об оси колеса.. В принципе можно установить параллели.
WheelCollider.rpm - Current wheel axle rotation speed, in rotations per minute (Read Only).


123
killing002Дата: Суббота, 25 Января 2020, 22:52 | Сообщение # 18 | Тема: Простое управление кнопкой на телефоне
почетный гость
Сейчас нет на сайте
В инете полно гайдов, в том же ютубе, можно найти все, что хочешь при желании.

123
killing002Дата: Суббота, 25 Января 2020, 15:43 | Сообщение # 19 | Тема: Проблемы с симуляцией машины в Unity3d
почетный гость
Сейчас нет на сайте
Цитата ShortKedr ()
Считаешь длину окружности колеса, считаешь сколько оборотов в час колесо сделает с текущим крутящим моментом. перемножаешь, получаешь скорость

Вряд ли при перемножении получится скорость, скорее расстояние, которое пройдет это колесо при определенном крутящем моменте.

Цитата drcrack ()
wheel.motorTorque = engineHorsePower * 1.3596f * 9550 / engineRPM * gearMultiplier;


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

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

Всем спасибо, кто участвовал в этом..


123
killing002Дата: Суббота, 25 Января 2020, 14:29 | Сообщение # 20 | Тема: Проблема с прыжком
почетный гость
Сейчас нет на сайте
Интересный случай, рискну предположить, что дело не в реализации прыжка, а в передвижении вообще. Если обратиться к математике, то все должно быть верно. Первый вектор - вектор прыжка, второй движения. И конечная сила(или вектор) высчитывается путем перемножения этих векторов. Если тебе это поможет, то вектор можно не обнулять, а нормализовать например. vector3.normilized - это сведение вектора любой величины к единичному, направление при котором остается неизменным.

123

Сообщение отредактировал killing002 - Суббота, 25 Января 2020, 14:30
Форум игроделов » Записи участника » killing002 [73]
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

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