-- ************************************************** -- Provide Moho with the name of this script object -- ************************************************** ScriptName = "AE_InvertLayerTransform" -- ************************************************** -- General information about this script -- ************************************************** AE_InvertLayerTransform = {} function AE_InvertLayerTransform:Name() return 'Invert layer transform' end function AE_InvertLayerTransform:Version() return '1.0' end function AE_InvertLayerTransform:UILabel() return 'Invert layer transform' end function AE_InvertLayerTransform:Creator() return 'Alexandra Evseeva' end function AE_InvertLayerTransform:Description() return '' end -- ************************************************** -- Is Relevant / Is Enabled -- ************************************************** function AE_InvertLayerTransform:IsRelevant(moho) return true end function AE_InvertLayerTransform:IsEnabled(moho) return true end -- ************************************************** -- The guts of this script -- ************************************************** function AE_InvertLayerTransform:Run(moho) moho.document:SetDirty() moho.document:PrepUndo(nil) -- Your code here: local printOutput = false --output calculated values for debug local mainLayer = moho.layer local mainMatrix = LM.Matrix:new_local() mainLayer:GetLayerTransform(moho.layerFrame, mainMatrix, moho.document) if not mainLayer:Parent() then local cameraMatrix = LM.Matrix:new_local() moho.document:GetCameraMatrix(moho.frame, cameraMatrix) cameraMatrix:Invert() cameraMatrix:Multiply(mainMatrix) mainMatrix:Set(cameraMatrix) if printOutput then AE_Utilities:Matrix2transform(cameraMatrix,printOutput) end end local invertedMatrix = LM.Matrix:new_local() invertedMatrix:Set(mainMatrix) invertedMatrix:Invert() local translation, rotationZ, scale = AE_Utilities:Matrix2transform(invertedMatrix) moho.layer.fTranslation:SetValue(moho.frame, translation) moho.layer.fRotationZ:SetValue(moho.frame, rotationZ) moho.layer.fScale:SetValue(moho.frame, scale) end
Invert layer transform
Listed
Author: A.Evseeva
View Script
Script type: Button/Menu
Uploaded: Jan 18 2021, 01:17
Inverts layer transform matrix
This script, and all other scripts on this site are distributed as free software under the GNU General Public License 3.0 or later.
Downloads count: 1160
Invert layer transform
Listed
Author: A.Evseeva
View Script
Script type: Button/Menu
Uploaded: Jan 18 2021, 01:17
Inverts layer transform matrix
This script, and all other scripts on this site are distributed as free software under the GNU General Public License 3.0 or later.
Downloads count: 1160