有限状态机(续)

一、添加刀光和场景

1、资源链接:

武器刀光:https://assetstore.unity.com/packages/tools/particles-effects/melee-weapon-trail-1728

场景:https://assetstore.unity.com/packages/3d/environments/fantasy/casual-tiny-environment-jungle-set-169765

2、实现原理

(1)场景

在地板上添加一个盒装控制器,取消网格材质

在场景中的四周添加网格碰撞器

(2)刀光

将光效的脚本覆盖之前的拖尾脚本

设置一个起点和终点

在代码中更改API

二、摄像机震动(击打效果)

1、unity设置

创建一个空物体作为父级,管理所有的子级摄像机

添加一个振动监听

同时需要一个脚本挂在到被监听的对象身上

在代码中选择旧版种类

使用6Dshake 下面的两个值是振动的强度

2、代码调用

在控制层写这个方法

//屏幕震动
public void ScreenImpulse()
{impulseSource.GenerateImpulse();
}

 在武器层调用这个方法

三、摄像机碰撞

添加一个虚拟摄像机的扩展功能,增加摄像机碰撞器

一般调整摄像机半径,可以实现较好的效果;

图层要选择所有,使摄像机与所有的图层碰撞;

设置一个与fllowPos点的目标距离 0.5合适;


四、命中效果(屏幕后处理)

1、添加后处理文件

五、相机平滑位移(Dotween)

使用Dotween插件和Cinemachine插件共同实现

在模型层增加一个动画事件,调用这个摄像机的位移方法

在玩家层增加这个摄像机位移方法

在配置层定义这个相机位移的数据,并且这个位移效果可能有多个,所以是一个数组

1、配置层

// 一次摄像机位移的全部数据
[Serializable]
public class CameraMoveModel
{//相机要偏移的程度public Vector3 Target;//多久偏移,平滑时间(速度)public float Time;//回归时间public float BackTime;
}

2、玩家层

声明两个变量

在start中,先获取摄像机目标的位置,转化为一个v3类型的

然后把这个位置的本地坐标赋值给摄像机坐标

写一个相机位移的方法并且接收三个参数,对应配置中的三个参数

调用Dotween插件中的方法

先位移摄像机的位置加上一个偏移值,然后使用Lamboo表达式委托,执行回到原来的位置

//基于攻击的相机移动
public void CameraMoveForAttack(Vector3 offset,float time,float backTime)
{//花time的时间去到offset的位置//经过backTime时间回归到cameaPos的位置cameraTarget.DOLocalMove(camerPos + offset, time).onComplete = () =>{cameraTarget.DOLocalMove(camerPos, backTime);};
}

3、模型层

因为配置中是一个数组的形式,所以在这里接收一个index

然后在SO配置文件里面写入第几个这里就会传入几

然后调用这个方法,并且传入参数

六、角色平滑位移 

不使用Dotween来进行移动的原因是:UCC在移动时会有碰撞,不会穿模

与摄像机平滑移动差不多

角色的移动要使用CharacterController

1、配置层


// 一次角色位移的全部数据
[Serializable]
public class CharacterMoveModel
{//角色要偏移的程度public Vector3 Target;//多久偏移,平滑时间(速度)public float Time;
}

2、玩家层

使用协程来调用攻击移动方法;

注:协程传参数修改的原因是,v3会导致移动方向相反,应该使用自身的坐标方向

3、模型层

调用玩家层的方法,可以看作是一个动画事件

这里面调用方法传入的参数,就是配置SO中的设置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/886610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年11月16日 星期六 重新整理Go技术

今日格言 坚持每天进步一点点~ 一个人也可以是一个团队~ 学习全栈开发, 做自己喜欢的产品~~ 简介 大家好, 我是张大鹏, 今天是2024年11月16日星期六, 很高兴在这里给大家分享技术. 今天又是休息的一天, 做了很多的思考, 整理了自己掌握的技术, 比如Java, Python, Golang,…

【Linux】软件包管理器yum、编辑器vim

Linux 1.源码安装 和 软件包安装2.软件包管理器yum1.什么是包管理器 3.vim编辑器1.vim常见的三种模式2.vim命令模式:命令集3.vim底行模式:命令集4.使用vim的小技巧5.vim配置 1.源码安装 和 软件包安装 在Linux下安装软件,一个通常的办法是下…

高项 - 项目进度管理

