Unity3D自动匹配摄像机全方向公告板

项目需要在GUI上做一些特效,按道理应该是直接做2D序列帧动画,然后GUI播放的,但是介于美术实现的时间原因,决定用例子来做UI特效,但是目前遇到难题是GUI不能加载粒子。
所以决定运用公告板来虚拟一个UI,脚本代码如下:

FaceToCamera.cs

using UnityEngine;
using System.Collections;
using System;

public class FaceToCamera : MonoBehaviour
{
    public Camera _camera;
    public float _z = 5.0F;//纵深
    public float _x = 1.0F;//相对中心点x偏移
    public float _y = -1.0F;//相对中心点y偏移

    void Update()
    {

        _camera = Camera.current;//获取当前摄像机
        if (!_camera) return;

        transform.rotation = _camera.transform.rotation;//将对象角度与摄像机统一
        transform.position = _camera.transform.position;//将对象移动到摄像机当前位置

        transform.Translate(Vector3.forward * _z);//纵向推远,否则看不见
        transform.Translate(Vector3.right * _x);
        transform.Translate(Vector3.down * _y);

    }  
}

以上代码即可完成一个自动匹配摄像机的全方向公告板,即便摄像机来回切换Gameobject也会自动匹配上摄像机。唯一缺陷是该公告板不停刷新,可能会在某些极端情况下出现闪烁。

该Cube仅用于测试,此脚本适用于任意的Gameobject。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值