【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

目录
相关文章
|
C# 图形学
【Unity3D实例-功能-拔枪】角色拔枪(一)动态创建武器
本文详细讲解了Unity射击游戏中角色拔枪功能的实现方法,包括动态创建武器、设置拔枪动画、角色手部挂载点配置及动画器逻辑搭建,完整呈现拔枪动作的制作流程。
534 4
|
C# 图形学 开发者
【Unity3D实例-功能-移动】复杂移动(Blend Tree方式)
本文介绍了使用Unity中Blend Tree实现角色移动控制的完整教程,涵盖动画器设置、Blend Tree创建、CharacterController组件添加及代码控制,帮助开发者实现流畅自然的角色动画效果。
457 0
|
缓存 前端开发 搜索推荐
推荐一款 Spring Boot 现代化论坛社区系统(论坛/问答/社交网络/博客)附源码
推荐一款 Spring Boot 现代化论坛社区系统(论坛/问答/社交网络/博客)附源码
1233 0
推荐一款 Spring Boot 现代化论坛社区系统(论坛/问答/社交网络/博客)附源码
|
图形学
【unity小技巧】实现投掷物品,比如长矛,刀具,手榴弹和其他物体
【unity小技巧】实现投掷物品,比如长矛,刀具,手榴弹和其他物体
688 1
|
图形学 开发者
透视与正交之外的奇妙视界:深入解析Unity游戏开发中的相机与视角控制艺术,探索打造沉浸式玩家体验的奥秘与技巧
【8月更文挑战第31天】在Unity中,相机不仅是玩家观察游戏世界的窗口,更是塑造氛围和引导注意力的关键工具。通过灵活运用相机系统,开发者能大幅提升游戏的艺术表现力和沉浸感。本文将探讨如何实现多种相机控制,包括第三人称跟随和第一人称视角,并提供实用代码示例。
1068 1
|
开发工具 图形学
【推荐100个unity插件之11】Shader实现UGUI的特效——UIEffect为 Unity UI 提供视觉效果组件
【推荐100个unity插件之11】Shader实现UGUI的特效——UIEffect为 Unity UI 提供视觉效果组件
3367 0
|
图形学
【unity实战】FPS实现拾取和丢弃枪
【unity实战】FPS实现拾取和丢弃枪
547 0
|
机器学习/深度学习 存储 算法
数据结构与算法——BFS(广度优先搜索)
数据结构与算法——BFS(广度优先搜索)
|
定位技术 图形学 开发者
【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇1(附项目源码)
【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇1(附项目源码)
2486 1
|
存储 SQL 关系型数据库
使用关系型数据库三级模式存储数据的优缺点
【6月更文挑战第10天】数据模型是DBMS的核心,提供数据透明性和设计指导。包括概念、逻辑和物理三层:概念模型(如ER模型)用于理解和收集需求,逻辑模型(如关系模型)关注设计,物理模型涉及实际存储实现。
671 0
使用关系型数据库三级模式存储数据的优缺点

热门文章

最新文章