首先创建一个场景,然后再弄几个目标
然后在新建一个Image把名字设置成Beijing,把瞄准镜的贴图放上去并且调整到合适的大小(注意贴图要把Texture Type设置成2D/UI)

在新建一个Image设置名字为dian当做是没开镜的辅助点,并且也调整到合适的大小,然后隐藏BeiJing

之后在摄像机上新建一个代码命名为Came

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Came : MonoBehaviour
{public GameObject player;public GameObject beijing;//定义一个倍镜public GameObject dian;//定义一个辅助点public Camera cam;//定义一个相机void Update(){if (Input.GetMouseButtonDown(1)){beijing.SetActive(true);dian.SetActive(false);cam.fieldOfView = 20;}//如果按下鼠标右键,显示倍镜隐藏辅助点调整视野的数值if (Input.GetMouseButtonUp(1)){beijing.SetActive(false);dian.SetActive(true);cam.fieldOfView = 60;}如果松开鼠标右键,隐藏倍镜显示辅助点调整视野的数值//摄像机绕人物旋转float mousex = Input.GetAxis("Mouse X");float mousey = Input.GetAxis("Mouse Y");if (System.Math.Abs(mousex) > System.Math.Abs(mousey)){if (mousex > 0){transform.RotateAround(player.transform.position, Vector3.up, 2f);}else if (mousex < 0){transform.RotateAround(player.transform.position, Vector3.up, -2f);}}else if (System.Math.Abs(mousex) < System.Math.Abs(mousey)){if (mousey > 0 && transform.localEulerAngles.x > 1){transform.localEulerAngles -= new Vector3(2f, 0, 0);}if (mousey < 0 && transform.localEulerAngles.x < 40){transform.localEulerAngles += new Vector3(2f, 0, 0);}}//鼠标锁定到中心Cursor.lockState = CursorLockMode.Locked;//滚轮调整视眼大小if (Input.GetAxis("Mouse ScrollWheel") > 0 && transform.GetComponent<Camera>().fieldOfView < 80){transform.GetComponent<Camera>().fieldOfView += 2;}if (Input.GetAxis("Mouse ScrollWheel") < 0 && transform.GetComponent<Camera>().fieldOfView > 30){transform.GetComponent<Camera>().fieldOfView -= 2;}}
}

这个代码是可以旋转视角然后当你按下右键就能开镜放大画面,反之松开右键恢复原样。
回到Unity中选择相机,给对应的位置赋值
当一切就绪后你就会得到一个可以旋转视角的瞄准镜。具体的一些数值需要根据个人习惯调整。

unity射击游戏的倍镜相关推荐

  1. Unity射击游戏发射子弹的方法和提升流畅性的小技巧

    引言 在某些射击游戏里(2D和3D都适用),可能你需要创建子弹,第一想到的可能是新建一个发射子弹的脚本,就叫BulletController,然后每次按下什么键就直接上Instantiate函数. 伪 ...

  2. Unity 射击游戏的准星位置

    做有射击元素的游戏制作准星时,随着物体的旋转以及视线偏移可能会产生一定的的误差,使得子弹(射线)发射的初始位置不在屏幕正中央,所以制作准星时,应该基于屏幕的宽高进行衡量.示例代码如下: Raycast ...

  3. unity射击游戏:超萌射手(1)使用EasyTouch3.0控制主角

    本文由作者@zx一路飞奔出品,转载请注明出处 文章地址:http://blog.csdn.net/u014735301/article/details/42705443 作者微博:http://wei ...

  4. SIKI学院简易射击游戏与数据读取保存学习笔记

    知识点(疑问点) 1.如何控制枪的旋转(朝向)? 2.如何控制怪物的生成,消灭? 3.如何保存当前游戏数据? 4.游戏相关的开始结束,暂停功能如何制作? 1. 首先将枪放置在一个合适的位置,分别在X轴 ...

  5. 【Unity】第三人称射击游戏开发过程之瞄准状态设计(TPS.S.P1)

    [Unity]第三人称射击游戏开发过程之瞄准状态设计(TPS.S.P1) 设计整体的结构与模式 瞄准状态的设计 瞄准相机 瞄准状态 瞄准时的鼠标移动速度限制 瞄准点的处理 角色在瞄准状态下的旋转 瞄准 ...

  6. Unity空间射击游戏开发教程

    描述 在本课程中,您将学习如何在unity中制作一款太空射击游戏.本课程使用全新的特性和编码实践,并且兼容所有较新版本的unity. 了解如何使用世界领先的免费游戏开发工具Unity创建太空射击游戏. ...

  7. Unity 4 3 制作一个2D横版射击游戏 2

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在上一篇 ...

  8. unity太空射击源码_引擎入门 | 创建双杆射击游戏(入门 2)

    点击上方"蓝字"关注我们吧! 本期我们继续为大家进行双杆射击游戏的后续教程 学习内容 3.整理资产 4.导入资产 5.安装 Blender 6.导入包 文章末尾可免费获取教程源代码 ...

  9. unity 3d原创制作射击游戏(全完整版+安卓apk编译)

    目录 文章目录 目录 实验一 (1)设计如下UI界面,其中包含了canvas.Panel.Text.Button.Image.RawImage等UI元素 (2)实现点击Play按钮转换场景,点击Exi ...

最新文章

  1. 码code | 巧用2种方法,打破20条云开发数据库限制
  2. ubuntu中解决无法调节屏幕亮度的问题
  3. Xtrabackup备份MySQL
  4. 罗马音平假名片假名转换器_关于五十音你所要知道的一切!文末附日网高清字帖...
  5. Python装饰器(一)
  6. 编写带对话框界面的OCX
  7. C程序设计语言现代方法12:指针和数组
  8. 关于wxwidgets图形界面的关闭窗口的按钮无效的解决办法
  9. 显著性检测(一)Saliency Detection: A Spectral Residual Approach
  10. 关于 C/S模式,B/S模式,P2P模式
  11. DLNA(明基的返校讲座)
  12. 1142 Maximal Clique
  13. 【思维导图怎么画】万彩脑图大师教程 | 添加主题与线条
  14. java定义hashmap_Java用自定义的类型作为HashMap的key
  15. npm:including for package installation – must use TLS 1.2 or higher
  16. JS 将毫秒数时间,转化为时间格式(yy-MM-dd)
  17. 求最小码距(完整版)
  18. 经理、总监、VP、CTO,如何通过CEO思考问题的方式,来提升自己
  19. 最给力的国内免费SVN(不限语言),异地团队开发、打造个人开源项目不再是梦...
  20. gif透明背景动画_如何将AVI转换为GIF

热门文章

  1. B. A Perfectly Balanced String? 思维 vector小技巧
  2. 怎么控制使用计算机的时间吗,家长控制孩子使用电脑的时间,上网时间控制,怎样限制电脑使用时间...
  3. phpcm修改数据库配制文件
  4. TensorRT运行官方案例Mnist时提示找不到dll文件,cuda、cudnn、TensorRT的环境变量的问题,TensorRT运行时默认会到lib下去找要的文件
  5. 读隔离(读策略/Read Concern)
  6. 雷军:我看未来20年
  7. 带权重的多点滑动平均
  8. 最小生成树——Kruskal算法
  9. 不服不行啊,华为P8确实把SpringCloud集成Dubbo给一次性讲透了
  10. jsp学生宿舍人员管理系统