Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

Unity visual scripting プレイヤーに追従するカメラをさらに細工してみる

Posted at

はじめに

わーい、読んでくれてありがとう!

この記事ではサークル活動で作成したボール転がしゲームを、カメラに注目して改造してみたいと思います。

目次

  • 改造前の状態
    • どんなの作ったの?
  • 改造その1
    • 作って(み)た!
    • プレイヤーの速度に対応してカメラを広げる
  • 改造その2
    • 移動の入力に対応してカメラを広げつつ、ゆるやかに縮めもする
  • 最後に

改造前の状態

どんなの作ったの?

Unity班共通で作ったゲームは文章で説明するとこんな感じ。

・プレイヤ…矢印キーで移動する。
・ステージ…四角い!
・カプセル…10個取ったらクリア。

image.png
取るぞ~
スクリーンショット 2024-12-16 010146.png
せっせ
image.png
わーい

てなわけで、このゲームのカメラはプレイヤーに追従するタイプだったんです。

スクリーンショット 2024-12-16 004900.png

image.png

ゲームが始まった直後の座標の差を保つように位置どることで追従しているんですね。

改造その1

作って(み)た!

これは「作ってみた!」って感じの記事ですが、

実は、この一つ目の改造まではアドベントカレンダーの話を聞く前に作っていました
話題にちょうどいいなと思ったものの、すでに作ってあるものをぱっと見せるだけでは味気ないと思いさらに改良する その2 までやってみようと思ったんですね。

というわけで、その1まではすでに作ってあるものです。
ぱっと見せようと思います。

プレイヤーの速度に対応してカメラを広げる

カメラが近いと見づらいし、遠いと見やすくなるけどその分簡単になってしまい、単調なゲーム性が浮き彫りになって面白くない。
そこでプレイヤーの速度に対応してカメラを遠くすることで「長い間移動入力をすると周りが見えるようになるが、制御が難しくなる」という駆け引きを作ろうと思いました。

というわけでぽーん。
スクリーンショット 2024-12-16 013148.png
image.png

Get Velocity ノードを使ってプレイヤーのx,y,z速度を取得し、足し合わせた値をそのままプレイヤ・カメラ間の距離に加えているんですね。

image.png
カメラは斜めの位置からプレイヤを見下ろしているので、三角関数用のを変数を作って適用しています。

早速見てみましょう。
image.png
右下に入力してみます。
スクリーンショット 2024-12-16 015038.png
おお・・・
スクリーンショット 2024-12-16 015117.png
おお~!
スクリーンショット 2024-12-16 015433.png
ゴスッ

速度が高まってから0になってしまったのでカメラが一瞬でギュッとなってしまいました。
遊びにくいです。クソゲー確定ですね。

改造その2

移動の入力に対応してカメラを広げつつ、ゆるやかに縮めもする

このままでは壁にぶつかるたびにギュッとなってしまいます。
さらに、Uターンやブレーキをしようとすると同様に視野が急激に狭まってしまうので、「移動入力をした際のリアクションが正反対になる」という気持ち悪い体験を提供してしまいます。このままではいけない。

なので、移動入力をした際は一律でカメラが遠のくようにして、常にゆるやかに縮めるようにすることで2つの問題点を解決しようと思います。

完成したものがこちらです。(作成風景の録画データが消えてしまいました)

↓速度を取得するノードから固定の値を読み込むように変更
image.png
さらに、新しく追加。
image.png
加速(入力)するほどカメラがより遠のく様子を再現したり、常に値を緩やかに減らしたり、ボールに近づきすぎたら減らすのを止めたりしてる。

遊んでみよう!
image.png
どうだ・・・?
スクリーンショット 2024-12-16 030504.png
ぶつかってもギュッとならない!
image.png
壁に向かって入力すれば見通すこともできる。面白いかも。
image.png
ブレーキの入力でも視野が広がって気持ちいい!
image.png
わーい
速度を参照した時と違い、入力の強さが画面の広がりに反映されるのでボールの動きがつかみやすく快適なゲームになりました。

最後に

シンプルなゲームにも一つのアイデアでかなり面白くなります。
その中でも、今回加えた「面白さ」はゲーム性ではなく視覚的な面白さですね。

キャラクターを動かしてるだけで面白いってゲームの強みになりうるな~と思いました。
よかったらまねしてみてね。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?