LoginSignup
17
22

More than 5 years have passed since last update.

Unityでカメラがオブジェクトに近づくとだんだん透明になって消える。

Last updated at Posted at 2014-09-01

平面ポリゴンをカメラが潜る時にオブジェクトの描画がいきなり消えてしまい
パチっとした感じの気持ちの感じになってしまいます。
それを回避するのに近づくとだんだん透明になる処理を入れたらどうでしょうか?
ColliderのTriggerにチェックを入れてOnTriggerStay中に
2つのオブジェクトの距離を計り、オブジェクトが近づくごとに透明になるスクリプトになります。

カメラには、rigidbodyとBOX Colliderを使っています。
オブジェクトには、BOX Colliderを入れています。

スクリーンショット 2014-09-01 18.17.19.png

近づくと消えて行きます。
スクリーンショット 2014-09-01 18.16.45.png

スクリプトはこんな感じです。

using UnityEngine;
using System.Collections;

public class MoveCamera : MonoBehaviour {
    public GameObject objA;
    public GameObject objB;


    void Update () {
        transform.position = new Vector3 (transform.position.x, transform.position.y, transform.position.z + 1);    
    }

    //他オブジェクトと接触した瞬間に呼ばれるメソッド
    void OnTriggerEnter(Collider other){

    }

    //他オブジェクトと触れている間に呼ばれるメソッド
    private void OnTriggerStay(Collider other)
    {
        transform.position = new Vector3 (transform.position.x, transform.position.y, transform.position.z + 1);

        Vector3 Apos = objA.transform.position;
        Vector3 Bpos = objB.transform.position;
        float dis = Vector3.Distance(Apos,Bpos);

        Color color = new Color(Random.value, Random.value, Random.value, dis/100);
        objB.renderer.material.color = color;
        Debug.Log("dis/100 : " + dis/100);
    }

    //接触した他オブジェクトから離れた瞬間に呼ばれるメソッド
    private void OnTriggerExit(Collider other)
    {

    }

}
17
22
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
17
22