首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HUD雷达问题

HUD雷达问题
EN

Stack Overflow用户
提问于 2012-04-27 03:06:34
回答 1查看 1.2K关注 0票数 0

我已经创建了一个基于3D对象(平面)的基本HUD雷达系统,脚本检测敌人并在屏幕上跟踪他,但我的问题是,有时HUD会离开屏幕区域。

下面是我的代码:

代码语言:javascript
复制
#pragma strict

// ******Public dimentions ******
public var AircraftObject : Transform;
// ******Private dimentions ******
//Fetch CpuScript class to get some varibles
private var mainClass : CpuScript;
private var isRenderer : boolean;
private var aircraftArea : float;
//Other perfabs
private var Spd : GameObject;
private var Alt : GameObject;
private var Trg : GameObject;
//Calculating varibles
private var Distance : int;
private var Speed : int;


function Awake()
{
    //Finding all objects
    findObjects();
    //Set PlayerScript into the mainClass
    mainClass = gameObject.GetComponent(CpuScript);
}

function FixedUpdate() 
{
    isRenderer = mainClass.isProximity;
    aircraftArea = mainClass.mainObjectArea;
    transform.position.x = aircraftArea / 6;
    //Set GUI's
    guiControl();
    getValue();
}

function guiControl()
{
    Spd.GetComponent.<TextMesh>().text = Speed + " Knot";
    Alt.GetComponent.<TextMesh>().text = "Enemy detected";
    Trg.GetComponent.<TextMesh>().text = Distance + " Ft";
}

function getValue()
{
    Distance = Vector3.Distance(AircraftObject.transform.position, mainClass.AircraftDistance) * 4;
    Speed = Random.Range(100, 300);
}

function findObjects()
{
    Spd = GameObject.Find("Speed");
    Alt = GameObject.Find("Alt");
    Trg = GameObject.Find("AimTarget");
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-27 21:31:57

这是不可能说从代码,您已经显示了确切的原因,您的3d平显是走出屏幕。

但是,如果你想让任何3d对象,比如你的平显设备,一直显示在屏幕上,你需要确保它一直被摄像头渲染到屏幕上。

这可以通过多种方式来完成。

一种方法是:

  1. 使用第二个相机渲染平显
  2. 将其清除标志设置为仅深度(在检查器中)
  3. 将此相机的深度设置为高于主相机(在检查器中)

只要你不移动第二个摄像头,那么HUD就会一直显示出来。

您还需要确保主摄影机不会渲染HUD。为此,请执行以下操作:

  1. 更改平显的图层(创建您的平显图层)。
  2. 将平显相机设置为仅渲染此图层。
  3. 将主相机设置为渲染除平显图层之外的所有其他图层。

您可以使用两个相机的检查器中的剔除蒙版放置选择器来执行此操作。

仅供参考:您也可以在代码中设置相机的剔除掩码,但要做到这一点,您需要使用按位运算符。

替代方法包括,使HUD成为场景视图中主摄影机的子级,以便当摄影机移动时,HUD将移动到。然而,这可能会导致你的HUD被其他游戏对象遮挡。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10339773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档