Size: a a a

2020 August 29

VB

Vlad B in Unreal Engine
Ivan Kurulyuk
Почему в теле функции нельзя вызвать Delay? Точнее, не так важно, почему, важно, чем можно заменить?
Макрос сделай, как раз в нем можно делей использовать
источник

IP

Ilya Parakonnyi in Unreal Engine
Mr. John
Например для "Женских частей тела". Для физики во время ходьбы и столкновение с предметом одежды.
9 из 10 ссылок по запросу ue4 softbody выдают туторы по сиськам, ну =\
источник

SD

Shark Dark in Unreal Engine
Ilya Parakonnyi
9 из 10 ссылок по запросу ue4 softbody выдают туторы по сиськам, ну =\
ну ты чо. я аж повёлся 😔
источник

IK

Ivan Kurulyuk in Unreal Engine
Mr. John
Например для "Женских частей тела". Для физики во время ходьбы и столкновение с предметом одежды.
источник

MJ

Mr. John in Unreal Engine
Мне не совсем это нужно. Я подумал может использовать Nvidia Flex для этих задач. Но я так понимаю его надо в движок встраивать
источник

IP

Ilya Parakonnyi in Unreal Engine
Shark Dark
ну ты чо. я аж повёлся 😔
у - утрировал
источник

С

Сэр MSTR in Unreal Engine
Друзья мои))

Подскажите мне плз еще) GetWorld()->GetFirtstPlayerController()

На стороне клиента это использовать можно? Он всегда на стороне клиента вернет именно контроллер ЭТОГО КЛИЕНТА?

Просто у меня был уже один вариант, где я использовал UKismetSystemLibrary::GetPlayerController(this,0), и когда я запускал проект в два окна.. он всегда делал действия, которые я вызывал из этой функции в том окне, у которого индекс 0
источник

VA

Vladimir Alyamkin in Unreal Engine
Сэр MSTR
Друзья мои))

Подскажите мне плз еще) GetWorld()->GetFirtstPlayerController()

На стороне клиента это использовать можно? Он всегда на стороне клиента вернет именно контроллер ЭТОГО КЛИЕНТА?

Просто у меня был уже один вариант, где я использовал UKismetSystemLibrary::GetPlayerController(this,0), и когда я запускал проект в два окна.. он всегда делал действия, которые я вызывал из этой функции в том окне, у которого индекс 0
на стороне клиента есть только один плеер контроллер в общем случае
источник

С

Сэр MSTR in Unreal Engine
Vladimir Alyamkin
на стороне клиента есть только один плеер контроллер в общем случае
вот допустим проект запущен в два окна: 1 и 2 (у первого окна индекс 0, у второго окна индекс 1)

на стороне клиента я выполняю какую ниьбудь логику, в которой использовуется UKismetSystemLibrary::GetPlayerController(this,0)->.................

и вот это ".............." выполнялось именно в том окне, у которого индекс 0

не зависимо от того в каком окне я запускаю логику, в 1 или во 2

Я потом еще прочитал предупреждение об этом где-то в интеренте, когда уже наткнулся)
источник

С

Сэр MSTR in Unreal Engine
у меня кстати все работает на своей системе репликации через отправку массивов структур с сервера на клиент) все четенько прям так)
источник

С

Сэр MSTR in Unreal Engine
виджеты своевременно так даже куда легче обновлять, каеф прямо
источник

С

Сэр MSTR in Unreal Engine
с рпеликацией сабобджектов я немного намучился до этого)
источник

С

Сэр MSTR in Unreal Engine
через GetFirstPlayerController() я уже написал что хотел, вроде все правильно работает, но мало ли🧐
источник

Y

Yakim in Unreal Engine
Так а чо ты там изобрел то в итоге?
источник

С

Сэр MSTR in Unreal Engine
Yakim
Так а чо ты там изобрел то в итоге?
ну как у меня было сделано в БП проекте.. так я сделал и в с++
из юобджекта взять структуру, в которой лежит вся его дата, запихнуть эту структуру в массив и отправить массив с такими структурами на клиент, когда нужно

а нужно это либо один раз когда игрок экипирует предмет (Actor) у которого есть компонент Storage, либо когда игрок заглядывает в какой нибудь сейф или лутбокс на карте
источник

С

Сэр MSTR in Unreal Engine
при таком способе можно кстати легко настроить синхронизацию между двумя игроками, которые одновременно смотрят в один сейф

один игрок что нибудь добавляет в сейф, у второго игрока это отображается

в случае с построением репликации через ReplicateSubobject мне это не удалось
источник

Y

Yakim in Unreal Engine
и в чем проблема?
источник

С

Сэр MSTR in Unreal Engine
Yakim
и в чем проблема?
вообще там главная проблема, что не получается сменить Parent Actor? когда я перекладываю предмет из одного компонента инвентаря в другой

он же должен при этом начать реплицироваться через другой компонент (в который я перекладываю)

ну я использовал для этого функцию Rename, устанавливал нового аутера. Аутер в юобджекта менялся, но новый экторкомпонент не реплицировал юобджект, выдавал лог я тут вчера писал
источник

С

Сэр MSTR in Unreal Engine
к тому же.. репликацию самих объектов в соединения я смог там сделать, то есть прямо в функции ReplicateSubobject
я сравнивал Channel->Connection с нужным мне, и если да, то реплицировал объекты, а вот с переменными так не получится

переменные можно по стандарту, либо Owner, либо SkipOwner либо всем, ну и... сам знаешь

И никак там нельзя нигде было выбрать в какое соединение переменные реплицировать, а в какое нет

а TArray<UItemBase*> Items это и есть по сути переменная

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

а указатели на эти объекты получат либо все либо овнер

если овнер, то нельзя сделать то о чем я выше говорил, то есть нельзя отобразить у двух клиентов одновременно что в ящике что-то изменилось

а если указатели получают все, то это репликация указателей всем, и клиент при этом.. даже не зная что там ха объекты в ящике.. будет знать сколько их, а так нельзя в играх, вот такие дела


и да, не вариант урезать NetCullDistanceSquare для того что бы реплицировалось это все только тем кто рядом с ящиком стоит, потом у что ящик спаунится на карте динамически, и не будет виден издалека

вот такие дела)
источник

С

Сэр MSTR in Unreal Engine
В общем, я не стал разбираться почему Rename не работает, потому что уже намучился с этим и понял что это дороговатый способ для репликации инвентарей. Тем более что уже не получалось сделать синхронизацию действий. Тем более, что весь интернет пишет что Rename именно для этого и предназначен.. ну и переделал все к е***ям)
источник