Телепортация, а не перемещение...

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

Re: Телепортация, а не перемещение...

Сообщение Anonymyx 16 июл 2018, 20:43

WaitForTargetFPS я понял как обыкновенное бездействие, т.е. простое ожидание, чтобы выравнить ФПС при включенной синхронизации, если он (фпс) > герцовки экрана.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: Телепортация, а не перемещение...

Сообщение seaman 16 июл 2018, 20:52

У меня синхронизация выключена, а они есть, но маленькие. Ну как - когда игра идет - сейчас маленькие. На экранах загрузки и меню бывает и такое:
Изображение
Слава богу там это не заметно.
И это "обыкновенное бездействие" фризит, когда большое!
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Телепортация, а не перемещение...

Сообщение seaman 16 июл 2018, 20:56

можно бросать лучи под

Зачем куча лучей? Бросать один - в направлении движения.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Телепортация, а не перемещение...

Сообщение Anonymyx 16 июл 2018, 21:00

Я про targetFPS, а не Present. Не думаю что это одно и тоже, хз.

https://www.reddit.com/r/Unity3D/commen ... t_at_5070/
А так, судя по всему, как вы и говорили: что-то не успевает за чем-то...
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: Телепортация, а не перемещение...

Сообщение Nubila 16 июл 2018, 21:23

seaman писал(а):
можно бросать лучи под

Зачем куча лучей? Бросать один - в направлении движения.

Суть в том, что джостик в каждом кадре записывает координаты по X и Y в OutCoord, а затем уже в Update я использую эти данные для локальной переменной coord которая и является вектором движения. Например, если объект попадается под 90 или -90, то Y кооридаты будут равны нулю. В случае с 1 лучом будет сложнее, так как не понятно какие координаты блокировать....

По поводу WaitForPresent: У вас в Quality возможно стоит V Sync?
Аватара пользователя
Nubila
UNITрон
 
Сообщения: 160
Зарегистрирован: 12 июл 2017, 15:59
Откуда: Запорожье

Re: Телепортация, а не перемещение...

Сообщение seaman 16 июл 2018, 21:50

Синтаксис:
Используется csharp
RaycastHit hit;
// Проверка есть ли на пути коллайдер
if(!Physics.Raycast(currentPosition + new Vector3(0, 1.2f, 0), move, out hit, 1f))
        view.transform.position = Vector3.Lerp(currentPosition, currentPosition + move, Time.deltaTime);

move - Vector2, который выдает джойстик. Все, больше ничего не надо. Все работает...
1.2 - середина высот коллайдера. Слава богу у нас нет всяких низких потолков.

У меня синхронизация выключена
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Телепортация, а не перемещение...

Сообщение Nubila 16 июл 2018, 22:12

seaman писал(а):
Синтаксис:
Используется csharp
RaycastHit hit;
// Проверка есть ли на пути коллайдер
if(!Physics.Raycast(currentPosition + new Vector3(0, 1.2f, 0), move, out hit, 1f))
        view.transform.position = Vector3.Lerp(currentPosition, currentPosition + move, Time.deltaTime);

move - Vector2, который выдает джойстик. Все, больше ничего не надо. Все работает...
1.2 - середина высот коллайдера. Слава богу у нас нет всяких низких потолков.

У меня синхронизация выключена

Да, не думал о таком методе. Спасибо.
RigidBody лучше оставить с isKinematic либо вообще убрать? Или там расчёт физики будет больше того занимать, если убрать?
Аватара пользователя
Nubila
UNITрон
 
Сообщения: 160
Зарегистрирован: 12 июл 2017, 15:59
Откуда: Запорожье

Re: Телепортация, а не перемещение...

Сообщение seaman 16 июл 2018, 22:13

Смотря что Вам нужно. У меня оставлены для других целей.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Телепортация, а не перемещение...

Сообщение Nubila 16 июл 2018, 22:22

seaman писал(а):Смотря что Вам нужно. У меня оставлены для других целей.

