newbspguy icon indicating copy to clipboard operation
newbspguy copied to clipboard

Unable to Simultaneously Change Entities

Open ToxicHolyGrenade opened this issue 2 years ago • 11 comments

I do sincerely hope the time comes to polish the multiple entity selection feature, because while I can delete multiple entities at the same time, I am unable to change the selected ones simultaneously; trying to do so just ends up changing one entity, and that's pretty much it.

Here's the video showcasing the problem.

ToxicHolyGrenade avatar Jan 10 '23 23:01 ToxicHolyGrenade

And oh yes, I forgot, and while you are at it, also give users the capability of also changing the inner components of multiple monstermakers, env_xenmakers, and squadmakers, like changing more than one monstermaker into spawning Headcrabs rather than Alien Slaves, and vice versa.

ToxicHolyGrenade avatar Jan 11 '23 00:01 ToxicHolyGrenade

I do sincerely hope the time comes to polish the multiple entity selection feature, because while I can delete multiple entities at the same time, I am unable to change the selected ones simultaneously; trying to do so just ends up changing one entity, and that's pretty much it.

Here's the video showcasing the problem.

This is not bug, just no feature added, just wait for new versions....

You can Select, Delete, Copy, Paste multiple objects, but you can't edit multiple objects in keyvalue editor.

UnrealKaraulov avatar Jan 11 '23 06:01 UnrealKaraulov

@UnrealKaraulov Работает, только не поддерживается изменение координат по отдельности друг от друга. Нельзя, например, в формате 100 200 300 поменять только высоту (актуальная вещь для выравнивания энтить). Если одно значение меняешь, то все энтити получают одинаковые координаты, смерживаются в одну точку.

Qwertyus3D avatar Dec 11 '23 08:12 Qwertyus3D

@UnrealKaraulov Ну, у нас получается несколько параметров такого рода: angles(string) : "Pitch, Yaw, Roll (X Z Y)" : "0 0 0" rendercolor(color255) : "Color tint for Pure color" : "0 0 0" rendercolor(color255) : "FX Color (R G B)" : "0 0 0" rendercolor(color255) : "Beam color (R G B)" : "0 0 0" rendercolor(color255) : "Fade color (R G B)" : "0 0 0" spawnorigin(string) : "X Y Z - move here after lighting" : "0 0 0" ambient(string) : "Ambient world light (0.0 to 1.0, R G B)" : "0 0 0"

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

Qwertyus3D avatar Dec 11 '23 09:12 Qwertyus3D

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

Qwertyus3D avatar Dec 18 '23 08:12 Qwertyus3D

Правда, тут тогда нужно отделить правку от передвижения, т. к. при передвижении группа энтить двигается относительно общего оригина.

Qwertyus3D avatar Dec 18 '23 08:12 Qwertyus3D

Скачал билд 486, очень странные финты выкидывает при правке. Экспериментирую с высотой. Выделил энтити, правлю последнюю цифру высоты. Если первая энтить имела то же самое значение высоты, которое я хочу присвоить всей группе (допустим, 301; и я выделяю 1 и снова ставлю 1) - то первая энтить остаётся на месте, а остальные сбиваются в пачку вокруг другой энтити - как будто у них не высота изменилась, а другие значения. Точнее. высота у них "подстраивается" под ту энтить (а не под то значение, которое я хотел ввести), и они выстраиваются в один ряд по значению X, но со смещением по оси Y. Если я задал высоту такую, как у последней выделенной энтити, то тут правка проходит успешно. Или если вбиваю другое значение, то тоже норм, выравнивается по нему. Хотя при первой попытке у меня почему-то от этого камера сместилась высоко вверх.

И вот по поводу того, что выше писал, такое предложение есть. Разделить действие редактирования координат для группы выделенных объектов в зависимости от выбранного режима. У нас там есть выбор цели манипуляции (LANG_0694 = Target:) и варианты Object и Origin. Вот я бы предложил в режиме выделения группы объектов при редактировании одного из полей осей перемещать группу так: в одном случае - менять всем выделенным сущностям значение по оси, в другом случае - двигать группу на указанное смещение, относительно изменения значения для первой выбранной энтити.

Поясню на примере. Допустим, мы выделяем группу объектов. У нас при этом виден оригин первой выделенной сущности в графе координат. Ну и на тот случай, что мы хотим не исправить значение высоты всем сущностям, а именно хотим переместить их, например, вниз, то выбираем соответствующий режим, и получается так. Скажем, высота первой энтити 300, а мы её меняем на 250. Тогда и все остальные выделенные сущности смещаются на 50 юнитов ниже относительно своего текущего положения.

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

Qwertyus3D avatar Dec 18 '23 16:12 Qwertyus3D

@Qwertyus3D понял думаю можно сделать, на счет первого, если изменяется значение для 'origin' , то проверяет какое из значений изменилось x/y/z и записывает индекс в память, затем для всех выбранных объектов записывает полученное значение в нужный индекс (получает их реальное значение и меняет в нужном индексе) не понимаю что могло сломаться

UnrealKaraulov avatar Dec 18 '23 16:12 UnrealKaraulov