41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
|
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()
|