Unity3d--摄像机视野远近的控制

 1 using UnityEngine;
 2 using System.Collections;
 3 /*
 4  * 摄像机视野远近的控制
 5 */
 6 public class CameraCS : MonoBehaviour {
 7
 8     private Transform player;
 9     private Vector3 offsetPosition;
10     private float distance;
11     private float scrollSpeed = 10; //鼠标滚轮速度
12     // Use this for initialization
13
14     void Awake(){
15         player = GameObject.FindGameObjectWithTag ("Player").transform;
16     }
17
18     void Start () {
19         //摄像机朝向player
20         transform.LookAt (player.position);
21         //获取摄像机与player的位置偏移
22         offsetPosition = transform.position - player.position;
23     }
24
25     // Update is called once per frame
26     void Update () {
27         //摄像机跟随player与player保持相对位置偏移
28         transform.position = offsetPosition + player.position;
29         ScrollView ();
30     }
31
32     void ScrollView(){
33         //返回位置偏移的向量长度
34         distance = offsetPosition.magnitude;
35
36         //根据鼠标滚轮的前后移动获取变化长度
37         distance -= Input.GetAxis ("Mouse ScrollWheel") * scrollSpeed;
38
39         //限制变化长度的范围在最小为4最大为22之间
40         distance = Mathf.Clamp (distance,4,22);
41
42         //新的偏移值为偏移值的单位向量*变换长度
43         offsetPosition = offsetPosition.normalized * distance;
44
45         //打印变化长度
46         Debug.Log (distance);
47     }
48 }
时间: 2024-11-04 03:03:46

Unity3d--摄像机视野远近的控制的相关文章

unity3d摄像机参数解释

unity3d摄像机参数 1. Clear Flags:清除标记.决定屏幕的哪部分将被清除.一般用户使用对台摄像机来描绘不同游戏对象的情况,有3中模式选择: Skybox:天空盒.默认模式.在屏幕中的空白部分将显示当前摄像机的天空盒.如果当前摄像机没有设置天空盒,会默认用Background色. Solid Color:纯色.选择该模式屏幕上的空白部分将显示当前摄像机的background色. Depth only:仅深度.该模式用于游戏对象不希望被裁剪的情况. Dont Clear:不清除.该

Input.GetAxis("Mouse ScrollWheel")控制摄像机视野缩放

Camera.main.fieldOfView += Input.GetAxis("Mouse ScrollWheel") * 10; Debug.Log(Camera.main.fieldOfView);

unity3d摄像机

主要来自unity3d reference,再加上一些自己的理解 一 概述 摄像头是用于将世界场景投影到屏幕的设备.可以在场景中放置不限数目的摄像机,它们可以设定成任意的渲染次序,渲染到屏幕上的任意地方. 摄 像机实质上是用于将游戏显示给玩家看,它们可以被定制,在上面写脚本或者挂载到其他物体上面以获得想象中的各种效果.对于一个猜谜的游戏,可能只需对游戏 的全部视图保持摄像机静止即可.对于第一人称的射击游戏,常会将摄像机挂载到玩家角色上面,将其放置在角色眼睛的高度.对于一个赛车游戏,可能会让摄像机

Unity3D 摄像机(Camera)

在Unity中创建一个Camera后,除了默认带一个Transform组件外,还会附带Flare Layer.GUI Layer.Audio Listener4个组件 ClearFlags:清除标记:决定屏幕中哪部分被清除.一般用于多台摄像机来描绘不同对象的情况,有一下三种模式. Skybox:天空盒(默认项).在屏幕空白处显示当前摄像机的天空盒,如果没有指定天空盒,则会显示默认背景色. Solid Color:如果没有设置天空盒,将默认显示此处设置的背景色. Depth only:仅深度,该模

unity3d摄像机参数

1. Clear Flags:清除标记.决定屏幕的哪部分将被清除.一般用户使用对台摄像机来描绘不同游戏对象的情况,有3中模式选择: Skybox:天空盒.默认模式.在屏幕中的空白部分将显示当前摄像机的天空盒.如果当前摄像机没有设置天空盒,会默认用Background色. Solid Color:纯色.选择该模式屏幕上的空白部分将显示当前摄像机的background色. Depth only:仅深度.该模式用于游戏对象不希望被裁剪的情况. Dont Clear:不清除.该模式不清除任何颜色或深度缓

Unity3D摄像机带透明截图

转载请注明出处:http://www.cnblogs.com/shamoyuu/p/CropCamera.html ↓↓↓下面的废话可以不看↓↓↓ 最近处理了一批我的游戏的图标,步骤特别繁琐, 需要先摆好位置,截图,然后PS处理透明,然后合成到宫格图里, 而且一次只能处理一个,一个就要好几分钟,总共好几十个,后期肯定会有好几百甚至上千个,真是要了命了 然后昨天睡觉前就想,为什么不自动处理呢,我们程序员不就应该懒一点吗 然后就打算写一个,其他的步骤都比较简单,所以这里只放出透明截图的做法. ↓↓↓

【Unity3D】使用鼠标键盘控制Camera视角(即时战略类游戏视角):缩进,拉远,旋转

今天写一个demo,要用到鼠标键盘控制三维视角,因此写了个脚本用于控制. 该脚本可以用于即时战略类游戏的视角,提供了缩进,拉伸,旋转.同时按住鼠标右键不放,移动鼠标可以实现第一人称视角的效果. 1 using UnityEngine; 2 using System.Collections; 3 4 public class CameraController : MonoBehaviour { 5 6 7 public float near = 20.0f; 8 public float far

Unity3D摄像机尾随人物

这里的镜头主要是从人物的背后尾随的. 首先新建一个C#脚本,命名为MyFollow,然后把下面代码粘贴进去.保存: using UnityEngine; using System.Collections; public class MyFollow : MonoBehaviour { public float distanceAway = 5; // distance from the back of the craft public float distanceUp = 2; // dista

unity3d 摄像机跟随角色时被物体遮挡解决方案

参考文章:http://www.xuanyusong.com/archives/1991 在看此文章时请先看上面的参考文章 看完以上文章后,你也许会想人家都已经给出所有代码了,你还写个毛啊 别急,现在进入主题 在我的项目中,我采用的是物体遮挡作半透明处理,如果按照上述文章中的思路来写代码的话,那么结果就是当多个物体遮挡角色时,只有第一个物体会半透明,如图: 角色被墙和屋顶遮挡住了,但是可以清楚的看见左下角的墙呈半透明状态,而屋顶依旧不透明 为了解决这个问题,我们不采用上述文章中的 physics