Unity3D开发 巫师狩魔猎人感官功能(简陋版)
效果如下:
正常状态下
按下鼠标右键,镜头拉近,地上显示出轨迹(忽略这简陋的模型)
我简略的把这个功能分成了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开发 巫师狩魔猎人感官功能(简陋版)相关推荐
- 音乐播放器微信小程序开发-歌单界面(简陋版)
仿QQ音乐app的歌单界面制作了一个简易且简陋的歌单界面. 首先po一张最终效果图(很多功能还没实现,以及还有bug没有改好) 因为不涉及到逻辑,目前只需一些网页开发经验与知识即可(当然啦,还需要一定 ...
- Unity3D简陋版跑酷游戏
目录 功能演示 功能简介 制作步骤 功能演示 链接:https://pan.baidu.com/s/1E_2JXWlVJNf3S5l-dH2UuQ提取码:dm5e 视频教学:Unity3D大作业 超级 ...
- 一步步开发自己的博客 .NET版(3、注册登录功能)
前言 这次开发的博客主要功能或特点: 第一:可以兼容各终端,特别是手机端. 第二:到时会用到大量html5,炫啊. 第三:导入博客园的精华文章,并做分类.(不要封我) ...
- 菜鸟在线教你用Unity3D开发VR版的Hello World
大家好,我是菜鸟在线的小编.这篇短文将告诉大家如何用Unity3D开发VR版的Hello World. 1开启SteamVR并连接Vive设备 (a)登录Steam客户端,并点击右上角的VR按钮,这时 ...
- 《iOS 8应用开发入门经典(第6版)》——第1章,第1.6节小结
本节书摘来自异步社区<iOS 8应用开发入门经典(第6版)>一书中的第1章,第1.6节小结,作者 [美]John Ray(约翰 雷),更多章节内容可以访问云栖社区"异步社区&qu ...
- 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...
本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...
- 《Android应用开发入门经典(第3版)》——第6.1节创建演示应用
本节书摘来自异步社区<Android应用开发入门经典(第3版)>一书中的第6章,第6.1节创建演示应用,作者 [美]Carmen Delessio , Lauren Darcey , Sh ...
- 《iOS 9应用开发入门经典(第7版)》——第2章,第2.4节小结
本节书摘来自异步社区<iOS 9应用开发入门经典(第7版)>一书中的第2章,第2.4节小结,作者 [美]约翰 雷(John Ray),更多章节内容可以访问云栖社区"异步社区&qu ...
- 测试逐飞的MM32F3277 MicroPython开发板的基本功能
简 介: 对于给定的MicroPython移植版本进行了初步的测试.对比之下,MCU中还有很多的模块尚未支持.这些工作需要近期尽快补充测试完毕. 关键词: MM32,MicroPython #merm ...
最新文章
- 项目服务器有15个能说明什么,15.1 我的面试经历 by smyhvae - 前端入门进阶
- oracle varchar2转date_Oracle基础包之三 DBMS_PIPE
- 理解JS中的this的指向
- python学习笔记04 --------------基本运算符
- 决策树原理详解及python代码实现
- 傅里叶变换库FFTW的安装配置(VS2010)
- 距离传感器控制灯泡代码_生迪全彩智能 LED 灯泡体验评测
- VMware 安装Ubuntu 无法进入安装界面
- Gse v0.40.0 发布,Go 高性能分词,增加更多常用 API
- 2021高考甘肃师大附中成绩查询,2021甘肃理科高考成绩排名一分一档表,甘肃高考理科成绩排名查询...
- ARCGIS中生成KML文件
- Android开源项目及库汇总
- datavideo切换台说明书_GoPro结合洋铭切换台现场节目制作
- 独立产品灵感周刊 DecoHack #012
- Python数据挖掘-OneR算法简介
- 企业级存储发展趋势谈:开源存储的冷思考
- 一文看尽SOTA生成式模型:9大类别21个模型全回顾!
- Resistors in Parallel(找规律+大数)
- offsetof函数的实现
- php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
热门文章
- 华为手机拍照后图库里无照片_用了5年华为手机,发现图库不只用来看照片,还能一键制作视频...
- 受益匪浅!java代码换行符号
- 男神营业啦!吴彦祖演绎迪桑特夏日跑步综训系列
- 杜教筛【莫比乌斯前缀和,欧拉函数前缀和】推导与模板【一千五百字】
- 两个苹果手机怎么定位_苹果手机太卡怎么办?
- 大数据测试之大数据系统及特点
- 运动蓝牙耳机哪个品牌好?防水性能好的蓝牙耳机
- android应用程序开发_抚顺小程序开发定制找谁,吉林小程序定制
- 请问如何恢复桌面不见的IE图标?
- 阴阳师同服务器不同系统,阴阳师跨系统转角色怎么转?跨系统转介绍服务介绍!...