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

Elasticsearch:什么是向量数据库?

向量数据库定义

向量数据库是将信息存储为向量的数据库,向量是数据对象的数值表示,也称为向量嵌入。 它利用这些向量嵌入的强大功能来对非结构化数据和半结构化数据(例如图像、文本或传感器数据)的海量数据集进行索引和搜索。 向量数据库是为了管理向量嵌入而构建的,因此为非结构化和半结构化数据的管理提供了完整的解决方案。

向量数据库与向量搜索库或向量索引不同:它是一种数据管理解决方案,支持元数据存储和过滤、可扩展、允许动态数据更改、执行备份并提供安全功能。

向量数据库通过高维向量来组织数据。 高维向量包含数百个维度,每个维度对应于它所表示的数据对象的特定特征或属性。

什么是向量嵌入?

向量嵌入是主题、单词、图像或任何其他数据的数字表示。 向量嵌入(也称为嵌入)由大型语言模型和其他人工智能模型生成。

每个向量嵌入之间的距离使向量数据库或向量搜索引擎能够确定向量之间的相似性。 距离可以代表数据对象的多个维度,从而使机器学习和人工智能能够理解模式、关系和底层结构。

了解如何部署文本嵌入

更多关于向量嵌入的知识,请阅读文章 “Elasticsearch:什么是向量嵌入?”。

向量数据库如何工作?

向量数据库通过使用算法来索引和查询向量嵌入来工作。 该算法通过哈希、量化或基于图的搜索来实现近似最近邻 (ANN) 搜索。

为了检索信息,人工神经网络搜索会找到查询的最近向量邻居。 与 kNN 搜索(已知最近邻,或真正的 k 最近邻算法)相比,计算强度较小,近似最近邻搜索的准确度也较低。 然而,它对于高维向量的大型数据集可以高效且大规模地工作。

向量数据库管道如下所示:

1)索引:通过哈希、量化或基于图的技术,向量数据库通过将向量映射到给定的数据结构来对向量进行索引。这使得搜索速度更快。

  • 哈希:哈希算法,比如局部敏感哈希(LSH)算法,最适合进行近似最近邻搜索,因为它能够提供快速而近似的结果。LSH 使用哈希表(类似数独谜题)来映射最近邻。查询将被哈希到一个表中,然后与同一表中的一组向量进行比较,以确定相似性。
  • 量化:量化技术,比如产品量化(PQ),将向量分解为较小的部分,并用代码表示这些部分,然后将部分重新组合。结果是向量及其组件的代码表示。这些代码的集合被称为码书(codebook)。在查询时,使用量化的向量数据库将查询分解为代码,然后与码书进行匹配,以找到最相似的代码生成结果。
  • 基于图:图算法,比如分层可导航小世界(HNSW)算法,使用节点表示向量。它对节点进行聚类,并在相似节点之间绘制线条或边缘,创建层次图。当发起查询时,算法将导航图层次结构,以找到包含与查询向量最相似的向量的节点。

向量数据库还将索引数据对象的元数据。 因此,向量数据库将包含两个索引:向量索引和元数据索引。

2)查询:当向量数据库收到查询时,它将索引向量与查询向量进行比较,以确定最近的向量邻居。 为了建立最近邻,向量数据库依赖于称为相似性度量的数学方法。 存在不同类型的相似性方法:

  • 余弦相似度在 -1 到 1 的范围内建立相似度。通过测量向量空间中两个向量之间的角度的余弦,它可以确定向量是完全相反的(用 -1 表示)、正交的(用 0 表示)或 相同(用 1 表示)。
  • 欧氏距离通过测量向量之间的直线距离来确定 0 到无穷大范围内的相似度。 相同的向量用0表示,而较大的值表示向量之间的差异较大。
  • 点积相似性方法确定负无穷大到无穷大范围内的向量相似性。 通过测量两个向量的大小和它们之间角度的余弦的乘积,点积将负值分配给彼此远离的向量,将 0 分配给正交向量,将正值分配给指向相同方向的向量。


3)后处理:向量数据库管道中的最后一步有时是后处理或后过滤,在此期间向量数据库将使用不同的相似性度量来重新排列最近的邻居。 在此阶段,数据库将根据元数据过滤搜索中识别的查询最近邻居。

某些向量数据库可能会在运行向量搜索之前应用过滤器。 在这种情况下,它被称为预处理或预过滤。

为什么向量数据库很重要?