个人总结,仅供参考,欢迎加好友一起讨论 博文更新参考时间点:2024-12 高项 - 章节与知识点汇总:点击跳转 文章目录 高项 - 项目进度管理进度管理ITO规划监控 管理基础项目进度计划的定义和总要求管理新实践用户故事(补…

【CSS】opacity 影响 z-index 不生效

准备知识 一般来说,z-index 不生效的原因有: 父元素的 position 属性: z-index 只对 position 属性为 relative、absolute 或 fixed 的元素有效。 其他元素的 z-index: 如果页面中有其他元素也设置了较高的 z-index,…

django安装与项目创建

一、安装 在终端输入 pip install django //或者()指定安装版本 pip install django2.2 二、创建项目 2.1创建项目 django-admin startproject 项目名 2.2Django 项目中的关键文件 _init_.py:将目录标识为python包setting.py:核心配置文件,定义项目…

Python学习28天

#冒泡排序,将如下列表从大到小排序 num[1,2,3,4,5] print(f"排序前:{num}")#第一次排序:将最小的排到最后一个位置: # 第1次比较 [2,1,3,4,5] # 第2次比较 [2,3,1,4,5] # 第3次比较 [2,3,4,1,5] # 第4次比较 [2,3,4,5,…

Shell脚本5 -- 脚本与用户交互read

声明: 本文的学习内容来源于B站up主“泷羽sec”视频【shell编程(4)脚本与用户交互以及if条件判断】的公开分享,所有内容仅限于网络安全技术的交流学习,不涉及任何侵犯版权或其他侵权意图。如有任何侵权问题&#xff0c…

【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法

【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法 目录 文章目录 【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法目录摘要:研究背景:问题与挑战:如何解…

vue实现展示并下载后端返回的图片流

// 点击下载 downLoadCode() {const image new Image();image.setAttribute("crossOrigin", "anonymous");image.onload () > {const canvas document.createElement("canvas");canvas.width image.width;canvas.height image.height;c…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04目录1. Alopex: A Computational Framework for Enabling On-Device Function Calls with LLMs摘要:研究背景&…

JavaScript逆向爬虫教程-------基础篇之JavaScript密码学以及CryptoJS各种常用算法的实现

目录 一、密码学介绍 1.1 为什么要学密码学?1.2 密码学里面学哪一些 二、字符编码三、位运算四、Hex 编码与 Base64 编码 4.1 Hex 编码4.2 Base64 编码 五、消息摘要算法 5.1 简介5.2 JS中的MD5、SHA、HMAC、SM3 六、对称加密算法 6.1 介绍6.2 加密模式和填充方式6.3 CryptoJ…

使用 OpenAI 进行数据探索性分析(EDA)

#探索性数据分析(Exploratory Data Analysis, 简称 EDA)是数据分析中不可或缺的环节,帮助分析师快速了解数据的分布、特征和潜在模式。传统的 EDA 通常需要手动编写代码或使用工具完成。现在,通过 OpenAI 的 GPT-4 模型&#xff0…

2、计算机网络七层封包和解包的过程

计算机网络osi七层模型 1、网络模型总体预览2、数据链路层4、传输层5.应用层 1、网络模型总体预览 图片均来源B站:网络安全收藏家,没有本人作图 2、数据链路层 案例描述:主机A发出一条信息,到路由器A,这里封装目标MAC…

使用 PyTorch-BigGraph 构建和部署大规模图嵌入的完整教程

当涉及到图数据时,复杂性是不可避免的。无论是社交网络中的庞大互联关系、像 Freebase 这样的知识图谱,还是推荐引擎中海量的数据量,处理如此规模的图数据都充满挑战。 尤其是当目标是生成能够准确捕捉这些关系本质的嵌入表示时,…

国标GB28181视频平台EasyCVR视频融合平台H.265/H.264转码业务流程

在当今数字化、网络化的视频监控领域,大中型项目对于视频监控管理平台的需求日益增长,特别是在跨区域、多设备、高并发的复杂环境中。EasyCVR视频监控汇聚管理平台正是为了满足这些需求而设计的,它不仅提供了全面的管理功能,还支持…

使用win32com将ppt(x)文件转换为pdf文件

本文来记录下如何使用win32com将ppt(x)文件转换为pdf文件 文章目录 win32com概述win32com优缺点代码实例本文小结 win32com概述 Pywin32 是一个用于与 Microsoft Windows 操作系统交互的 Python 扩展模块,它提供了对多个 Windows API 的访问,包括对 Mic…

java itext后端生成pdf导出

public CustomApiResult<String> exportPdf(HttpServletRequest request, HttpServletResponse response) throws IOException {// 防止日志记录获取session异常request.getSession();// 设置编码格式response.setContentType("application/pdf;charsetUTF-8")…

HarmonyOs实战项目=>App首页架构沉浸式效果

1.沉浸式效果方案采用> 窗口全屏布局方案不隐藏状态栏和导航条(不隐藏避让区) 2.沉浸式效果截图 3.主要代码截图 4.大功告成&#xff0c;代码见资源

华为HCCDA云技术认证--网络服务

大家好呀&#xff01;我是reload。今天继续带大家学习华为HCCDA云技术认证&#xff0c;涵盖华为云最为核心的计算、存储、网络、数据库、安全、部署等服务。今天学习网络服务相关内容。 登录华为云官网&#xff1a;https://www.huaweicloud.com/ &#xff0c;进入首页&#xff…

如何提升自己的情商?

在当今社会&#xff0c;情商的重要性越来越被人们所认识和重视。无论是职场发展、人际关系&#xff0c;还是自我成长&#xff0c;情商都起着关键的作用。那么&#xff0c;如何提升自己的情商呢&#xff1f; 一、自我认知&#xff1a;了解自己&#xff0c;方能明智处世 自我认…