Qiita Teams that are logged in
You are not logged in to any team

Community
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What is going on with this article?
@matsuyoro

# Unityでドリーズーム（ドリーイン＆ドリーアウト）

More than 3 years have passed since last update.

ExampleScript.cs
``````
using UnityEngine;
using System.Collections;

public class ExampleScript : MonoBehaviour {
public Transform target;
public Camera camera;

private float initHeightAtDist;
private bool dzEnabled;

// Calculate the frustum height at a given distance from the camera.
float FrustumHeightAtDistance(float distance) {
return 2.0f * distance * Mathf.Tan(camera.fieldOfView * 0.5f * Mathf.Deg2Rad);
}

// Calculate the FOV needed to get a given frustum height at a given distance.
float FOVForHeightAndDistance(float height, float distance) {
return 2.0f * Mathf.Atan(height * 0.5f / distance) * Mathf.Rad2Deg;
}

// Start the dolly zoom effect.
void StartDZ() {
var distance = Vector3.Distance(transform.position, target.position);
initHeightAtDist = FrustumHeightAtDistance(distance);
dzEnabled = true;
}

// Turn dolly zoom off.
void StopDZ() {
dzEnabled = false;
}

void Start() {
StartDZ();
}

void Update () {
if (dzEnabled) {
// Measure the new distance and readjust the FOV accordingly.
var currDistance = Vector3.Distance(transform.position, target.position);
camera.fieldOfView = FOVForHeightAndDistance(initHeightAtDist, currDistance);
}

// Simple control to allow the camera to be moved in and out using the up/down arrows.
transform.Translate(Input.GetAxis("Vertical") * Vector3.forward * Time.deltaTime * 5f);
}
}

``````

あとは、スクリプトの引数にターゲットと、カメラをアタッチし、
カメラを動かせばOK!

4
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
1. We will deliver articles that match you
By following users and tags, you can catch up information on technical fields that you are interested in as a whole
2. you can read useful information later efficiently
By "stocking" the articles you like, you can search right away
げーむくりえいたー。 顔は濃いが存在の薄さに悩んでいる。 無敵のエンジニアに出会いたい。 書籍「仕事はたのしいかね」の、大きな事でも試してみればの精神に感銘を受けている。 好きな言葉：好きこそものの上手なれ / 楽は苦の種、苦は楽の種