向量数据库很重要,因为它们保存向量嵌入并支持一系列功能,包括索引、距离度量和相似性搜索。 换句话说,向量数据库专门用于非结构化数据和半结构化数据的管理。 因此,向量数据库是机器学习和人工智能数字领域的重要工具。

向量数据库核心组件

向量数据库可能具有以下核心组件:

  • 性能和容错:分片和复制过程确保向量数据库的高性能和容错性。 分片涉及跨多个节点对数据进行分区,而复制涉及跨不同节点制作数据的多个副本。 如果节点发生故障,这可以实现容错和持续的性能。
  • 监控能力:为了确保性能和容错能力,向量数据库需要监控资源使用情况、查询性能和整体系统运行状况。
  • 访问控制能力:向量数据库也需要数据安全管理。 访问控制监管可确保合规性、责任性以及审核数据库使用情况的能力。 这也意味着数据受到保护:拥有权限的人可以访问数据,并且保留用户活动的记录。
  • 可扩展性和可调性:良好的访问控制功能会影响向量数据库的可扩展性和可调性。 随着存储数据量的增加,水平扩展的能力变得必不可少。 不同的插入和查询速率以及底层硬件的差异都会影响应用程序的需求。
  • 多用户和数据隔离:在具备可扩展性和访问控制功能的同时,向量数据库应该能够容纳多用户或多租户。 与此相一致,向量数据库应该启用数据隔离,以便任何用户活动(例如插入、删除或查询)对其他用户保持私有 —— 除非另有要求。
  • 备份:向量数据库创建定期数据备份。 这是向量数据库在系统发生故障时的关键组件 —— 在数据丢失或数据损坏的情况下,备份可以帮助将数据库恢复到以前的状态。 这可以最大限度地减少停机时间。
  • API 和 SDK:向量数据库使用 API 来实现用户友好的界面。 API 是一种应用程序编程接口或一种软件,它使应用程序能够通过请求和响应相互 “对话”。 API 层简化了向量搜索体验。 SDK(即软件开发工具包)通常包含 API。 它们是数据库用于通信和管理的编程语言。 SDK 有助于开发人员友好地使用向量数据库,因为它们在开发特定用例(语义搜索、推荐系统等)时不必担心底层结构。

向量数据库和传统数据库有什么区别?

传统数据库以表格形式存储信息,并通过为数据点分配值来索引数据。 当查询时,传统数据库将返回与查询完全匹配的结果。

向量数据库以嵌入的形式存储向量并启用向量搜索,向量搜索根据相似性指标(而不是精确匹配)返回查询结果。 向量数据库在传统数据库无法做到的地方“提升”了:它被有意设计为与向量嵌入一起操作。

向量数据库也比传统数据库更适合某些应用,例如相似性搜索、人工智能和机器学习应用,因为它支持高维搜索和定制索引,并且具有可扩展性、灵活且高效。

向量数据库的应用

向量数据库用于人工智能、机器学习 (ML)、自然语言处理 (NLP) 和图像识别应用。

  • AI/ML应用:向量数据库可以通过语义信息检索和长期记忆来提高 AI 能力。
  • NLP 应用:向量相似性搜索是向量数据库的关键组成部分,对于自然语言处理应用非常有用。 向量数据库可以处理文本嵌入,这使计算机能够 “理解” 人类或自然语言。
  • 图像识别和检索应用:向量数据库将图像转换为图像嵌入。 通过相似性搜索,他们能够检索相似的图像或识别匹配的图像。

向量数据库还可以服务于异常检测和人脸检测应用。

向量数据库的未来趋势

向量数据库的未来与人工智能和机器学习的发展以及与使用深度学习为结构化和非结构化数据生成更强大的嵌入相关的研究密切相关。

随着创建更好嵌入的能力的提高,向量数据库更好地处理和管理这些嵌入的能力需要新的技术和算法。 事实上,此类新方法一直在开发中。

其他研究致力于混合数据库的开发。 这些旨在结合传统关系数据库和矢量数据库的强大功能,以满足对高效和可扩展数据库日益增长的需求。

Elasticsearch 的向量数据库

Elasticsearch 包含一个用于向量搜索的向量数据库。 Elastic 使开发人员能够使用 Elasticsearch 相关性引擎 (ESRE) 构建自己的向量搜索引擎。

借助 Elasticsearch 工具,你可以构建一个向量搜索引擎,该引擎可以搜索非结构化和结构化数据、应用过滤器和分面、对文本和矢量数据应用混合搜索,并利用文档和字段级安全性,同时在本地运行 云或混合环境中。

