效果如下:

正常状态下

按下鼠标右键,镜头拉近,地上显示出轨迹(忽略这简陋的模型)
我简略的把这个功能分成了3个部分。

1.摄像机移动部分:
按下右键的时候,camera位置调整到靠近人的位置,并伴随一声“嗖”的音效;
松开右键时,camera回归到正常视角。

2.在感知时人不能跑动(这部分是我自己加的规则,可以无视)

3.“提示轨迹”的显示和隐藏:
修改“提示轨迹”的layer,当感知时,layer改为摄像机可以检测到的层级,当不感知时,layer改为摄像机检测不到的层级。
当然轨迹的显示需要计算轨迹和人物的距离,在人物一定范围内,轨迹才会显示出来。

相机缩进和还原:

//放在update里if (Input.GetKeyDown(KeyCode.Mouse1)){chase.Play();//在按下右键一瞬间,播放音效}if (Input.GetKey(KeyCode.Mouse1)){isChase = true;//isChase是一个布尔值,用于控制人物能否跑动//缩进相机this.transform.localPosition = chasePos;//chasePos是预先测试好的一个感知时合适的位置}if (Input.GetKeyUp(KeyCode.Mouse1)){isChase = false;//还原相机this.transform.localPosition = originalPos;//originalPos是正常的相机位置}

“提示轨迹”的显示和隐藏:
轨迹我用几个cube形成路线(取消掉cube的collider),每个cube都挂载以下脚本,因为我把这些cube都统一放在了一个父物体下,所以还涉及了局部坐标转世界坐标,因为计算玩家和每个cube的距离需要用世界坐标来计算。

public class Tracks : MonoBehaviour
{GameObject pGO;float offset;void Start(){pGO = this.transform.parent.gameObject;}void Update(){//offset是玩家与cube的距离offset = Mathf.Abs((pGO.transform.TransformPoint(this.transform.localPosition) - PlayerAttris.instance.GetComponent<Transform>().position).magnitude);//cube显示的条件是玩家在进行感知并且cube和玩家的距离小于4(这个距离可以自己调节)if (CameraController.camcontroller.isChase && offset < 4){//把cube的layer改成0(即default层)this.gameObject.layer = 0;}else if(!CameraController.camcontroller.isChase)//当玩家没有进行感知,把cube的layer改成14(自定义层)this.gameObject.layer = 14;//注意,在camera的culling Mask中要取消掉14层的渲染}
}

Unity3D开发 巫师狩魔猎人感官功能(简陋版)相关推荐

  1. 音乐播放器微信小程序开发-歌单界面(简陋版)

    仿QQ音乐app的歌单界面制作了一个简易且简陋的歌单界面. 首先po一张最终效果图(很多功能还没实现,以及还有bug没有改好) 因为不涉及到逻辑,目前只需一些网页开发经验与知识即可(当然啦,还需要一定 ...

  2. Unity3D简陋版跑酷游戏

    目录 功能演示 功能简介 制作步骤 功能演示 链接:https://pan.baidu.com/s/1E_2JXWlVJNf3S5l-dH2UuQ提取码:dm5e 视频教学:Unity3D大作业 超级 ...

  3. 一步步开发自己的博客 .NET版(3、注册登录功能)

    前言 这次开发的博客主要功能或特点:     第一:可以兼容各终端,特别是手机端.     第二:到时会用到大量html5,炫啊.     第三:导入博客园的精华文章,并做分类.(不要封我)     ...

  4. 菜鸟在线教你用Unity3D开发VR版的Hello World

    大家好,我是菜鸟在线的小编.这篇短文将告诉大家如何用Unity3D开发VR版的Hello World. 1开启SteamVR并连接Vive设备 (a)登录Steam客户端,并点击右上角的VR按钮,这时 ...

  5. 《iOS 8应用开发入门经典(第6版)》——第1章,第1.6节小结

    本节书摘来自异步社区<iOS 8应用开发入门经典(第6版)>一书中的第1章,第1.6节小结,作者 [美]John Ray(约翰 雷),更多章节内容可以访问云栖社区"异步社区&qu ...

  6. 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...

    本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...

  7. 《Android应用开发入门经典(第3版)》——第6.1节创建演示应用

    本节书摘来自异步社区<Android应用开发入门经典(第3版)>一书中的第6章,第6.1节创建演示应用,作者 [美]Carmen Delessio , Lauren Darcey , Sh ...

  8. 《iOS 9应用开发入门经典(第7版)》——第2章,第2.4节小结

    本节书摘来自异步社区<iOS 9应用开发入门经典(第7版)>一书中的第2章,第2.4节小结,作者 [美]约翰 雷(John Ray),更多章节内容可以访问云栖社区"异步社区&qu ...

  9. 测试逐飞的MM32F3277 MicroPython开发板的基本功能

    简 介: 对于给定的MicroPython移植版本进行了初步的测试.对比之下,MCU中还有很多的模块尚未支持.这些工作需要近期尽快补充测试完毕. 关键词: MM32,MicroPython #merm ...

最新文章

  1. 项目服务器有15个能说明什么,15.1 我的面试经历 by smyhvae - 前端入门进阶
  2. oracle varchar2转date_Oracle基础包之三 DBMS_PIPE
  3. 理解JS中的this的指向
  4. python学习笔记04 --------------基本运算符
  5. 决策树原理详解及python代码实现
  6. 傅里叶变换库FFTW的安装配置(VS2010)
  7. 距离传感器控制灯泡代码_生迪全彩智能 LED 灯泡体验评测
  8. VMware 安装Ubuntu 无法进入安装界面
  9. Gse v0.40.0 发布,Go 高性能分词,增加更多常用 API
  10. 2021高考甘肃师大附中成绩查询,2021甘肃理科高考成绩排名一分一档表,甘肃高考理科成绩排名查询...
  11. ARCGIS中生成KML文件
  12. Android开源项目及库汇总
  13. datavideo切换台说明书_GoPro结合洋铭切换台现场节目制作
  14. 独立产品灵感周刊 DecoHack #012
  15. Python数据挖掘-OneR算法简介
  16. 企业级存储发展趋势谈:开源存储的冷思考
  17. 一文看尽SOTA生成式模型:9大类别21个模型全回顾!
  18. Resistors in Parallel(找规律+大数)
  19. offsetof函数的实现
  20. php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)

热门文章

  1. 华为手机拍照后图库里无照片_用了5年华为手机,发现图库不只用来看照片,还能一键制作视频...
  2. 受益匪浅!java代码换行符号
  3. 男神营业啦!吴彦祖演绎迪桑特夏日跑步综训系列
  4. 杜教筛【莫比乌斯前缀和,欧拉函数前缀和】推导与模板【一千五百字】
  5. 两个苹果手机怎么定位_苹果手机太卡怎么办?
  6. 大数据测试之大数据系统及特点
  7. 运动蓝牙耳机哪个品牌好?防水性能好的蓝牙耳机
  8. android应用程序开发_抚顺小程序开发定制找谁,吉林小程序定制
  9. 请问如何恢复桌面不见的IE图标?
  10. 阴阳师同服务器不同系统,阴阳师跨系统转角色怎么转?跨系统转介绍服务介绍!...