项目需要在GUI上做一些特效,按道理应该是直接做2D序列帧动画,然后GUI播放的,但是介于美术实现的时间原因,决定用例子来做UI特效,但是目前遇到难题是GUI不能加载粒子。

所以决定运用公告板来虚拟一个UI,脚本代码如下:


aceToCamera.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。


自动匹配摄像机全方向公告板 【Unity3D教程】_插件

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

* 本文来自:Unity3D教程手册

* 本文链接:http:///5399.html