rj-action-library/Runtime/Cameras/VirtualCamera.cs

50 lines
934 B
C#

using System.Diagnostics;
using System.Collections;
using System.Collections.Generic;
using System;
using Godot;
namespace Rokojori
{
[Tool]
[GlobalClass, Icon("res://addons/rokojori_action_library/Icons/VirtualCamera3D.svg") ]
public partial class VirtualCamera:Node3D
{
[Export]
public float fov = 60;
[Export]
public bool inputEnabled = true;
[ExportToolButton( "Copy Camera Pose")]
public Callable copyCameraPoseButton => Callable.From(
()=>
{
#if TOOLS
var camera = EditorInterface.Singleton.GetEditorViewport3D().GetCamera3D();
Pose.CopyTo( camera, this );
#endif
}
);
public Vector3 GetCameraPosition()
{
return GlobalPosition;
}
public Quaternion GetCameraRotation()
{
return GlobalBasis.GetRotationQuaternion();
}
public float GetCameraFOV()
{
return fov;
}
}
}