【Unity3D实例-功能-切换武器】切换武器(二)功能实现

简介: 本文为Unity3D切换武器功能的最终实现教程,介绍如何配置动画并编写武器架代码,实现角色多武器切换功能。内容包含动画设置、Unity准备、代码编写与测试等步骤,适合游戏开发者学习参考。

4.png

今天这篇文章是切换武器的次篇文章,也是切换武器功能的最终实现,我们一起来完成游戏中角色如何切换武器的功能。
(1)首篇文章:如何配置切换武器的动画。大家可以参考《【Unity3D实例-功能-切换武器】切换武器(一)动画配置》
(2)次篇文章:如何编写武器架的代码,实现多武器切换功能。

目录:

1.关于动画配置
2.Unity的准备工作
3.编写武器架的代码
4.编写角色切换武器的代码
5.测试和运行


一.关于动画配置

在编写实现切换武器的代码功能前,我们需要先配置好角色的相关动画(包括:角色普通的站立动画和行走动画,角色手持手枪的站立动画和行走动画,还有角色手持步枪的站立动画和行走动画)。关于动画配置,大家可以参考我的首篇文章《【Unity3D实例-功能-切换武器】切换武器(一)动画配置》。
76fbc91e3ae28831e86236bb5ba507eb.png

二.Unity的准备工作

1.在“Unity”的“Hierachy”中点击鼠标左键,选中角色,找到角色左手骨络和右手骨络,在其下面分别创建一个空物体,用于使用IK把左右手骨络绑定到空物体上。(IK的详细使用可以参考《【Unity3D实例-功能-拔枪】角色拔枪(三)IK的使用-紧握武器》)。
44b25e1b7e32e38a026a3c37f6e03fc7.png

2.在 "Assets" 文件夹中,点击鼠标右键,选中“Create”,点击“Folder”,新建一个名为 "Scripts" 的文件夹(你可以根据自己的喜好来命名),然后在该文件夹里,再点击右键,选中“Create”,点击“C# Script”,创建一个武器架脚本(我这里命名为“WeaponRackController”)。
f869628c063502308c72eb83013c0c24.png

3.接着在 "Scripts" 的文件夹下,再创建一个角色脚本(我这里命名为“PlayerController”),并且把脚本拖拉到角色下。
d70edc83cf32c0af87fe26bcd5102ca3.png

三.编写武器架的代码

双击打开“WeaponRackController”脚本,编写一个枚举类“WeaponType”,用于声明多种武器的标识。接着声明一个“Weapon”的武器信息类,用于保存武器预制体、武器的位置参数和绑定左右手IK的空物体的位置和旋转。最后声明一个武器架的类叫“WeaponRackController”,用于实现多种武器的存和取。
代码、模型和动画都已经上传到我的个人博客了,大家可以自行下载。
原创来源于-谷宇博客:https://www.biguyu.top/home
公众号:搜索”谷宇小站“,手机也可以查看哈

四.编写角色切换武器的代码

双击打开“PlayerController”脚本,实现角色双手的IK、动画图层操作、武器架操作和动态切换武器。

代码、模型和动画都已经上传到我的个人博客了,大家可以自行下载。
原创来源于-谷宇博客:https://www.biguyu.top/home
公众号:搜索”谷宇小站“,手机也可以查看哈

五.测试与运行

亲测过程:完成的切换武器效果。
0a90351652604d7cae2141340e385e3f.gif

目录
相关文章
|
4月前
|
存储 人工智能 前端开发
从需求到研发全自动:如何基于Multi-Agent架构打造AI前端工程师
本文深入阐述了蚂蚁消金前端团队打造的Multi-Agent智能体平台——“天工万象”的技术实践与核心思考。
1157 21
从需求到研发全自动:如何基于Multi-Agent架构打造AI前端工程师
|
JavaScript
vue element plus ColorPicker 颜色选择器
vue element plus ColorPicker 颜色选择器
378 0
|
3月前
|
图形学 开发者
【Unity3D实例-功能-切换武器】切换武器(一)动画配置
本文介绍了在Unity3D中实现角色切换武器功能的动画配置过程,包括创建动画器、设置动画、配置Base Layer、创建武器图层及测试运行,帮助开发者实现多武器切换效果。
119 10
|
8月前
|
存储 监控 算法
基于 C++ 哈希表算法的局域网如何监控电脑技术解析
当代数字化办公与生活环境中,局域网的广泛应用极大地提升了信息交互的效率与便捷性。然而,出于网络安全管理、资源合理分配以及合规性要求等多方面的考量,对局域网内计算机进行有效监控成为一项至关重要的任务。实现局域网内计算机监控,涉及多种数据结构与算法的运用。本文聚焦于 C++ 编程语言中的哈希表算法,深入探讨其在局域网计算机监控场景中的应用,并通过详尽的代码示例进行阐释。
174 4
|
架构师 Java 测试技术
一文搞透高并发指标(QPS、TPS、吞吐量等)
详解高并发场景下的QPS、TPS、RT及吞吐量等关键性能指标,帮助理解系统性能评估的核心概念。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文搞透高并发指标(QPS、TPS、吞吐量等)
|
12月前
|
存储 程序员 C++
深入解析C++中的函数指针与`typedef`的妙用
本文深入解析了C++中的函数指针及其与`typedef`的结合使用。通过图示和代码示例,详细介绍了函数指针的基本概念、声明和使用方法,并展示了如何利用`typedef`简化复杂的函数指针声明,提升代码的可读性和可维护性。
|
JavaScript 前端开发 算法
Vue 3 常见面试题汇总
Vue 3 常见面试题汇总
726 0
|
Android开发
Android 利用MediaPlayer实现音乐播放
本文提供了一个简单的Android MediaPlayer音乐播放示例,包括创建PlayerActivity、配置AndroidManifest.xml和activity_player.xml布局,以及实现播放和暂停功能的代码。
343 0
Android 利用MediaPlayer实现音乐播放
|
存储 SQL 关系型数据库
使用关系型数据库三级模式存储数据的优缺点
【6月更文挑战第10天】数据模型是DBMS的核心,提供数据透明性和设计指导。包括概念、逻辑和物理三层:概念模型(如ER模型)用于理解和收集需求,逻辑模型(如关系模型)关注设计,物理模型涉及实际存储实现。
375 0
使用关系型数据库三级模式存储数据的优缺点
|
监控 数据可视化 图形学
重构U3D动画系统:运用Animator Controller层叠状态机优化游戏表现
【7月更文第11天】随着Unity 3D(简称U3D)游戏开发的不断深入,高效且流畅的动画系统成为了提升玩家体验的关键因素。本文将深入探讨如何通过重构U3D项目的动画系统,利用Animator Controller的层叠状态机(Layered State Machine)特性,显著提高动画的处理效率与游戏的流畅度。我们将通过一个实战示例,展示如何设置和优化状态机,进而实现角色动画的细腻控制与高效切换。
486 0

热门文章

最新文章