首页 > 代码库 > Unity3D 学习教程 11 c#脚本控制摄像头
Unity3D 学习教程 11 c#脚本控制摄像头
首先新建一个脚本
点击创建一个文件夹起名C#
点击文件夹 创建一个C#脚本
建好文件后 双击文件
启动脚本编辑器
void Start () 是场景运行时加载程序
void Update () 是每调用一针执行一次 可以认为是试试执行的程序
下面编写第一个脚本
控制摄像机移动
using UnityEngine;
using System.Collections;
public class acc : MonoBehaviour
{
int speed=50;
void Start ()
{
}
void Update ()
{
float x = Input.GetAxis("Horizontal") * Time.deltaTime * speed;//左右移动
float z = Input.GetAxis("Vertical") * Time.deltaTime * speed;// 前后移动
//主摄像机物体 移动
transform.Translate(x,0,z);
}
}
Input.GetAxis 是输入管理器
点击edit
了解下输入管理器
红色部分是按键信息
Horizontal是平行移动 按a d 键和<-- --> 方向键就可以平移了
调用代码
Input.GetAxis("Horizontal")
Time.deltaTime 是时间间隔
speed = 50; 是步长
左右移动的距离
float x = Input.GetAxis("Horizontal") * Time.deltaTime * speed;//左右移动
float z = Input.GetAxis("Vertical") * Time.deltaTime * speed;// 前后移动
//主摄像机物体 移动
transform.Translate(x,0,z)
unity3d摄像机详解
正如电影中的镜头用来将故事呈现给观众一样,Unity的相机用来将游戏世界呈现给玩家。你始终至少有一个相机在场景中,你也可以有多个。多相机可以给你一个双人分屏效果或创建高级的自定义效果。你可以让相机动起来,或用物理(组件)控制它们。几乎你能想到的任何事,都可以用相机变成可能,而且为了适合你的游戏风格,你可以用典型的或特殊的相机类型。
摄像机
相机是为玩家捕捉和显示世界的一种装置。通过定制和操作相机,可以让你的游戏外观与众不同。在一个场景中你可以有数量不限的相机。它们可以被设置为以任何顺序来渲染,在屏幕上的任何地方来渲染,或仅仅渲染屏幕的一部分。
sf_2711512_2492.jpg (58.03 KB, 下载次数: 917)
下载附件 保存到相册
属性
·Clear Flags 清除标记 决定屏幕的哪部分将被清除。当使用多个相机来描绘不同的游戏景象时,利用它是非常方便的
·Background 背景 在镜头中的所有元素描绘完成且没有天空盒的情况下,将选中的颜色应用到剩余的屏幕
·Culling Mask 剔除遮罩 包含或忽略相机渲染对象层。在检视视图中为你的对象指派层
·Projection 投射 切换摄像机的模拟透视功能
·--> Perspective 透视 相机将用完全透视的方式来渲染对象。
·--> Orthographic 正交 相机将用没有透视感的方式均匀地渲染对象
·Size 大小 当设置了正交时摄像机的视口大小。
·Field of view 视野范围 相机的视角宽度,以及纵向的角度尺寸。
·Clipping Planes 剪裁平面 从相机到开始渲染和停止渲染之间的距离。
·--> Near 近点 开始描绘的相对于相机最近的点。
·--> Far 远点 开始描绘的相对于相机最远的点。
·归一化视口矩形 用四个数值来表示这个相机的视图将绘制在屏幕的什么地方,使用屏幕坐标系(值0-1)。
·--> X 相机视图将进行绘制的水平位置的起点
·--> Y 相机视图将进行绘制的垂直位置的起点
·--> W (Width) 宽度 相机输出到屏幕上的宽度
·--> H (Height) 高度
·相机输出到屏幕上的高度
·Depth 深度 绘图顺序中的相机位置,具有较大值的相机将被绘制在具有较小值的相机的上面
·Rendering Path 渲染路径 该选项定义相机将要使用的渲染方法
·--> Use Player Settings 使用播放器设置 该相机将使用任意一个播放器设置中所设置的渲染路径
·--> Vertex Lit 顶点光照 本相机对所有对象的渲染会作为顶点光照对象来渲染
·--> Forward 快速渲染 所有对象将按每种材质一个通道的方式来渲染,如同在Unity2.x中的标准
·--> Deferred Lighting 延迟照明 所有对象将无照明绘制一次,然后所有对象的照明将一起在渲染队列的末尾被渲染
。
·Target Texture 目标纹理 (Unity Pro/Advanced only) 请参考Render Texture,该页包含了相机视图的输出。这个引用属性将禁用相机渲染到屏幕的功能。
细节
相机对于将你的游戏显示给玩家是必不可少的。它们可以被定制、被脚本化、或被子类化以实现几乎任何可以想象的效果。对于一个益智游戏,你要保持相机处于静态显示全部视角。对于第一人称射击游戏,你应该将相机作为玩家角色的子对象,并将其放置在与角色的眼睛等高水平上。对于一个赛车游戏,你可能更希望让相机跟随玩家的车辆。
520 520小说 小说520 小说520 5200 小说5200 5200小说 5200小说网
www.520books.com
http://www.cnblogs.com/goodchenqing/
http://blog.sina.com.cn/goodchenqing
http://goodchenqing.bokee.com/
http://blog.csdn.net/abc288abcd/article/category/2786567
你可以创建多个相机并且给每一个分配不同的深度。相机是按深度从低到高来绘制的,换言之,一个深度为2的相机将绘制在一个深度为1的相机之上。你可以调整标准视口矩形(参照前面的属性列表)的属性值来改变其大小和其在屏幕上的位置。这样你就可以创建多个小视窗,如导弹控制器,小地图窗口,后视镜等等。
Unity3D 学习教程 11 c#脚本控制摄像头