接入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,相当于向右的倒向播放。

BlendTree.PNG

Unity-黑暗之魂复刻-Lockon相关推荐

  1. unity简单复刻无敌破坏王

    使用unity简单复刻无敌破坏王总结 国庆突发奇想想简单复刻一下无敌破坏王,这里写一些总结,希望也能对大家有帮助 游戏截图: 基本思路: 时间有限,也只是简单复刻,所以只实现破坏方块的功能,画面算是广 ...

  2. 傅老师黑暗之魂复刻笔记(第一季第一部分)

    1. 在Unity中通过一维混合树实现人物静止与跑动之间的动态切换,可以通过一维的参数混合两个动画,forward值为0时静止,1时完全走动: 2. GetComponent函数全部在Awake和St ...

  3. [技美CG]Unity3D复刻UnityShader 之 ShaderToy - Bubbles

    Unity3D复刻UnityShader 之 ShaderToy - Bubbles 背景: 官方地址/参考资料: ShaderToy-Bubbles原始代码: Unity复刻开始 核心显示类: 核心 ...

  4. 复刻 Unity编辑器 移动的方式

    复刻 Unity编辑器 移动的方式 第一人称移动 自定义键值补充 代码搭载 老规矩,直接上代码: 第一人称移动 using System.Collections; using System.Colle ...

  5. Unity复刻骑砍中的帝国象棋(一)

    Unity复刻骑砍中的帝国象棋(一) 起因和简介 这两天从一款游戏中发现了这么个棋类小游戏,觉得挺有意思,没错,就是下面这个: 作为程序员的我,一下就想到复刻它一下.这个棋类小游戏,我并不知道它确切的 ...

  6. Unity黑魂复刻经典教程心得(三)-CameraController

    CameraController 1.根据角色的位置来计算camera的位置 targetLookAt = new GameObject("targetLookAt").trans ...

  7. 【Mib自看】黑魂复刻Unity脚本

    [课程地址]B站傅老师Unity课程学习记录,仅代表个人理解. [自看]黑魂复刻Unity脚本 1.移动脚本 设计思路 2.动画 动画脚本:ActorController + 输入脚本:PlayerI ...

  8. Unity黑魂复刻经典教程心得(一)

    b站上傅老师的黑魂复刻教程,是比较好的,傅老师风情幽默,值得种草 https://www.bilibili.com/video/BV1gW411T7yb?p=55

  9. 10年代码经验程序员UP主复刻“阴间”超级马里奥,获赞27万,马里奥:我头呢?

    本文转载自 大数据文摘 <超级马里奥兄弟>是很多人童年的回忆,对B站up主"M木糖M"来说也不例外. 为了纪念自己的童年,我们这位代码经验丰富的up主决定自己动手复刻一 ...

最新文章

  1. 前端那点事儿——Tocify自动生成文档目录
  2. Knative 初体验:CICD 极速入门
  3. 拼多多和国美合作,这可不仅仅是可转债的问题
  4. 从构建分布式秒杀系统聊聊WebSocket推送通知
  5. VUE2.x的浏览器兼容情况汇总
  6. 程序员看的JPEG图像压缩介绍(多图慎入)
  7. Oracle undo 管理
  8. JDBC批处理插入更新MySQL Oracle
  9. 几大经典算法c语言cnds,浮点数据有损压缩算法 附完整C代码
  10. CN域名海外注册商体系(7)2010年4月2日资料
  11. #ifndef的详细意思
  12. python小海龟画房子编程_这个python海龟绘图为什么出错?
  13. Java多线程系列--【JUC线程池 02】- 线程池原理(一)
  14. 不同分发平台的区别和特点
  15. Mysql varchar类型长度计算(mysql字段长度计算)
  16. 将baml 转换为xaml_将XAML实施SAML
  17. Tech Talk · 云技术有话聊 | 关键基础部件如何保障高可靠?
  18. 【vulhub靶场】medium_socnet
  19. Linux乌班图系统,如何安装和配置mysql
  20. newifi安装php,新路由(newifi)登录地址安装设置步骤

热门文章

  1. 最先进的Git分布式仓库系统——是如何提升编程效率的?
  2. 【BirdDog】 Full NDI在体育/电竞直播中的降成本、轻量化、多机位现场制作
  3. Unity - Timeline 自定义剪辑,轨道,混合轨道,Inspector属性显示(使用Default Playables辅助工具)
  4. 解决最近easyui官网不能访问问题
  5. 代码 比较工具 在线
  6. 阿里面试感想(注:此为转载帖子)
  7. 从’物质决定意识’说起
  8. python 查找excel表格中重复的信息并标出来
  9. 最后期限Lite,兴趣社区圈子论坛小程序前后端
  10. spark常用的linux命令,GitHub - Sparkinzy/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...