Для ИИ обнаруживающих друг друга(тригерами в дочерних обьектах) при помощи OnTriggerEnter(в том числе и игрока), а так же отслеживания касаний коллайдеров друг друга и игрока при помощи OnCollisionEnter.

P.S: заметил ещё кое что, задерживающее CPU на 1.02ms(UpdateScreenManagerAndInput) и на 0.94ms(EarlyUpdate.PlayerCleanupCachedData), но они довольно редкие.
Аватара пользователя
Nubila
UNITрон
 
Сообщения: 160
Зарегистрирован: 12 июл 2017, 15:59
Откуда: Запорожье

Re: Телепортация, а не перемещение...

Сообщение immeasurability 17 июл 2018, 00:12

завтро опешусь, про эти фиризы
я юнетеков епал по этой темае, они мне все сдали, а что не смогли сдать я методом исключения все выровнил
сегодня в кратце!

1 в профайл редактора не верь во все, только в нужные области
2 в билде будет работать все иначе
3 в редакторе на вывод этого профайлера тратится ресурс, который приводит к лаганию (очень часто именно из за этого), когда его на самом деле нету!
4 используй физику, не парся с лучами!
5 двигай через

6 не поворачивай перса если на нем капсульный коллайдер и это не требуется для гемплей
7 поворот даже капсылы жрет больше чем простое перемещение той же капсулы
8 ОБЯЗАТЕЛЬНО ставь на объект за которым следит камера ИНТЕРПОЛЯЦИЮ -> ИНЕТПОЛЯЦИЯ
9 интерполяция сделает перерасчет для UPDATE, и сгладит физическое перемещение в по кадровой области (Update || LateUpdate)
10 не двигай через трасфор физический объект
11 перемещение физического объекта через трансформ, выбивает "все" объекты из из кеша физ движка, и пере определяет их, на что тратится куча времени!
12 не верь му*акам которые будут рассказывать про то что параметр у ригидбоди интерполяции отвечает за что то другое в параллельной вселенной!
Discord era#6140

youtube.com/user/immeasurability/videos
Аватара пользователя
immeasurability
Адепт
 
Сообщения: 1097
Зарегистрирован: 08 авг 2013, 18:09

Re: Телепортация, а не перемещение...

Сообщение Nubila 17 июл 2018, 01:11

immeasurability писал(а):завтро опешусь, про эти фиризы
я юнетеков епал по этой темае, они мне все сдали, а что не смогли сдать я методом исключения все выровнил
сегодня в кратце!

1 в профайл редактора не верь во все, только в нужные области
2 в билде будет работать все иначе
3 в редакторе на вывод этого профайлера тратится ресурс, который приводит к лаганию (очень часто именно из за этого), когда его на самом деле нету!
4 используй физику, не парся с лучами!
5 двигай через

6 не поворачивай перса если на нем капсульный коллайдер и это не требуется для гемплей
7 поворот даже капсылы жрет больше чем простое перемещение той же капсулы
8 ОБЯЗАТЕЛЬНО ставь на объект за которым следит камера ИНТЕРПОЛЯЦИЮ -> ИНЕТПОЛЯЦИЯ
9 интерполяция сделает перерасчет для UPDATE, и сгладит физическое перемещение в по кадровой области (Update || LateUpdate)
10 не двигай через трасфор физический объект
11 перемещение физического объекта через трансформ, выбивает "все" объекты из из кеша физ движка, и пере определяет их, на что тратится куча времени!
12 не верь му*акам которые будут рассказывать про то что параметр у ригидбоди интерполяции отвечает за что то другое в параллельной вселенной!

