簡體   English   中英

如何將GameObject放置在自動照相機的前面?

[英]How can I position a GameObject in front of camera automatic?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.Characters.FirstPerson;

public class FadeScript : MonoBehaviour
{
    public Camera camera;
    public float fadeDuration = 5;
    public bool alphaZero = false;

    private Material material;
    private float targetAlpha = 0;
    private float lerpParam;
    private float startAlpha = 1;

    void Start()
    {
        Vector3 camFront = camera.transform.position + camera.transform.forward;
        transform.position = camFront;
        material = GetComponent<Renderer>().material;
        SetMaterialAlpha(1);
    }

    void Update()
    {
        lerpParam += Time.deltaTime;

        float alpha = Mathf.Lerp(startAlpha, targetAlpha, lerpParam / fadeDuration);
        SetMaterialAlpha(alpha);

        if (alpha == 0)
        {
            alphaZero = true;
        }
    }

    public void FadeTo(float alpha, float duration)
    {
        startAlpha = material.color.a;
        targetAlpha = alpha;
        fadeDuration = duration;
        lerpParam = 0;
    }

    private void SetMaterialAlpha(float alpha)
    {
        Color color = material.color;
        color.a = alpha;
        material.color = color;
    }
}

我希望轉換將在鏡頭前。 所以我在開始時做了:

Vector3 camFront = camera.transform.position + camera.transform.forward;
transform.position = camFront;

在這種情況下,變換是平面。 腳本已附加到平面。

但是結果是“平面”沒有覆蓋整個相機視圖。 我想制作一個全黑的視圖,然后它會淡出。 在平面位置不理想時,褪色工作正常:

衰退

在游戲運行時,底部是游戲視圖窗口。 這是淡入淡出之后的一點,您可以看到飛機沒有覆蓋整個相機。 在右邊有一個空間。

也許我也需要某種方式來更改飛機的大小和旋轉角度? 這個想法是將飛機自動定位在攝像機的前面,使其全黑。

如果相機可以移動,則還需要為飛機設置相同的方向

transform.rotation = camera.transform.rotation;

然后只需使飛機真的很大就可以使用(使用比例參數)。 當然,如果需要,您也可以計算出確切的大小,但是對於透視相機而言,這並不是一件容易的事。

m.rogalski在對您的帖子的評論中建議的另一種解決方案是使用填充屏幕的畫布:

  • 在場景上創建一個空對象,然后向其添加Canvas組件。

  • RenderMode中,選擇“ 屏幕空間-覆蓋”

  • 在層次結構中在其下方創建另一個游戲對象

  • 在此gameObject上,添加“ 圖像組件”,放置黑色圖像,或者不放置圖像和黑色

  • 在同一組件上,將變換的錨點設置為0到1,並且沒有位置偏移,以覆蓋整個屏幕

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM