Войти
Unreal EngineФорумBlueprints

UDK4 blueprints нужна помощь (3 стр)

Страницы: 1 2 3
#30
(Правка: 18:41) 18:29, 23 янв. 2020

Ivashka
> в смысле всё что можешь обычным кодом
некоторые вещи абсурдно делать в блюпринтах.

@!!ex
> Многое нельзя сделать без С++ кода.
99% можно сделать, просто там будет трешь, угар и содомия.

@!!ex
> Когда я вижу специалиста желающего всё делать на блюпринтах мне хочется его
> от**дить.
Я понимаю твое желание, сам не люблю еретиков и фанатиков. Но я прекрасно себе отдаю отчет в том что я делаю. Жанр игры и геймплей был специально выбран такой чтобы на БП ее сделать без блокирующих проблем.
Планировалось что мне будут помогать два джуна и крестами их мучать было бы жестоко, но они слились, а я стараюсь не менять технологии и подходы если в этом нет реальной необходимости.


#31
(Правка: 19:30) 19:27, 23 янв. 2020

Mephistopheles
Я конечно не специалист по блупринтам но кое что спрошу.
А instance editable параметр у компонента инвентаря для слотов ты пробовал делать? Т.е. твой max slots должен быть таковым.
Т.е. в самой функции у тебя не будет точечки с max slots, но если выделить квадратик add bp inventory то в верхнем правом углу будет max slots где указано defaults число и он по идее создастся с дефолтовым значением которое ты указал.

#32
(Правка: 19:45) 19:43, 23 янв. 2020

i4ugui
> А instance editable параметр у компонента инвентаря для слотов ты пробовал
> делать?
это убирает модификатор "readonly" у проперти или типа того.

i4ugui
> то в верхнем правом углу будет slots где указано defaults и он по идее
> создастся с дефолтовым значением которое ты указал.
Его потом ресайзить придется тк инвентари разных размеров могут быть. Если я правильно понял что ты предлагаешь.

функция add bp inventory это по сути фабрика с изменяемыми параметрами, они определяются галочкой Expose on spawn у пропертей. Дефолты можно задать при декларации проперти, спец поле для этого есть.

Изображение
#33
19:50, 23 янв. 2020

Убери expose on spawn и оставь instance editable. Ну а ресайзишь ты его только на старте при создании, или если в рантайме хочешь то сделаешь отдельную функцию внутри компонента.

#34
(Правка: 19:55) 19:54, 23 янв. 2020

i4ugui
> Ну а ресайзишь ты его только на старте при создании,
больше кода в вызывающих методах, зачем?

i4ugui
> или если в рантайме хочешь то сделаешь отдельную функцию внутри компонента.
Тот же вопрос, зачем делать больше кода(да еще и не очевидного) если можно делать меньше кода?

Только не предлагай обернуть это в функу которая создаст и ресайзнет и вызывать ее:)

#35
19:57, 23 янв. 2020

Mephistopheles
Ничего не понимаю, у тебя параметр max slots будет применяться сразу же на старте как ты и просил, если ты где то еще дергаешь свои max slots из других мест для ресайзинга в компоненте то значит у тебя уже есть функция такая.

#36
(Правка: 20:10) 20:05, 23 янв. 2020

i4ugui
>Ничего не понимаю
компоненты могут создаваться двумя способами - декларативно и рантайм
декларативно все работает как ты говоришь
рантайм, мой случай, событие beginplay стреляет до установки фабрикой значений. ресайз после создания будет работать, но это лишняя плашечка(и куча флажков и проверок внутри) которую нужно вызывать везде где идет рантайм создание инвентаря, такая не очевидная инициализация хороший способ прострелить себе ногу

я перенес вызов фабрики в конструктор родительского актера(овнера инвентаря) и проблема была решена сохранив при этом создание и инициализацию одним действием, без лишних проверок, стейтмашин и прочего лишнего кода.
Пока проблем это решение не доставляет и задачу выполняет. Не идеальное, но быстрое.

#37
20:10, 23 янв. 2020

Mephistopheles
Я создавал компонент как у тебя было нарисовано, протянул соединительные шланги внутри актора из begin play до add component, это декларативно или рантайм? У меня стоит print внутри этого component в его begin play и печатает сообщение что установленный параметр 10(я установил в add component) вместо 5 по дефлоту.

#38
(Правка: 20:25) 20:20, 23 янв. 2020

i4ugui
> в его begin play и печатает сообщение что установленный параметр 10
Если бы у меня это работало, то вопроса бы не было:)
Почему у тебя работает, а у меня нет не знаю, нужно исходники смотреть. Но сейчас оно работает через конструктор, а как известно: работает - не трогай:)

#39
20:27, 23 янв. 2020

Mephistopheles
Я рискну предположить что тебе стоит отказаться от read only, если ты там это установил на max slots.

#40
20:28, 23 янв. 2020

i4ugui
> Я рискну предположить что тебе стоит отказаться от read only
его там и нету, галочка его убирает как раз.

#41
(Правка: 14:20) 14:11, 10 июня 2020

Внезапно потребовалось сменить для уровня GameMod, использую level streaming из блюпринтов, а там декларативно ставиться этот Gamemod на "родительский" уровень и не могу найти как его поменять.

суть проблемы -
1)загружается родительский уровень <- ему ставится GameMod(почти дефолтный) в настроек уровня
2)туда грузится уровень c главным меню
3)Игрок нажимает начать игру
4)загружаем уровни для игры <- вот тут нужно заменить GameMod на GameMod с правилами игры для этих уровней

лоадер для уровней выглядит так
https://blueprintue.com/blueprint/61a7uqx5/

И вот как сменить GameMod в рантайме я никак не могу найти.
Заранее спасибо:)

Страницы: 1 2 3
Unreal EngineФорумBlueprints