当前位置: 首页 > news >正文

【Unity3D实例-功能-下蹲】角色下蹲(二)穿越隧道

在3D 游戏关卡里,低矮隧道往往是设计者的“隐形空气墙”——角色稍不留神就会穿模卡死。本文演示如何基于 CharacterController 实现“一键下蹲 + 实时碰撞检测”,让角色贴地滑入隧道、起身无缝恢复,彻底告别穿模烦恼!

为了避免篇幅冗长,关于下蹲功能将会拆分成三篇文章进行连载,手把手详细带您一起实现一个完整的下蹲功能。首篇文章分享下蹲功能的实现方式。次篇文章,我将会解决下蹲后,角色穿越山洞或者隧道时,不会出现穿模的现象。末篇文章,我将会细讲动画配置,从蹲下、蹲着、蹲着行走,一直到站起来的动画组合实现,让角色灵活起来。

目录:

1.下蹲功能功能

2.搭建隧道

3.编写下蹲检测代码

4.测试与运行

--------------------

一.下蹲功能功能

在首篇文章《【Unity3D实例-功能-下蹲】角色下蹲(一)功能实现》,介绍了如何实现角色的下蹲功能。如果有不懂的小伙伴可以去查看我的博客文章。

原创链接:https://biguyu.top/article/detail?code=1952754434354319360

二.搭建隧道

1.点击鼠标右键,选择“Create Empty”,创建一个空物体(我这里命名为“Cave”)。

2.然后在空物体下,点击鼠标右键,选择“3D Object” -> 点击“Cube”,分别创建一个Cube作为顶部,两个Cube作为左右墙。

3.选中隧道的父节点(就是刚创建的“空物体”),在“Inspector”菜单下,点击“Layer”,为隧道创建一个障碍物的Layer(我这里也是命名为“Cave”),用于后续的实时碰撞检测。

三.编写下蹲功能代码

1.在Assets 目录中新建专用 的Scripts 文件夹(命名可自定义规范),并于其内创建对应功能 C# 脚本;完成后,将该脚本以组件形式拖放至场景角色实例,完成依赖注入与初始化。

2.实现下蹲 + 实时碰撞检测的代码

代码、模型和动画都已经上传到我的个人博客了,大家可以自行下载。

原创来源于-谷宇博客:https://www.biguyu.top/home

四.测试与运行

亲测过程:进入 Play Mode 后,持续按压空格键,角色中心高度由 1.6 m 降至 1 m,CharacterController 的碰撞盒同步收缩;大家可以看到动态图片中,角色进入隧道后,松开空格键,角色控制器的框框被隧道顶盖阻挡无法直立,直至退出隧道后方可恢复站立,验证实时高度检测与层掩码过滤成功防止穿模。(在文章《【Unity3D实例-功能-下蹲】角色下蹲(三)动画配置》中,实现完整的动画效果)

http://www.dtcms.com/a/327954.html

相关文章:

  • Python爬虫获取淘宝店铺所有商品信息API接口
  • IoTDB与传统数据库的核心区别
  • 【Linux系列】服务器 IP 地址查询
  • OpenBMC中C++单例模式架构与实现全解析
  • 站在Vue的角度,对比鸿蒙开发中的递归渲染
  • 线缆桥架、管道设计规范详解
  • 异步并发×编译性能:Dart爬虫的实战突围
  • USB 2.0 3.0 插拔 ftrace 详解
  • MySQL相关概念和易错知识点(5)(索引、事务、MVCC)
  • LintCode第1526-N叉树的前序遍历
  • MongoDB 入门指南(一):从 0 到 1 学会文档数据库
  • QT之问题解决记录1:上下位机通信中断而不自知
  • react+redux+toolkit来实现公共数据的处理-对比vuex
  • 深度学习日志及可视化过程
  • 【机器学习深度学习】归一化层
  • Java 编程每日一题:实现一个简易的 LRU 缓存
  • JavaSE:数据类型与变量
  • 13-docker的轻量级私有仓库之docker-registry
  • 网络安全第1—2天笔记
  • 【19】万集科技——万集科技嵌入式,校招 一面,二面,面试问答记录
  • 数据分析与可视化
  • Unity数据可视化图表插件XCharts
  • CS2服务器是何方神圣
  • 21.Linux HTTPS服务
  • imx6ull-驱动开发篇20——linux互斥体实验
  • mimiconda+vscode
  • Ceph的FileStore存储引擎详解
  • Ceph放置组(PG)详解
  • 石头剪刀布手势识别数据集-3,100 张图片 智能游戏系统 人机交互界面 教育娱乐应用 手势识别技术研究 实时视频分析 移动端AI应用
  • 8 反向引用