Merge pull request #403 from guzzard/logicnodes-camera-fov
Get/Set CameraObject FOV logic nodes
This commit is contained in:
commit
9d912bec8a
18
Sources/armory/logicnode/GetCameraFovNode.hx
Normal file
18
Sources/armory/logicnode/GetCameraFovNode.hx
Normal file
|
@ -0,0 +1,18 @@
|
|||
package armory.logicnode;
|
||||
|
||||
import iron.object.CameraObject;
|
||||
|
||||
class GetCameraFovNode extends LogicNode {
|
||||
|
||||
public function new(tree:LogicTree) {
|
||||
super(tree);
|
||||
}
|
||||
|
||||
override function get(from:Int):Dynamic {
|
||||
var camera:CameraObject = inputs[0].get();
|
||||
|
||||
if (camera == null) return 0.0;
|
||||
|
||||
return camera.data.raw.fov;
|
||||
}
|
||||
}
|
22
Sources/armory/logicnode/SetCameraFovNode.hx
Normal file
22
Sources/armory/logicnode/SetCameraFovNode.hx
Normal file
|
@ -0,0 +1,22 @@
|
|||
package armory.logicnode;
|
||||
|
||||
import iron.object.CameraObject;
|
||||
|
||||
class SetCameraFovNode extends LogicNode {
|
||||
|
||||
public function new(tree:LogicTree) {
|
||||
super(tree);
|
||||
}
|
||||
|
||||
override function run() {
|
||||
var camera:CameraObject = inputs[1].get();
|
||||
var fov:Float = inputs[2].get();
|
||||
|
||||
if (camera == null) return;
|
||||
|
||||
camera.data.raw.fov = fov;
|
||||
camera.buildProjection();
|
||||
|
||||
super.run();
|
||||
}
|
||||
}
|
18
blender/arm/logicnode/action_set_camera_fov.py
Normal file
18
blender/arm/logicnode/action_set_camera_fov.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
import bpy
|
||||
from bpy.props import *
|
||||
from bpy.types import Node, NodeSocket
|
||||
from arm.logicnode.arm_nodes import *
|
||||
|
||||
class SetCameraFovNode(Node, ArmLogicTreeNode):
|
||||
'''Set camera FOV node'''
|
||||
bl_idname = 'LNSetCameraFovNode'
|
||||
bl_label = 'Set Camera FOV'
|
||||
bl_icon = 'GAME'
|
||||
|
||||
def init(self, context):
|
||||
self.inputs.new('ArmNodeSocketAction', 'In')
|
||||
self.inputs.new('ArmNodeSocketObject', 'Object')
|
||||
self.inputs.new('NodeSocketFloat', 'FOV')
|
||||
self.outputs.new('ArmNodeSocketAction', 'Out')
|
||||
|
||||
add_node(SetCameraFovNode, category='Action')
|
16
blender/arm/logicnode/value_get_camera_fov.py
Normal file
16
blender/arm/logicnode/value_get_camera_fov.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
import bpy
|
||||
from bpy.props import *
|
||||
from bpy.types import Node, NodeSocket
|
||||
from arm.logicnode.arm_nodes import *
|
||||
|
||||
class GetCameraFovNode(Node, ArmLogicTreeNode):
|
||||
'''Get camera FOV node'''
|
||||
bl_idname = 'LNGetCameraFovNode'
|
||||
bl_label = 'Get Camera FOV'
|
||||
bl_icon = 'GAME'
|
||||
|
||||
def init(self, context):
|
||||
self.inputs.new('ArmNodeSocketObject', 'Object')
|
||||
self.outputs.new('NodeSocketFloat', 'FOV')
|
||||
|
||||
add_node(GetCameraFovNode, category='Value')
|
Loading…
Reference in a new issue