From b504e00f96fc55718ea5a404292ca18412576598 Mon Sep 17 00:00:00 2001 From: Sandy <48373918+Sandy10000@users.noreply.github.com> Date: Sun, 9 Feb 2020 23:43:48 +0900 Subject: [PATCH 1/2] Handling issues posted on the Armory forum --- Sources/armory/logicnode/GetWorldNode.hx | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Sources/armory/logicnode/GetWorldNode.hx diff --git a/Sources/armory/logicnode/GetWorldNode.hx b/Sources/armory/logicnode/GetWorldNode.hx new file mode 100644 index 00000000..54fad9f9 --- /dev/null +++ b/Sources/armory/logicnode/GetWorldNode.hx @@ -0,0 +1,30 @@ +package armory.logicnode; + +import iron.object.Object; +import iron.math.Vec4; + +class GetWorldNode extends LogicNode { + + public var property0: String; + + public function new(tree: LogicTree) { + super(tree); + } + + override function get(from: Int): Dynamic { + var object: Object = inputs[0].get(); + if (object == null) { + return null; + } + + switch (property0) { + case "right": + return object.transform.world.right(); + case "look": + return object.transform.world.look(); + case "up": + return object.transform.world.up(); + } + return null; + } +} From 6fab32b61333bdb8da8390e5cb597a185ec3a69f Mon Sep 17 00:00:00 2001 From: Sandy <48373918+Sandy10000@users.noreply.github.com> Date: Sun, 9 Feb 2020 23:45:04 +0900 Subject: [PATCH 2/2] Handling issues posted on the Armory forum --- blender/arm/logicnode/value_get_world.py | 25 ++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 blender/arm/logicnode/value_get_world.py diff --git a/blender/arm/logicnode/value_get_world.py b/blender/arm/logicnode/value_get_world.py new file mode 100644 index 00000000..c85de5ae --- /dev/null +++ b/blender/arm/logicnode/value_get_world.py @@ -0,0 +1,25 @@ +import bpy +from bpy.props import * +from bpy.types import Node, NodeSocket +from arm.logicnode.arm_nodes import * + +class GetWorldNode(Node, ArmLogicTreeNode): + '''Get world node''' + bl_idname = 'LNGetWorldNode' + bl_label = 'Get World' + bl_icon = 'QUESTION' + + property0: EnumProperty( + items = [('right', 'right', 'right'), + ('look', 'look', 'look'), + ('up', 'up', 'up')], + name='', default='right') + + def init(self, context): + self.inputs.new('ArmNodeSocketObject', 'Object') + self.outputs.new('NodeSocketVector', 'Vector') + + def draw_buttons(self, context, layout): + layout.prop(self, 'property0') + +add_node(GetWorldNode, category='Value')