From bd3159b0239c2b74f27f82ae86ad851d6af3f19a Mon Sep 17 00:00:00 2001 From: Maxim Stewart Date: Sun, 12 Aug 2018 21:07:28 -0500 Subject: [PATCH] Initial commit... --- Images/Enhanced Transform.png | Bin 0 -> 37641 bytes Images/Look At.png | Bin 0 -> 23472 bytes README.md | 6 ++- .../armory/logicnode/EnhancedTransformNode.hx | 43 +++++++++++++++ Sources/armory/logicnode/LookAtNode.hx | 49 ++++++++++++++++++ blender.py | 40 ++++++++++++++ 6 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 Images/Enhanced Transform.png create mode 100644 Images/Look At.png create mode 100644 Sources/armory/logicnode/EnhancedTransformNode.hx create mode 100644 Sources/armory/logicnode/LookAtNode.hx create mode 100644 blender.py diff --git a/Images/Enhanced Transform.png b/Images/Enhanced Transform.png new file mode 100644 index 0000000000000000000000000000000000000000..9b065492eafe31d93c01447ce732c4945f6f4c02 GIT binary patch literal 37641 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 literal 0 HcmV?d00001 diff --git a/Images/Look At.png b/Images/Look At.png new file mode 100644 index 0000000000000000000000000000000000000000..083c778aeb8bd86a555bfd38916cbc89b63c8288 GIT binary patch literal 23472 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
  • Enhanced Transform
  • @@ -13,3 +13,7 @@ I want to add the following:
  • Near
  • Track To
  • + +# Images +![1 Enhanced Transform](Images/Enhanced Transform.png) +![2 Pane View](Images/Look At.png) diff --git a/Sources/armory/logicnode/EnhancedTransformNode.hx b/Sources/armory/logicnode/EnhancedTransformNode.hx new file mode 100644 index 0000000..96099e0 --- /dev/null +++ b/Sources/armory/logicnode/EnhancedTransformNode.hx @@ -0,0 +1,43 @@ +package armory.logicnode; + +import iron.object.Object; +import iron.math.Vec4; +import armory.trait.physics.RigidBody; + + +class EnhancedTransformNode extends LogicNode { + + public function new(tree:LogicTree) { + super(tree); + } + + override function run() { + var object:Object = inputs[1].get(); + var loc:Vec4 = inputs[2].get(); + var rot:Vec4 = inputs[3].get(); + var scale:Vec4 = inputs[4].get(); + + if (loc == null || rot == null || scale == null) return; + + // Location transform + object.transform.loc.x = loc.x; + object.transform.loc.y = loc.y; + object.transform.loc.z = loc.z; + + // Rotation transform + object.transform.rot.fromEuler(rot.x, rot.y, rot.z); + object.transform.buildMatrix(); + + // Scale transform + object.transform.scale.x = scale.x; + object.transform.scale.y = scale.y; + object.transform.scale.z = scale.z; + + #if arm_physics + var rigidBody = object.getTrait(RigidBody); + if (rigidBody != null) rigidBody.syncTransform(); + #end + + super.run(); + } +} diff --git a/Sources/armory/logicnode/LookAtNode.hx b/Sources/armory/logicnode/LookAtNode.hx new file mode 100644 index 0000000..e3c8f00 --- /dev/null +++ b/Sources/armory/logicnode/LookAtNode.hx @@ -0,0 +1,49 @@ +package armory.logicnode; + +import iron.object.Object; +import iron.math.Vec3; +import armory.trait.physics.RigidBody; + + +class LookAtNode extends LogicNode { + + public function new(tree:LogicTree) { + super(tree); + } + + override function run() { + var targeter:Object = inputs[1].get(); + var target:Object = inputs[2].get(); + var threeDeeTrack:Bool = inputs[3].get(); + + var targeterRot:Vec3; + var targetLoc:Vec3; + + if (targeter == null || target == null) return; + + targeterRot = new Vec3(targeter.transform.rot.x, + targeter.transform.rot.y, + targeter.transform.rot.z); + + targetLoc = new Vec3(target.transform.loc.x, + target.transform.loc.y, + target.transform.loc.z); + + var newZLook = targeterRot.z + (targeterRot.z - (targetLoc.y / targetLoc.x)); + + if ( threeDeeTrack == true ) { + targeter.transform + .setRotation(targeterRot.x, targetLoc.y, newZLook); + } else { + targeter.transform + .setRotation(targeterRot.x, targeterRot.y, newZLook); + } + + #if arm_physics + var rigidBody = targeter.getTrait(RigidBody); + if (rigidBody != null) rigidBody.syncTransform(); + #end + + super.run(); + } +} diff --git a/blender.py b/blender.py new file mode 100644 index 0000000..be1dc20 --- /dev/null +++ b/blender.py @@ -0,0 +1,40 @@ +from bpy.types import Node +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.inputs[-1].default_value = [1.0, 1.0, 1.0] + self.outputs.new('ArmNodeSocketAction', 'Out') + +class LookAtNode(Node, ArmLogicTreeNode): + '''LookAtNode''' + bl_idname = 'LNLookAtNode' + bl_label = 'Look At' + bl_icon = 'GAME' + + def init(self, context): + self.inputs.new('ArmNodeSocketAction', 'In') + self.inputs.new('ArmNodeSocketObject', 'Object') + self.inputs.new('ArmNodeSocketObject', 'Object') + self.inputs.new('NodeSocketBool', '3D Track') + self.outputs.new('ArmNodeSocketAction', 'Out') + + +def register(): + # Add custom nodes + add_node(EnhancedTransformNode, category='Action') + add_node(LookAtNode, category='Action') + + # Register newly added nodes + arm.nodes_logic.register_nodes()