Unity-黑暗之魂复刻-Lockon
接入Button的信号
在JoystickInput中声明新的ButtonButton(buttonJstick),声明新的Bool(lockOn),lockOn的值为buttonJstick的OnPressed的值。
检测是否有lockOn目标
使用Physics.OverlapBox函数,检测一个区域内全部的Collider,函数返回一个Collider[]。
在调用OverlapBox的时候,在LayerMask层传入一个Mask,进行某一个层的遮罩
public void LockUnlock(){//print("lockUnlock");if (lockTarget == null){//lock objVector3 boxCenter = model.transform.position + new Vector3(0, 1, 0) + model.transform.forward * 4.0f;Collider[] cols = Physics.OverlapBox(boxCenter, new Vector3(0.5f, 0.5f, 4f),model.transform.rotation,LayerMask.GetMask("Enemy"));foreach (var item in cols){print(item);}}else{//release lock}}
在有lockTarget的情况情况下选择lockOn,有可以锁定的目标时,直接切换lockOn的Target,在没有lockTarget或者target是同样的时候,取消lock
public void LockUnlock(){Vector3 boxCenter = model.transform.position + new Vector3(0, 1, 0) + model.transform.forward * 4.0f;Collider[] cols = Physics.OverlapBox(boxCenter, new Vector3(0.5f, 0.5f, 4f),model.transform.rotation,LayerMask.GetMask("Enemy"));if (cols.Length < 1){lockTarget = null;}else{foreach (var item in cols){if (lockTarget == item.gameObject){lockTarget = null;break;}lockTarget = item.gameObject;//找到第一个Collider直接退出break;}}}
修改Camera的代码,在有lockTarget的时候,摄像机直接锁定Target。
添加LockOn时候的锁定图标
同时在LockOn的时候同时设置LockOn的State
LockOn下的BlendTree
将BlendType设置为2DFreeformDirectional
前后左右分别设置动画,由于左右没有充足的动画,这里在向左走的时候将时间设置为-1,相当于向右的倒向播放。
Unity-黑暗之魂复刻-Lockon相关推荐
- unity简单复刻无敌破坏王
使用unity简单复刻无敌破坏王总结 国庆突发奇想想简单复刻一下无敌破坏王,这里写一些总结,希望也能对大家有帮助 游戏截图: 基本思路: 时间有限,也只是简单复刻,所以只实现破坏方块的功能,画面算是广 ...
- 傅老师黑暗之魂复刻笔记(第一季第一部分)
1. 在Unity中通过一维混合树实现人物静止与跑动之间的动态切换,可以通过一维的参数混合两个动画,forward值为0时静止,1时完全走动: 2. GetComponent函数全部在Awake和St ...
- [技美CG]Unity3D复刻UnityShader 之 ShaderToy - Bubbles
Unity3D复刻UnityShader 之 ShaderToy - Bubbles 背景: 官方地址/参考资料: ShaderToy-Bubbles原始代码: Unity复刻开始 核心显示类: 核心 ...
- 复刻 Unity编辑器 移动的方式
复刻 Unity编辑器 移动的方式 第一人称移动 自定义键值补充 代码搭载 老规矩,直接上代码: 第一人称移动 using System.Collections; using System.Colle ...
- Unity复刻骑砍中的帝国象棋(一)
Unity复刻骑砍中的帝国象棋(一) 起因和简介 这两天从一款游戏中发现了这么个棋类小游戏,觉得挺有意思,没错,就是下面这个: 作为程序员的我,一下就想到复刻它一下.这个棋类小游戏,我并不知道它确切的 ...
- Unity黑魂复刻经典教程心得(三)-CameraController
CameraController 1.根据角色的位置来计算camera的位置 targetLookAt = new GameObject("targetLookAt").trans ...
- 【Mib自看】黑魂复刻Unity脚本
[课程地址]B站傅老师Unity课程学习记录,仅代表个人理解. [自看]黑魂复刻Unity脚本 1.移动脚本 设计思路 2.动画 动画脚本:ActorController + 输入脚本:PlayerI ...
- Unity黑魂复刻经典教程心得(一)
b站上傅老师的黑魂复刻教程,是比较好的,傅老师风情幽默,值得种草 https://www.bilibili.com/video/BV1gW411T7yb?p=55
- 10年代码经验程序员UP主复刻“阴间”超级马里奥,获赞27万,马里奥:我头呢?
本文转载自 大数据文摘 <超级马里奥兄弟>是很多人童年的回忆,对B站up主"M木糖M"来说也不例外. 为了纪念自己的童年,我们这位代码经验丰富的up主决定自己动手复刻一 ...
最新文章
- 前端那点事儿——Tocify自动生成文档目录
- Knative 初体验:CICD 极速入门
- 拼多多和国美合作,这可不仅仅是可转债的问题
- 从构建分布式秒杀系统聊聊WebSocket推送通知
- VUE2.x的浏览器兼容情况汇总
- 程序员看的JPEG图像压缩介绍(多图慎入)
- Oracle undo 管理
- JDBC批处理插入更新MySQL Oracle
- 几大经典算法c语言cnds,浮点数据有损压缩算法 附完整C代码
- CN域名海外注册商体系(7)2010年4月2日资料
- #ifndef的详细意思
- python小海龟画房子编程_这个python海龟绘图为什么出错?
- Java多线程系列--【JUC线程池 02】- 线程池原理(一)
- 不同分发平台的区别和特点
- Mysql varchar类型长度计算(mysql字段长度计算)
- 将baml 转换为xaml_将XAML实施SAML
- Tech Talk · 云技术有话聊 | 关键基础部件如何保障高可靠?
- 【vulhub靶场】medium_socnet
- Linux乌班图系统,如何安装和配置mysql
- newifi安装php,新路由(newifi)登录地址安装设置步骤
热门文章
- 最先进的Git分布式仓库系统——是如何提升编程效率的?
- 【BirdDog】 Full NDI在体育/电竞直播中的降成本、轻量化、多机位现场制作
- Unity - Timeline 自定义剪辑,轨道,混合轨道,Inspector属性显示(使用Default Playables辅助工具)
- 解决最近easyui官网不能访问问题
- 代码 比较工具 在线
- 阿里面试感想(注:此为转载帖子)
- 从’物质决定意识’说起
- python 查找excel表格中重复的信息并标出来
- 最后期限Lite,兴趣社区圈子论坛小程序前后端
- spark常用的linux命令,GitHub - Sparkinzy/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...