探索 Elasticsearch 向量数据库

向量数据库资源

  • Elasticsearch 向量数据库
  • Elastic 的向量搜索原理
  • 阅读有关 ANN 算法的更多信息
  • 了解如何实现图像相似度搜索

相关文章:

Elasticsearch:什么是向量数据库?

向量数据库定义 向量数据库是将信息存储为向量的数据库,向量是数据对象的数值表示,也称为向量嵌入。 它利用这些向量嵌入的强大功能来对非结构化数据和半结构化数据(例如图像、文本或传感器数据)的海量数据集进行索引和搜索。 向…...

rename--统一的PRF

基本概念 将ARF/PRF进行合并,合同之后的不见,称之为统一的PRF(Physical Register File);存储的是speculative的,以及正确的(retire)寄存器值; 使用free list,存储PRF中,哪些寄存器是…...

010-editor破解(1)

查看字符串 使用rabin2 -z /home/burning/010editor/010editor | tee 22.txt 查看字符串。 6698 0x003ba380 0x007ba380 68 69 .rodata ascii The password you entered is for an earlier version of this program. 6699 0x003ba3c8 0x007ba3c8 70 71 .rodata ascii You will…...

Ubuntur编译ROS报错:error PCL requires C++14 or above

ubuntu20.04 编译ROS包 报错: error: PCL requires C14 or above: 修改Cmakelists.txt文件: set(CMAKE_CXX_STANDARD 14) 再次编译成功....

17.认识下Docker之docker的核心原理(2)

1.容器-我的小世界 不知道大家看没看过小说《完美时间》,里面石昊经常进入一个小世界在里面与世隔绝的修炼或者战斗,总之就是在一个完全封闭的空间里做他想做的事情而与外界隔离,不受侵扰。通过前面的分析我们知道,Namepace让应用…...

【EasyExcel实践】万能导出,一个接口导出多张表以及任意字段(可指定字段顺序)

文章目录 前言正文一、POM依赖二、核心Java文件2.1 自定义表头注解 ExcelColumnTitle2.2 自定义标题头的映射接口2.3 自定义有序map存储表内数据2.4 表头工厂2.5 表flag和表头映射枚举2.6 测试用的实体2.6.1 NameAndFactoryDemo2.6.2 StudentDemo 2.7 启动类2.8 测试控制器 三、…...

代码随想录算法训练营第四十二天 _ 动态规划_01背包问题、416.分割等和子集。

学习目标: 动态规划五部曲: ① 确定dp[i]的含义 ② 求递推公式 ③ dp数组如何初始化 ④ 确定遍历顺序 ⑤ 打印递归数组 ---- 调试 引用自代码随想录! 60天训练营打卡计划! 学习内容: 二维数组处理01背包问题 听起来…...

市场上好用的aspera替代方案,你知道哪些

Aspera作为一个高速文件传输方案曾经非常受欢迎,但是其昂贵的价格却限制了许多用户的选择,因此市场上出现了众多Aspera替代方案,本文将会介绍市场上最好的Aspera替代方案。 最近几年,网络传输已成为现代商业运作中必不可少的一部…...

Stm32_串口的帧(不定长)数据接收

目录标题 前言1、串口中断接收固定帧头帧尾数据1.1、任务需求1.2、实现思路1.3、程序源码: 2、串口中断接收用定时器来判断帧结束3、串口中断接收数据空闲中断3.1、串口的空闲中断3.2、实现思路3.3、程序源码 4、串口的空闲中断DMA转运4.1、DMA简介4.2、DMA模式4.3、…...

L0、Linux常用命令

一、防火墙: 在 Linux 中,关闭防火墙可以使用不同的命令,这取决于你所使用的防火墙软件。在一些常见的 Linux 发行版中,防火墙可能是 iptables 或 firewalld两种: centos6使用iptables作为默认防火墙;cento…...

Golang实践录:读取toml配置

本文对 toml 文件进行解析。 下载 对于toml格式文件,golang 有很多库可以解释 yaml 文件,如toml、viper。由于 viper 可解析格式较多,本文采用该库。 toml语法规则 toml语法规则在官方中文文档上有说明,这里直接使用。 TOML 是…...

超大规模集成电路设计----基于阵列的可编程逻辑(七)

本文仅供学习,不作任何商业用途,严禁转载。本篇文章绝大部分资料来自中国科学院段成华教授PPT 超大规模集成电路设计----基于阵列的可编程逻辑(七) 7.1 引言7.1.1.回顾7.1.2. 数字逻辑系列Digital Logic Families7.1.3.从定制到半…...

