rokojori_action_library/Runtime/Cameras/VirtualCamera.cs

46 lines
901 B
C#
Raw Normal View History

2024-05-19 15:59:41 +00:00
using System.Diagnostics;
using System.Collections;
using System.Collections.Generic;
using System;
using Godot;
namespace Rokojori
{
[Tool]
2025-01-21 20:58:56 +00:00
[GlobalClass, Icon("res://addons/rokojori_action_library/Icons/VirtualCamera3D.svg") ]
2026-02-26 14:06:27 +00:00
public abstract partial class VirtualCamera:Node3D
2024-05-19 15:59:41 +00:00
{
2025-12-11 14:47:57 +00:00
[Export]
public bool inputEnabled = true;
2025-12-14 12:18:57 +00:00
[ExportToolButton( "Copy Camera Pose")]
public Callable copyCameraPoseButton => Callable.From(
()=>
{
#if TOOLS
var camera = EditorInterface.Singleton.GetEditorViewport3D().GetCamera3D();
Pose.CopyTo( camera, this );
#endif
}
);
2026-02-26 14:06:27 +00:00
public virtual Vector3 GetCameraPosition()
2024-05-19 15:59:41 +00:00
{
return GlobalPosition;
}
2026-02-26 14:06:27 +00:00
public virtual Quaternion GetCameraRotation()
2024-05-19 15:59:41 +00:00
{
return GlobalBasis.GetRotationQuaternion();
}
2026-02-26 14:06:27 +00:00
public abstract float GetCameraFOV();
2024-05-19 15:59:41 +00:00
}
}