CameraFacingBillboard
原地址:http://www.cnblogs.com/88999660/
描述
这个脚本使得它被连接到配合本身相机的对象。这对于要经常面对镜头,并以同样的方式了,因为它是有用的广告牌。
用法
将这个脚本上要面对镜头一个游戏对象。然后,选择的对象,请使用检查器来选择要面对的对象的相机。
你可能想Vector3.back改变Vector3.front,这取决于你的对象的初始方向。
技术讨论
请注意,该脚本不只是在相机指向的对象。相反,它使得在相同的方向摄像机的前进轴(即,该方向上的摄像机观察中)的对象点。这似乎是直觉错了,但实际上它是正确的实时计算机图形的单点透视的世界。
C# - CameraFacingBillboard.cs
using UnityEngine;
using System.Collections; public class CameraFacingBillboard : MonoBehaviour
{
public Camera m_Camera; void Update()
{
transform.LookAt(transform.position + m_Camera.transform.rotation * Vector3.back,
m_Camera.transform.rotation * Vector3.up);
}
}
MODS
此模块将另外:
-寻找默认的摄像机在场景中
建立一个空的“容器”物体做为广告牌的父母,并会旋转此对象来代替。这允许用户在一个预定的旋转分配给该广告牌对象。
-需要初始化。(刚才设置“autoInit”为“true”)
外挂作者:juanelo
/ / cameraFacingBillboard.cs V02
/ /由尼尔·卡特(NCarter)
/ /由胡安·卡斯塔涅达修改(juanelo)
/ /
/ /在两者之间GRP对象加入到上进行旋转
/ /添加自动找到主摄像头
/ /添加取消初始化状态,其中的脚本将做什么
using UnityEngine;
using System.Collections; public class CameraFacingBillboard : MonoBehaviour
{ public Camera m_Camera;
public bool amActive =false;
public bool autoInit =false;
GameObject myContainer; void Awake(){
if (autoInit == true){
m_Camera = Camera.main;
amActive = true;
} myContainer = new GameObject();
myContainer.name = "GRP_"+transform.gameObject.name;
myContainer.transform.position = transform.position;
transform.parent = myContainer.transform;
} void Update(){
if(amActive==true){
myContainer.transform.LookAt(myContainer.transform.position + m_Camera.transform.rotation * Vector3.back, m_Camera.transform.rotation * Vector3.up);
}
}
}
此模块将:
-寻找场景中的默认的摄像头
-允许默认轴被指定
外挂作者:海登·斯科特男爵(坞)
/ / CameraFacing.cs
/ /原来由尼尔·卡特(NCarter)
/ /由海登·斯科特男爵(码头)的改进型- http://starfruitgames.com
/ /允许指定的方向轴
using UnityEngine;
using System.Collections; public class CameraFacing : MonoBehaviour
{
Camera referenceCamera; public enum Axis {up, down, left, right, forward, back};
public bool reverseFace = false;
public Axis axis = Axis.up; // return a direction based upon chosen axis
public Vector3 GetAxis (Axis refAxis)
{
switch (refAxis)
{
case Axis.down:
return Vector3.down;
case Axis.forward:
return Vector3.forward;
case Axis.back:
return Vector3.back;
case Axis.left:
return Vector3.left;
case Axis.right:
return Vector3.right;
} // default is Vector3.up
return Vector3.up;
} void Awake ()
{
// if no camera referenced, grab the main camera
if (!referenceCamera)
referenceCamera = Camera.main;
} void Update ()
{
// rotates the object relative to the camera
Vector3 targetPos = transform.position + referenceCamera.transform.rotation * (reverseFace ? Vector3.forward : Vector3.back) ;
Vector3 targetOrientation = referenceCamera.transform.rotation * GetAxis(axis);
transform.LookAt (targetPos, targetOrientation);
}
}
CameraFacingBillboard的更多相关文章
- 全景视频外包团队:U3D全景漫游(二)
单击Ambient Light,如下 调整为 即可设置完成 14.设置第一人称浏览 删除场景中Main Camera 将Project区域的Standard Assets下的Prefabs下的Firs ...
- unity3d Billboard
CameraFacingBillboard CameraFacingBillboard From Unify Community Wiki Jump to: navigation, searc ...
随机推荐
- 谈谈iOS9中的WebKit 与 Safari
每个用过 UIWebView 的iOS开发者对其诸多的限制和有限的功能也深有感触.悻然,自iOS8推出 WebKit 框架后将改变这一窘境.在本文我将会深入WebKit来体验一下它给我们带来的好处,同 ...
- php中curl的详细解说
cURL可以使用URL的语法模拟浏览器来传输数据, 因为它是模拟浏览器,因此它同样支持多种协议, FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE ...
- git的牛逼
http://rogerdudler.github.io/git-guide/index.zh.html
- yii2URL美化
yii2的url 域名/index.php?r=site%2Findex 实际为 域名/index.php?r=site/index 可以美化下 可以在main.php中配置 'components' ...
- BZOJ-3211花神游历各国 并查集+树状数组
一开始想写线段树区间开方,简单暴力下,但觉得变成复杂度稍高,懒惰了,编了个复杂度简单的 3211: 花神游历各国 Time Limit: 5 Sec Memory Limit: 128 MB Subm ...
- SqlServer建表规范
一.数据库在建表时,一般默认字段如下,也算是标准字段吧 删除标志:DeletionStateCode 创建时间:CreateOn 创建人:CreateBy 更新时间:ModifiedOn 更新人:Mo ...
- 使用U盘安装mint
系统坏了,重新装的时候,硬盘甚至都没法格式化...所以,狠狠心买了块固态硬盘,123G,威刚. 想自己装Linux系统,这样用起来更方便一点,不用装虚拟机,然后再跑linux什么的.最后选了mint. ...
- 获取本机IP_考虑多网卡的情况
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- jsp学习一
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1&q ...
- (原)String类两种实例化的区别
String有两种实例化方式,一种是通过直接赋值的方式,另外一种是使用标准的new调用构造方法完成实例化. public class StringDemo { public static void m ...