深入探索FastAPI单元测试:使用TestClient轻松测试你的API

原文:深入探索FastAPI单元测试:使用TestClient轻松测试你的API-51CTO.COM 当使用FastAPI进行单元测试时,一个重要的工具是TestClient类。TestClient类允许我们模拟对FastAPI应用程序的HTTP请求,并测试应用程序的响应。这使我们能…...

基于ssm小型企业办公自动化系统论文

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对小型企业办公信息管理混乱,出错率高,信息安全…...

CasADi - 最优控制开源 Python/MATLAB 库

系列文章目录 文章目录 系列文章目录前言一、介绍1.1 CasADi 是什么?1.2 帮助与支持1.3 引用 CasADi1.4 阅读本文档 二、获取与安装三、符号框架3.1 符号 SX3.1.1 关于命名空间的说明3.1.2 C 用户注意事项 3.2 DM3.3 符号 MX3.4 SX 和 MX 混合使用3.5 稀疏类3.5.1 获…...

Java中使用String字符串的注意事项

引言 介绍字符串在Java中的重要性和普遍性,以及本文将讨论的注意事项。 1. 字符串是不可变的 解释Java中字符串是不可变的概念,即一旦创建,字符串对象的值就不能被修改。强调在对字符串进行操作时应当创建新的字符串对象而不是修改原有的对…...

离线数仓构建案例一

数据采集 日志数据(文件)到Kafka 自己写个程序模拟一些用户的行为数据,这些数据存在一个文件夹中。 接着使用flume监控采集这些文件,然后发送给kafka中待消费。 1、flume采集配置文件 监控文件将数据发给kafka的flume配置文件…...

nginx优雅如何优雅的接管【跨域配置】

跨域问题太常见了,这里不做详细赘述。文章主要想说一下,如何统一管理和更好的来管理 跨域配置 跨域的常见配置有两种 后台代码设置和网关设置 1、后台代码设置 以springboot为例代码如下(水一下文章长度...) Configuration pu…...

远离危险的购买手机的渠道

今年上半年从淘宝特价版上面的官方旗舰店买了一个oppo手机,第一次买我打算不要了,所以就退了回去,过了几天我又觉得还是买一个比较好,所以就又买了一个,型号我绝不说了700-1000z这个价位的手机带个高通骁龙芯片的&…...

外包干了2个多月,技术明显有退步了。。。。。

先说一下自己的情况,本科生,19年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...

【Java项目管理工具】Maven

Maven 文章目录 Maven一、简介二、安装和配置三、GAVP四、IDEA Maven Java Web工程五、插件、命令、生命周期六、依赖配置七、构建配置八、依赖传递与依赖冲突九、Maven工程继承和聚合关系9.1 工程继承关系9.2 工程聚合关系 十、Maven私服10.1 Nexus下载安装10.2 Nexus上的各种…...

solidity案例详解(六)服务评价合约

有服务提供商和用户两类实体,其中服务提供商部署合约,默认诚信为true,用户负责使用智能合约接受服务及评价,服务提供商的评价信息存储在一个映射中,可以根据服务提 供商的地址来查找评价信息。用户评价信息&#xff0c…...

使用kubeadm搭建高可用的K8s集群

文章目录 1. 安装要求2. 准备环境3. 所有master节点部署keepalived3.1 安装相关包和keepalived3.2配置master节点3.3 启动和检查 4. 部署haproxy4.1 安装4.2 配置4.3 启动和检查 5. 所有节点安装Docker/kubeadm/kubelet5.1 安装Docker5.2 添加阿里云YUM软件源5.3 安装kubeadm&a…...

C#图像处理OpenCV开发指南(CVStar,07)——通用滤波(Filter2D)的实例代码

1 函数定义 void Filter2D (Mat src, Mat dst, int ddepth, InputArray kernel, Point anchor Point(-1,-1), double delta 0, int borderType BORDER_DEFAULT ) 1.1 原型 #include <opencv2/imgproc.hpp> Convolves an image wit…...

c++函数模板STL详解

函数模板 函数模板语法 所谓函数模板&#xff0c;实际上是建立一个通用函数&#xff0c;其函数类型和形参类型不具体指定&#xff0c;用一个虚拟的类型来代表。这个通用函数就称为函数模板。 凡是函数体相同的函数都可以用这个模板来代替&#xff0c;不必定义多个函数&#xf…...

Java利用UDP实现简单群聊

