Size: a a a

2021 March 07

P

Pavel in Unreal Engine
Vitalii Jardan
Ребят всем привет, появился актуальный вопрос в котором не могу разобраться.
1) Я не понимаю, когда нужно использовать указатели, а когда переменные
Например почему с контейнерами (как пример с массивами), не используют указатель:
TArray<UMaterialInstance> Material;
а  с суб-классами или компонентами используют (а иногда нет)?
UMaterialInstance* Material;
UCharacterMovementComponent* CharMovement;
Или почему, например, иногда используют класс TSubclassOf:
TSubclassOf<UDamageType> DamageType;
С ними поинтеры не используют.
————————————————
2) Чем должны являться enum-ы в классе (поинтером или объектом)?
Самая большая разница во времени жизни. Переменная (по значению) всегда живёт столько же сколько объект в котором она существует (или если это локальная переменная то до конца скоупа в котором она создана), время жазни никак не продлить или сократить, кроме как положить ее в другой объект или скоуп.
Объект который хранится по указателю может быть создан раньше или позже, уничтожен раньше или позже, это может быть полезно в некоторых ситуациях, но требует следить за тем чтобы не обратиться к объекту когда он ещё не создан, или уже уничтожен, не забыть его удалить вовремя (анрил последнее сильно упрощает тем что можно просто прописать ему UProperty).
Другое отличие в том где объект хранится в памяти.

Enum обычно хранят и передают по значению, так как это очень легковесный тип.

Я не анрилист, а плюсовик, так что в каких-то деталях могу ошибаться относительно анрила.
источник

ИМ

Илья Максимович... in Unreal Engine
Vitalii Jardan
Ребят всем привет, появился актуальный вопрос в котором не могу разобраться.
1) Я не понимаю, когда нужно использовать указатели, а когда переменные
Например почему с контейнерами (как пример с массивами), не используют указатель:
TArray<UMaterialInstance> Material;
а  с суб-классами или компонентами используют (а иногда нет)?
UMaterialInstance* Material;
UCharacterMovementComponent* CharMovement;
Или почему, например, иногда используют класс TSubclassOf:
TSubclassOf<UDamageType> DamageType;
С ними поинтеры не используют.
————————————————
2) Чем должны являться enum-ы в классе (поинтером или объектом)?
UObject всегда должен быть указателем.

TArray<UMaterialInstance*> Materials.

Иногда * во фрэймворке опускается где принимается тип. Например в Cast<UObjectType>(UObect* object)
источник

VA

Vladimir Alyamkin in Unreal Engine
Vitalii Jardan
Ребят всем привет, появился актуальный вопрос в котором не могу разобраться.
1) Я не понимаю, когда нужно использовать указатели, а когда переменные
Например почему с контейнерами (как пример с массивами), не используют указатель:
TArray<UMaterialInstance> Material;
а  с суб-классами или компонентами используют (а иногда нет)?
UMaterialInstance* Material;
UCharacterMovementComponent* CharMovement;
Или почему, например, иногда используют класс TSubclassOf:
TSubclassOf<UDamageType> DamageType;
С ними поинтеры не используют.
————————————————
2) Чем должны являться enum-ы в классе (поинтером или объектом)?
TArray<UMaterialInstance> Material;

вот это между прочим выглядит очень, очень неправильным!)
источник

ИМ

Илья Максимович... in Unreal Engine
Vitalii Jardan
Ребят всем привет, появился актуальный вопрос в котором не могу разобраться.
1) Я не понимаю, когда нужно использовать указатели, а когда переменные
Например почему с контейнерами (как пример с массивами), не используют указатель:
TArray<UMaterialInstance> Material;
а  с суб-классами или компонентами используют (а иногда нет)?
UMaterialInstance* Material;
UCharacterMovementComponent* CharMovement;
Или почему, например, иногда используют класс TSubclassOf:
TSubclassOf<UDamageType> DamageType;
С ними поинтеры не используют.
————————————————
2) Чем должны являться enum-ы в классе (поинтером или объектом)?
Тоже самое и с TSubclassOf. Он в качестве шаблонного аргумента принимает тип, поэтому * там не пишется
источник

VJ

Vitalii Jardan in Unreal Engine
Vladimir Alyamkin
TArray<UMaterialInstance> Material;

вот это между прочим выглядит очень, очень неправильным!)
А почему?
источник

ИМ

Илья Максимович... in Unreal Engine
Vitalii Jardan
Ребят всем привет, появился актуальный вопрос в котором не могу разобраться.
1) Я не понимаю, когда нужно использовать указатели, а когда переменные
Например почему с контейнерами (как пример с массивами), не используют указатель:
TArray<UMaterialInstance> Material;
а  с суб-классами или компонентами используют (а иногда нет)?
UMaterialInstance* Material;
UCharacterMovementComponent* CharMovement;
Или почему, например, иногда используют класс TSubclassOf:
TSubclassOf<UDamageType> DamageType;
С ними поинтеры не используют.
————————————————
2) Чем должны являться enum-ы в классе (поинтером или объектом)?
На Enum такое не распространяется, однако обычно используют обьектом
источник