ОГО! Вот прям царский подгон советов :) . Огромное спасибо, что уделили внимание этой теме. Игрушка 2D, но из за того что необходимо использовать NavMesh 2.0 использую 3D коллайдеры. Поворачивать их не планирую))
Хотел только уточнить: это вот явление - "мини-фризы", я замечаю не только в редакторе со включенным ограничителем FPS.
Сейчас вот создал пустую сцену, закинул туда игрока, на котором RigidBody со включённой интерполяцией и кинематикой, капсул коллайдер и написал следующей скрипт:
Синтаксис:
Используется csharp
    void FixedUpdate()
    {
        var coord = new Vector3(1f, 0f, 0f);
        rigi.MovePosition( transform.position + (coord * 4f * Time.fixedDeltaTime));//rigi и transform есесно закешированы
    }

То есть движение только в одно направление(не используя джостик, удалил его и холст для теста). Результат тот же, видно не плавное перемещение, а скачки. Смарт - Redmi Note 2, который не прям флагман, но уж точно должен тянуть такую мелочь.
Я уже думаю, может это всё так и должно быть?? Могу поделится сценой....
Аватара пользователя
Nubila
UNITрон
 
Сообщения: 160
Зарегистрирован: 12 июл 2017, 15:59
Откуда: Запорожье

Re: Телепортация, а не перемещение...

Сообщение seaman 17 июл 2018, 08:50

4-й совет далеко не всегда верный. Сделайте мне сетевую игру, в которой все перемещается физикой. Я посмотрю как это у Вас будет синхронизироваться.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Телепортация, а не перемещение...

Сообщение Nubila 17 июл 2018, 10:01

Вот залил простой проект:
https://dropmefiles.com/SLzb1.
В нём по сути только игрок(со скриптом передвижения, на самом объекте триггер, в дочернем колайдер, а так же Dragon Bones компоненты). Фризы периодически заметны даже в такой простой сцене.
Аватара пользователя
Nubila
UNITрон
 
Сообщения: 160
Зарегистрирован: 12 июл 2017, 15:59
Откуда: Запорожье

Re: Телепортация, а не перемещение...

Сообщение immeasurability 17 июл 2018, 11:29

seaman писал(а):4-й совет далеко не всегда верный. Сделайте мне сетевую игру, в которой все перемещается физикой. Я посмотрю как это у Вас будет синхронизироваться.


1 изначально речь о персонаже! о чем собственно гласит тема
2 все патроны, гранаты, и все что вообще стреляет, только лучи!
3 (Я посмотрю как это у Вас будет синхронизироваться) сказано! сделано! https://www.youtube.com/watch?v=dNwdNhKDw2Y
3.1 все корабли перемещаются только физикой, точность 99.99% тестировал 100 на 100
3.2 стреляют, лайнкастом из предыдущей в текущию позицию

Nubila писал(а):и кинематикой

4 зависит только от задачи
5 если требуется врезаться, толкать, отскакивать, или отлетать от ударной волны то киниматику лучше не включать
6 https://www.youtube.com/watch?v=DB09c8v1j0E&t=55s
7 если не понятно как что то делается, это не значит что только твой вариант лучший, все зависит от задачи
7.1 где то достаточно даже трансформом манипулировать, в каких то это бессмысленно, и проще физику использовать
8 на примере боя моих танков 300 танков на 300, проверка касания земли лучом съедала фпс до 4-8 кадров
9 проверка физикой, вообще не дала нагрузки 120-200 фпс (не смотря на то что я не сторонник использовать чистую физику)
Discord era#6140

youtube.com/user/immeasurability/videos
Аватара пользователя
immeasurability
Адепт
 
Сообщения: 1097
Зарегистрирован: 08 авг 2013, 18:09

Re: Телепортация, а не перемещение...

Сообщение Nubila 17 июл 2018, 11:55

Возможно скачки заметны из-за того что объект слишком мал, и заметна разница при изменении координат?

ЗЫ: immeasurability, благодарю за ещё один пак советов) Хотел бы узнать у вас кое какие мелочи по вашему видео, но уже потом как нибудь в личку спрошу(если позволите конечно), так как оффтоп.
Аватара пользователя
Nubila
UNITрон
 
Сообщения: 160
Зарегистрирован: 12 июл 2017, 15:59
Откуда: Запорожье

Пред.След.

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21