一、创建新项目 首先新建一个新的项目&#xff0c;并按如下操作 二、实现代码 界面ChatFrame类 package 群聊; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.InetAddress; public abstract class ChatFrame extends JFrame { p…...

fastapi.templating与HTMLResponse

要声明一个模板对象&#xff0c;应将存储html模板的文件夹作为参数提供。在当前工作目录中&#xff0c;我们将创建一个 “templates “目录。 templates Jinja2Templates(directory“templates”) 我们现在要把这个页面的HTML代码渲染成HTMLResponse。让我们修改一下hello()函…...

当初为什么选择计算机这类的行业?

CSDN给了这么一个话题&#xff1a; 还记得当初自己为什么选择计算机&#xff1f; 当初你问我为什么选择计算机&#xff0c;我笑着回答&#xff1a;“因为我梦想成为神奇的码农&#xff01;我想像编织魔法一样编写程序&#xff0c;创造出炫酷的虚拟世界&#xff01;”谁知道&…...

tif文件转png、Excel

l利用gdal读取tif中的地理信息和波段数组&#xff0c;然后保存想要的格式即可。 from osgeo import gdal from PIL import Image import numpy as np import cv2 as cv from matplotlib import pyplot as plt# 读取.tif文件 def read_tif(file_path):dataset gdal.Open(file_…...

【PyTorch】训练过程可视化

文章目录 1. 训练过程中的可视化1.1. alive_progress1.2. rich.progress 2. 训练结束后的可视化2.1. tensorboardX2.1.1. 安装2.1.2. 使用 1. 训练过程中的可视化 主要是监控训练的进度。 1.1. alive_progress 安装 pip install alive_progress使用 from alive_progress i…...

深入理解Go语言GC机制

1、Go 1.3之前的标记-清除&#xff08;mark and sweep&#xff09;算法 Go 1.3之前的时候主要用的是普通的标记-清除算法&#xff0c;此算法主要由两个主要的步骤&#xff1a; 标记&#xff08;Mark phase&#xff09;清除&#xff08;Sweep phase&#xff09; 1&#xff09…...

qt-C++笔记之组件-分组框QGroupBox

qt-C笔记之组件-分组框QGroupBox code review! 文章目录 qt-C笔记之组件-分组框QGroupBox1.《Qt 6 C开发指南》p752.《Qt 官方文档》3.《Qt 5.12实战》——5.9 分组框控件 1.《Qt 6 C开发指南》p75 2.《Qt 官方文档》 中间段落翻译&#xff1a; 我把示例补充完整&#xff1a; …...

qt 定时器用法

在qt开发中&#xff0c;定时器是我们经常用到的。我们接下来说一下定时器的三种用法&#xff0c;需要注意的是定时器事件是在主线程中触发的&#xff0c;因此在处理耗时操作时应特别小心&#xff0c;以避免阻塞应用程序的事件循环。 1. 三种定时器使用 1.1 QObject的定时器 …...

用23种设计模式打造一个cocos creator的游戏框架----(九)访问者模式

1、模式标准 模式名称&#xff1a;访问者模式 模式分类&#xff1a;行为型 模式意图&#xff1a;将数据操作与数据结构分离&#xff0c;使得在不修改数据结构的前提下&#xff0c;可以添加或改变对数据的操作。 结构图&#xff1a; 适用于&#xff1a; 当你需要对一个复杂对…...

根文件系统初步测试

一. 简介 上一篇文章学习了向所编译生成的根文件系统中加入 lib库文件。文章地址如下&#xff1a; 根文件系统lib库添加与初步测试-CSDN博客 本文继上一篇文章的学习&#xff0c;本文对之前制作的根文件系统进行一次初步测试。 二. 根文件系统初步测试 为了方便测试&#…...

【精选】设计模式——策略设计模式-两种举例说明,具体代码实现

Java策略设计模式 简介 策略设计模式是一种行为型设计模式&#xff0c;它允许在运行时选择算法的行为。 在软件开发中&#xff0c;我们常常需要根据不同情况采取不同的行为。通常的做法是使用大量的条件语句来实现这种灵活性&#xff0c;但这会导致代码变得复杂、难以维护和扩…...

外包干了3个月,技术倒退2年。。。

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…...

微信小程序:chooseimage从本地相册选择图片或使用相机拍照

文档 https://uniapp.dcloud.net.cn/api/media/image.html#chooseimage https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.chooseImage.html 代码示例 const res await uni.chooseImage({count: 1, //默认9sizeType: [original, compressed], //可以…...

