Size: a a a

RU Rust GameDev — русскоговорящее сообщество

2020 April 17

R

Roman in RU Rust GameDev — русскоговорящее сообщество
По известному типу. Так хоть размер проверишь )
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Roman
А читать ты потом как будешь?
Мне ссылку получить надо, а не штуку на стеке. В итоге получается, что только юзеркод умеет работать с этим, но там типы и на этапе компиляции могут быть известны
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Ну так *mut [u8] и не на стеке ж
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Ну то есть сам слайс на стеке, указывает в chunk
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Roman
А читать ты потом как будешь?
Юзеркод явно определяет ComponentEditor неявно DynComponentEditor.
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Тем не менее этот костыль очень медленный
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Надо же как-то итерироваться уметь быстро
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Roman
Тем не менее этот костыль очень медленный
А ему и не требуется быть быстрым. Эта штука нужна, чтоб отобразить компоненты для одного Entity.
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
А в режиме игры эти штуки вообще надо обкладывать #[cfg] для полного вырезания
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
А рендеру надо бытьбыстрым
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Roman
А рендеру надо бытьбыстрым
Так ему не требуется рендериться каждый кадр. По крайней мере в идеале.
источник

R

Roman in RU Rust GameDev — русскоговорящее сообщество
Я про свой кейс говорю
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Roman
Я про свой кейс говорю
А, тогда ладно
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Ваще в идеале 95% редакторов компонентов должно через derive или атрибуты генериться.
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Т.е.

#[derive(ComponentEditor)]
struct MyAwesomeComponent {
   #[slider(0.0, 1.0)]
   field: f32
}


Например
источник

L

Lain-dono in RU Rust GameDev — русскоговорящее сообщество
Ну или тож самое, но через #[component].
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
lain-dono: sectator:  специально для тебя. Это очень похоже на то, как оно в Unity. Но у меня лучше
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
sectator: lain-dono
> В идеале вовсе следует вычленять интересующие технологии и рассматривать их отдельно от движков, потому что они интересны сами по себе, а не ориентироваться на «там есть — значит и нам надо»
я думаю, что ты не клонируешь юнити, а используешь технологию, если твоё решение лучше (по твоему же утверждению), которая вполне себе может быть удобной и эффективной
Раст позволяет очень детально анализировать типы (по крайней мере совпадения _очень_ маловероятны) с помощью связки dyn Any + TypeId (или в статической диспетчеризации) (когда-то мне приходилось сталкиваться с динамическим определением типов, не помню уже зачем). Не думаю, что юнити предоставляет такую возможность, поэтому тупое копирование того, что в юнити, скорее всего обернётся созданием дополнительных флагов в структурах и кучу указателей, вместо типажей (или ещё хуже — можно пойти по пути наименьшего сопротивления и воскостылировать ООП в расте (если я верно понимаю, C# из юнити очень сильно к ООП привязывает), где оно превратиться в бессвязную мешанину трейтов, а, вероятно, и макросов). Детально в твои сообщения я не вникал, просто окидывал общим взглядом, когда они выползали из-под флуда (потому как необходимость выискивать сообщения среди сотен не по теме вовсе отбивает желание просматривать какие-либо длинные развитые цепочки сообщений), поэтому не знаю, насколько это применимо в твоём случае. Что-то похожее на TypeId я у тебя видел, не знаю, насколько связано со стандартными почти одноимёнными растотипами.
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
lain-dono: sectator: я копирую и улучшаю в первую очередь _пользовательский опыт_ Unity. Т.е. офигенный _расширяемый_ редактор. Многие идеи на поверхности очень похожи. Юнитбой придёт, выучит растишку и пойдёт писать. Общие идеи у него уже в голове. Но в дополнение гороздо большая гибкость.
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
sectator: расширения — не заслуга юнити, они много где есть
источник