mieki256's diary



2020/11/27(金) [n年前の日記]

#1 [godot] Godot Engineでマウスを動かしてカメラを動かしたい

Godot Engine 3.2.3 x64 を勉強中。Godot Engine のカメラをマウス操作で動かしたいなと。

色々ググってコピペして、こんな感じになった。

_Main.gd
extends Spatial

export var camera_dist = 50
export var angle_speed = 15
var ang = Vector3()

func _ready():
    ang = $Camera.rotation_degrees

func _process(delta):
    ang.y += angle_speed * delta
    set_camera_angle(ang)

func _input(event):
    if event is InputEventMouseMotion:
        ang.y -= (event.relative.x * 360 / 1280)
        ang.x -= (event.relative.y * 180 / 720)
        set_camera_angle(ang)
        
func set_camera_angle(angle):
    var pos = Vector3()
    var d = abs(camera_dist * cos(deg2rad(angle.x)))
    pos.y = camera_dist * sin(deg2rad(-angle.x))
    pos.z = d * cos(deg2rad(angle.y))
    pos.x = d * sin(deg2rad(angle.y))
    $Camera.rotation_degrees = angle
    $Camera.translation = pos


html5でエクスポートしてみた。Webブラウザ上で動くはず。マウスを動かすとカメラがグルグル回る。

_particles_test_3d.html

2021/01/28追記。 :

Webブラウザ上で表示すると、カメラの向きが妙だなと…。まあ、こんな感じでカメラを動かせるっぽい、ということで…。

以上です。

過去ログ表示

Prev - 2020/11 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project