「Swift」取消UITableView起始位置在状态栏下方开始

前言&#xff1a;在写页面UI时发现&#xff0c;当隐藏了NavigationBar时&#xff0c;即使UITableView是从(0,0)进行布局&#xff0c;也会一直在手机状态栏下方进行展示布局&#xff0c;而我的想法是希望UITableView可以从状态栏处就进行展示布局 当前页面展示&#xff1a; 问题…...

android高版本适配使用Tools.java

随着android版本的提升&#xff0c;原生Tools不公开并且不能被正常使用&#xff0c;为了延续项目的功能&#xff0c;修改如下&#xff1a; /** Copyright (C) 2006 The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License&quo…...

面试官:说说webpack中常见的Loader?解决了什么问题?

面试官&#xff1a;说说webpack中常见的Loader&#xff1f;解决了什么问题&#xff1f; 一、是什么 loader 用于对模块的"源代码"进行转换&#xff0c;在 import 或"加载"模块时预处理文件 webpack做的事情&#xff0c;仅仅是分析出各种模块的依赖关系&a…...

【蓝桥杯省赛真题50】Scratch智能计价器 蓝桥杯scratch图形化编程 中小学生蓝桥杯省赛真题讲解

目录 scratch智能计价器 一、题目要求 编程实现 二、案例分析 1、角色分析...

折半查找(数据结构实训)

题目&#xff1a; 标准输入输出 题目描述&#xff1a; 实现折半查找。要求查找给定的值在数据表中相应的存储位置。本题目假定输入元素均按非降序输入。 输入&#xff1a; 输入包含若干个测试用例&#xff0c;第一行为测试用例个数k。每个测试用例占3行&#xff0c;其中第一行为…...

AR助推制造业智能转型:实时远程协作与可视化引领生产创新

制造商面临着多方面的变革&#xff0c;技术的兴起催生了工业物联网&#xff08;IIoT&#xff09;&#xff0c;改变了现代工厂的外貌、系统和流程。同时&#xff0c;全球竞争压力和不断变化的员工队伍要求采用新的员工培训方法&#xff0c;并重新审视工人在工厂中的角色。尽管如…...

【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇3(附项目源码)

文章目录 本节最终效果前言素材人物移动音效枪口火焰和开火音效枪口灯光弹孔和火花添加武器随镜头手臂摇摆效果源码完结 本节最终效果 前言 本节主要实现添加音效&#xff0c;和一些特效、武器摆动调整。 素材 素材&#xff0c;为了方便我直接用了unity免费的音效输出&#…...

sed 流式编辑器

使用方式&#xff1a; 1&#xff0c;前置指令 | sed 选项 定址符指令 2&#xff0c;sed 选项 定址符指令 被处理文档 选项&#xff1a; -n 屏蔽默认输出 -i写入文件 -r支持扩展正则 指令&#xff1a; p输出 d删除 s替换 sed -n 1p user //输出第1行 sed -n…...

Linux shell编程学习笔记33:type 命令

目录 0 引言1 type 命令的功能和格式 1.1 type命令的功能1.2 type 命令的格式2 type命令用法实例 2.1用type命令查看shell内置命令&#xff08;以echo命令为例&#xff09;2.2 用type命令查看别名&#xff08;以ls命令为例&#xff09;2.3 用type命令同时查看shell内置命令和别…...

【数据结构】—红黑树(C++实现)

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 &#x1f49c;本文前置知识&#xff1a; AVL树 ♈️今日夜电波&#xff1a;Letter Song—ヲタみん 1:36━━━━━━️&#x1f49f;──────── 5:35 …...

内衣洗衣机和手洗哪个干净?高性价比内衣洗衣机推荐

通常来说&#xff0c;我们的内衣裤对卫生要求比较高&#xff0c;毕竟是贴身穿的&#xff0c;所以如果和一般的衣物一起洗&#xff0c;就怕会有细菌互相感染。所以很多用户为了内衣裤的卫生都会选择自己手动洗&#xff0c;但手洗一方面很费时间和人力&#xff0c;另一方面又很伤…...

TikTok与互动广告:品牌如何打破传统界限

随着数字时代的蓬勃发展&#xff0c;广告行业也经历了翻天覆地的变革。在这个变革的浪潮中&#xff0c;TikTok作为一款崭新的社交媒体平台&#xff0c;通过其独特的短视频形式为品牌提供了全新的互动广告机会。 本文将深入探讨TikTok与互动广告的结合&#xff0c;以及品牌如何…...