diff --git a/Sources/armory/logicnode/EnhancedTransformNode.hx b/Sources/armory/logicnode/EnhancedTransformNode.hx index 76588af..b6c5807 100644 --- a/Sources/armory/logicnode/EnhancedTransformNode.hx +++ b/Sources/armory/logicnode/EnhancedTransformNode.hx @@ -41,9 +41,9 @@ class EnhancedTransformNode extends LogicNode { scale.z = object.transform.scale.z; } - q.fromEuler(rot.x, rot.y, rot.z); + q.fromEuler(rot.x, rot.y, rot.z); value.compose(loc, q, scale); - object.transform.setMatrix(value); + object.transform.setMatrix(value); #if arm_physics var rigidBody = object.getTrait(RigidBody); diff --git a/blender.py b/blender.py index 541c71f..1687325 100644 --- a/blender.py +++ b/blender.py @@ -1,24 +1,10 @@ -from bpy.types import Node +import bpy +from bpy.props import * +from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * import arm.nodes_logic - -class EnhancedTransformNode(Node, ArmLogicTreeNode): - '''EnhancedTransformNode''' - bl_idname = 'LNEnhancedTransformNode' - bl_label = 'Enhanced Transform' - bl_icon = 'GAME' - - def init(self, context): - self.inputs.new('ArmNodeSocketAction', 'In') - self.inputs.new('ArmNodeSocketObject', 'Object') - self.inputs.new('NodeSocketVector', 'Location') - self.inputs.new('NodeSocketVector', 'Rotation') - self.inputs.new('NodeSocketVector', 'Scale') - self.outputs.new('ArmNodeSocketAction', 'Out') +from logicnode_definitions import * def register(): - # Add custom nodes - add_node(EnhancedTransformNode, category='Action') - # Register newly added nodes arm.nodes_logic.register_nodes() diff --git a/logicnode_definitions/__init__.py b/logicnode_definitions/__init__.py new file mode 100644 index 0000000..521232e --- /dev/null +++ b/logicnode_definitions/__init__.py @@ -0,0 +1,5 @@ +# Import all nodes +from os.path import dirname, basename, isfile +import glob +modules = glob.glob(dirname(__file__)+"/*.py") +__all__ = [basename(f)[:-3] for f in modules if isfile(f)] diff --git a/logicnode_definitions/action_enhanced_transform.py b/logicnode_definitions/action_enhanced_transform.py new file mode 100644 index 0000000..62a12f4 --- /dev/null +++ b/logicnode_definitions/action_enhanced_transform.py @@ -0,0 +1,21 @@ +import bpy +from bpy.props import * +from bpy.types import Node, NodeSocket +from arm.logicnode.arm_nodes import * + + +class EnhancedTransformNode(Node, ArmLogicTreeNode): + '''EnhancedTransformNode''' + bl_idname = 'LNEnhancedTransformNode' + bl_label = 'Enhanced Transform' + bl_icon = 'GAME' + + def init(self, context): + self.inputs.new('ArmNodeSocketAction', 'In') + self.inputs.new('ArmNodeSocketObject', 'Object') + self.inputs.new('NodeSocketVector', 'Location') + self.inputs.new('NodeSocketVector', 'Rotation') + self.inputs.new('NodeSocketVector', 'Scale') + self.outputs.new('ArmNodeSocketAction', 'Out') + +add_node(EnhancedTransformNode, category='Action')