Godotでホラーゲーム開発チュートリアル Part 6: ホラー演出の強化!カメラの揺れと足音の実装


Godot Engine バージョン4.3

このパートでは、プレイヤーの移動に応じてカメラを揺らし、より臨場感のある視点を作ります。また、足音の処理を追加し、歩行やダッシュ時の音を変化させることで、よりリアルで緊張感のあるホラー体験を演出します。暗闇の中を進む足音や微細な揺れが、恐怖感を引き立てる重要な要素となるでしょう!



こちらから試しにプレイしてください!


プレイヤーの移動のカメラを揺らし
プレイヤーの移動に応じてカメラを揺らし、より臨場感のある視点を作ります!
プレイヤーのスクリプトに追加してください!
# フレームごとの処理
func _process(delta):
if direction != null:
process_camBob(delta) # カメラの揺れを処理

# カメラの揺れを処理
func process_camBob(delta):
_delta += delta
var cam_bob
var objCam
if is_running: # ダッシュ中のカメラ揺れ
cam_bob = floor(abs(direction.z) + abs(direction.x)) * _delta * 10 * 1.5
objCam = origCamPos + Vector3.UP * sin(cam_bob)
elif direction != Vector3.ZERO: # 歩行中のカメラ揺れ
cam_bob = floor(abs(direction.z) + abs(direction.x)) * _delta * 10
objCam = origCamPos + Vector3.UP * sin(cam_bob)
else: # 停止中の微小な揺れ
cam_bob = floor(abs(1) + abs(1)) * _delta * 0.6
objCam = origCamPos + Vector3.UP * sin(cam_bob) * 0.1
camera3d.position = camera3d.position.lerp(objCam, delta) # 緩やかに位置を補間




足音の処理を追加

歩行やダッシュ時の音を変化させることで、よりリアルで緊張感のあるホラー体験を演出します!
# 入力がある場合の移動処理
if direction:
velocity.x = direction.x * MOVE_SPEED
velocity.z = direction.z * MOVE_SPEED
# ダッシュボタンが押された場合
if Input.is_action_just_pressed("dash") and %StaminaBar.value > 0:
MOVE_SPEED = DASH_SPEED # ダッシュ速度に設定
%StaminaBar.show() # スタミナバーを表示
# ダッシュボタンが離された場合
if Input.is_action_just_released("dash"):
MOVE_SPEED = SPEED # 通常速度に戻す
processGroundSounds() # 足音処理

# 足音の処理
func processGroundSounds():
if is_running:
playFootstep = 2 # ダッシュ中の足音間隔
else:
playFootstep = 3.5 # 通常歩行の足音間隔
if int(velocity.x) != 0 or int(velocity.z) != 0:
distance_footstep += 0.1 # 移動距離を増加
if distance_footstep > playFootstep:
foots_sound.pitch_scale = randf_range(0.8, 1.2) # 足音のピッチをランダム化
foots_sound.play() # 足音を再生
distance_footstep = 0.0 # 足音距離をリセット

入力がある場合の移動処理にprocessGroundSoundsを追加してください!
プレイヤーのスクリプトの毎フレームの物理処理(_physics_process)内のdirectionがあるときのみ足音の処理をします!
# 毎フレームの物理処理
func _physics_process(delta):
# 入力がある場合の移動処理
if direction:
velocity.x = direction.x * MOVE_SPEED
velocity.z = direction.z * MOVE_SPEED
# ダッシュボタンが押された場合
if Input.is_action_just_pressed("dash") and %StaminaBar.value > 0:
MOVE_SPEED = DASH_SPEED # ダッシュ速度に設定
%StaminaBar.show() # スタミナバーを表示
# ダッシュボタンが離された場合
if Input.is_action_just_released("dash"):
MOVE_SPEED = SPEED # 通常速度に戻す
processGroundSounds() # 足音処理



これで、ホラー演出の強化完了!カメラの揺れと足音の実装しました! ホラーゲームのベースができました!このチュートリアルは怪物に見つからないようにアイテムを集める仕様なのでNavigationRegion3Dの範囲内でアイテムをランダムの位置に生成するちょっとした小技を別のチュートリアルで紹介します!

あなたの作りたいホラーゲームのお役に立てたらすごく嬉しいです!
わからないことはコメントでお待ちしております!
最終更新日: 2025/01/30 07:04

コメント

    Godotでホラーゲーム開発チュートリアル Part 6: ホラー演出の強化!カメラの揺れと足音の実装 | GODOT TUTORIAL