AF

Alex Furlong in Unreal Engine
кто работал с unrealpak? как изменить с консоли метод сжатия? какие лимиты blocksize?
источник

VA

Vladimir Alyamkin in Unreal Engine
Vitalii Jardan
А почему?
Потому что там должен быть указатель. Тебе UBT по-моему даже и не даст так сделать.
источник

VJ

Vitalii Jardan in Unreal Engine
Vladimir Alyamkin
Потому что там должен быть указатель. Тебе UBT по-моему даже и не даст так сделать.
Ага, спасибо
источник

VJ

Vitalii Jardan in Unreal Engine
Pavel
Самая большая разница во времени жизни. Переменная (по значению) всегда живёт столько же сколько объект в котором она существует (или если это локальная переменная то до конца скоупа в котором она создана), время жазни никак не продлить или сократить, кроме как положить ее в другой объект или скоуп.
Объект который хранится по указателю может быть создан раньше или позже, уничтожен раньше или позже, это может быть полезно в некоторых ситуациях, но требует следить за тем чтобы не обратиться к объекту когда он ещё не создан, или уже уничтожен, не забыть его удалить вовремя (анрил последнее сильно упрощает тем что можно просто прописать ему UProperty).
Другое отличие в том где объект хранится в памяти.

Enum обычно хранят и передают по значению, так как это очень легковесный тип.

Я не анрилист, а плюсовик, так что в каких-то деталях могу ошибаться относительно анрила.
Спасибо
источник

VJ

Vitalii Jardan in Unreal Engine
Илья Максимович
UObject всегда должен быть указателем.

TArray<UMaterialInstance*> Materials.

Иногда * во фрэймворке опускается где принимается тип. Например в Cast<UObjectType>(UObect* object)
Спасибо
источник

ID

Ivan Durnev in Unreal Engine
Всем привет, скажите пожалуйста ребята, можно ли сделать приложение которое будет работать в web? Например на сайт повесить приложение , хождение по галерее и какие требования для этого ?
источник

MB

Michael BlackRain in Unreal Engine
Ivan Durnev
Всем привет, скажите пожалуйста ребята, можно ли сделать приложение которое будет работать в web? Например на сайт повесить приложение , хождение по галерее и какие требования для этого ?
за деньги можно все
но зачем?)
источник

ID

Ivan Durnev in Unreal Engine
Ну спрашивают такую возможность
источник

MB

Michael BlackRain in Unreal Engine
Ivan Durnev
Ну спрашивают такую возможность
ну чтобы точно сказать можно ли и за сколько, нужно знать больше деталей)
источник

ID

Ivan Durnev in Unreal Engine
Ну образно говоря, есть приложение где ходишь по галерее. Собственное его нужно просто запилить на сайт, чтобы было рабочей темой.
источник

MB

Michael BlackRain in Unreal Engine
можно конечно
но сколько будет стоить не скажу) тут с кем и на сколько договоритесь) у каждого индивидуальные цены))
источник

ИМ

Илья Максимович... in Unreal Engine
Ivan Durnev
Всем привет, скажите пожалуйста ребята, можно ли сделать приложение которое будет работать в web? Например на сайт повесить приложение , хождение по галерее и какие требования для этого ?
Можно, но html в deprecated. Только старую версию двигла использовать. Вроде 4.22 последняя была, которая могла. Хотя я думаю можно что-то посвежее от энтузиастов найти
источник

SH

Straw Hat in Unreal Engine
Всем привет. Кто знаком с GAS. Каким образом вы бы реализовывали эффект, который триггерит другие эффекты по внешним событиям (получение/нанесение урона, каст абилки)? Более детально: есть пассивка, которая при касте абилки может дать временный эффект +15% к скорости каста.
Пока из изученного мной не вижу, чтобы внутри эффекта можно было подписываться на события. Соответственно приходит только один вариант, это писать дополнительную логику именно в местах таких событий.
источник

❤️ in Unreal Engine
Straw Hat
Всем привет. Кто знаком с GAS. Каким образом вы бы реализовывали эффект, который триггерит другие эффекты по внешним событиям (получение/нанесение урона, каст абилки)? Более детально: есть пассивка, которая при касте абилки может дать временный эффект +15% к скорости каста.
Пока из изученного мной не вижу, чтобы внутри эффекта можно было подписываться на события. Соответственно приходит только один вариант, это писать дополнительную логику именно в местах таких событий.
Так пассивка это же абилка? Почему внутри неё нельзя подписаться на необходимые события и навешивать эффект с ускорением?
источник