首页 > 代码库 > 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)

下载附件  保存到相册

2012-6-3 19:24 上传

 


属性
·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#脚本控制摄像头