Есть такой скрипт, который не работает, хотя в теории должен
что я хочу вообще: скопировать трансформ пивота у одних объектов и отдать их другим, в цикле там проверяется одинаковость имен.
-- функция которая копирует вращение пивота
fn RotatePivotOnly obj rotation = (local rotVal = (rotation as Quat)
animate off in coordsys local obj.rotation*=RotVal
obj.objectoffsetpos*=RotVal
obj.objectoffsetrot*=RotVal
)
--Этот функционал вызывает диалог с выбором мешей
PivotSources = selectByName title:"выдели объекты у которых заберем пивот" showHidden:true single:false
PivotTargets = selectByName title:"выдели объекты которым пивоты отдадим" showHidden:true single:false
-- теперь пишем код который в цикле будет сравнивать два этих массива поименно и будет из сурса копировать пивот в цель пока что просто пивот, без поворота
for i = 1 to PivotTargets.count do
if (PivotTargets[i].name == PivotSources[i].name) do
PivotTargets[i].pivot = PivotSources[i].pivot -- скопировать позицию пивота с источника на цель
RotatePivotOnly PivotSources[i].rotation (PivotTargets[i].rotation) --скопировать
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
NИ
что я хочу вообще: скопировать трансформ пивота у одних объектов и отдать их другим, в цикле там проверяется одинаковость имен.
-- функция которая копирует вращение пивота fn RotatePivotOnly obj rotation = (local rotVal = (rotation as Quat) animate off in coordsys local obj.rotation*=RotVal obj.objectoffsetpos*=RotVal obj.objectoffsetrot*=RotVal ) --Этот функционал вызывает диалог с выбором мешей PivotSources = selectByName title:"выдели объекты у которых заберем пивот" showHidden:true single:false PivotTargets = selectByName title:"выдели объекты которым пивоты отдадим" showHidden:true single:false -- теперь пишем код который в цикле будет сравнивать два этих массива поименно и будет из сурса копировать пивот в цель пока что просто пивот, без поворота for i = 1 to PivotTargets.count do if (PivotTargets[i].name == PivotSources[i].name) do PivotTargets[i].pivot = PivotSources[i].pivot -- скопировать позицию пивота с источника на цель RotatePivotOnly PivotSources[i].rotation (PivotTargets[i].rotation) --скопироватьNИ
macroScript Pivot_Fixer category:"Danil_Script" buttonText:"Fix Pivots" toolTip:"Run this to fix pivots" ( PivotSources = selectByName title:"Select objects to COPY pivots" showHidden:false single:false PivotTargets = selectByName title:"Select objects to PASTE pivots" showHidden:false single:false ObjectCount = PivotTargets.count rotVal = #() rotVal[ObjectCount] = 0 for i = 1 to ObjectCount do if (PivotTargets[i].name == PivotSources[i].name) do ( ResetPivot (PivotTargets[i]) PivotTargets[i].pivot = PivotSources[i].pivot rotVal[i] = PivotSources[i].rotation as Quat in coordsys local PivotTargets[i].rotation*=RotVal[i] PivotTargets[i].objectoffsetpos*=RotVal[i] PivotTargets[i].objectoffsetrot*=RotVal[i] ) )