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

【小沐学Unity3d】3ds Max 骨骼动画制作(CAT、Character Studio、Biped、骨骼对象)

文章目录

  • 1、简介
  • 2、 CAT
    • 2.1 加载 CATRig 预设库
    • 2.2 从头开始创建 CATRig
  • 3、character studio
    • 3.1 基本描述
    • 3.2 Biped
    • 3.3 Physique
  • 4、骨骼系统
    • 4.1 创建方法
    • 4.2 简单示例
  • 结语

1、简介

官网地址:
https://help.autodesk.com/view/3DSMAX/2018/CHS
https://help.autodesk.com/view/3DSMAX/2019/CHS
https://help.autodesk.com/view/3DSMAX/2020/CHS
https://help.autodesk.com/view/3DSMAX/2021/CHS
https://help.autodesk.com/view/3DSMAX/2022/CHS

3ds Max 包含两套完整的对各个角色设置动画的独立子系统(即 CAT 和 character studio),以及一个独立的群组模拟填充系统。CAT 和 character studio 均提供可高度自定义的内置、现成角色绑定,可采用 Physique 或蒙皮修改器对角色绑定应用蒙皮,两套系统均与诸多运动捕捉文件格式兼容。每套系统都具有其独到之处,且功能强大,但两者之间也存在明显区别。
在这里插入图片描述

2、 CAT

CAT 虽然非常复杂,但在某些方面比 character studio 角色动画系统更简单。使用 CAT,可以更轻松地装备和制作多腿角色和非类人角色的动画,它也可以很逼真地制作类人角色的动画。CAT 的内置装备包括许多多肢生物,例如,具有 4 条腿和一对翅膀的龙、蜘蛛和具有 18 条腿的蜈蚣。通过使用基于图形的 CATMotion 编辑器,可以沿着路径轻松设置这些生物的动画,而不会产生脚步滑动效果。CATMotion 最适合通过调整躯干部位(如骨盆)的参数来实时修改循环运动;这些参数包括“扭曲”、“滚动”、“上下倾斜”、“抬起”和“推力”。

另一个强大而使用简单的 CAT 功能是分层系统,此分层系统可在 CATMotion(适用于个别躯干部位循环)和整个装备层级使用,并在这两个层级设置关键帧权重。后一种情况支持对层进行颜色编码,因此,您很容易看到在任意给定时间参与运动的层。CAT 还支持混合 FK 和 IK,以进行自定义控制。

最后,CAT 提供肌肉和肌肉股对象,以模拟角色肌肉组织。
在这里插入图片描述
CATRig 是定义 CAT 骨骼动画系统的层次。它是一个快速、复杂而又灵活多变的角色装备,旨在用于创建您需要的角色,而不必编写脚本。

CATRig 角色装备尽可能保持了结构通用性,这为它赋予了极大的灵活性。通过 CAT 模块合成设计,脊椎也可以用作颈部。CAT 采用多个连接部,而不会采用骨盆和胸腔,肢体和其他部位从骨盆和胸腔延伸而出。可以添加和移除不同装备元素,以便获取您的角色所需的确切骨骼。

2.1 加载 CATRig 预设库

CAT 为人体、动物、昆虫、机器人等提供了一个预设装备库。
您可以从头开始创建 CATRig,但是,最简单的方法通常是:加载最符合您的要求的装备,并在此基础上进行编辑。您可以随时将自定义 CATRig 另存为新预设,以供以后重用。此方法可在整个 CAT 中使用;加载最符合您的要求的预设,对此进行编辑以符合您的目标,然后将结果另存为新预设。

在这里插入图片描述

2.2 从头开始创建 CATRig

  • 打开 “创建”面板,然后单击 (辅助对象)。

  • 打开面板顶部的下拉列表,并选择“CAT 对象”。

  • 单击“CATParent”按钮。

  • 在“CATRig 加载保存”卷展栏上的列表中,确保高亮显示“<无>”,然后将该对象拖动到“透视”或“顶”视口,以便添加 CATParent 对象。
    在这里插入图片描述

  • 选择该 CATParent,然后转到“修改”面板。
    在这里插入图片描述

  • 在“CATRig 加载保存”卷展栏底部,单击“创建骨盆”。
    该骨盆随即显示在视口中,并处于 CATParent 正中央的上方。

  • 选择骨盆。此骨盆是连接部的一个示例,选择该骨盆之后,“修改”面板上将显示“连接部设置”卷展栏。您可以从此卷展栏添加腿、手臂、脊椎、尾部、附加骨骼和其他装备对象(小道具、备件等)。
    在这里插入图片描述

  • 在“连接部设置”卷展栏上,单击两次“添加腿”。
    此时将在骨盆的两个相对面添加两条腿。
    在这里插入图片描述
    依次添加其他部位。现在,您即已创建基本 CATRig。所有示例 CATRig 都是使用上述方法的变化形式创建的,因此,您可以看出只需使用少数几个基本工具即可创建众多 CATRig。
    在这里插入图片描述

3、character studio

3.1 基本描述

Character Studio 包括丰富的角色动画工具集,可用于多腿角色,但主要用于两足动物装备;因此其基本装备对象的名称为:Biped。同时,character studio 也包括用于为角色绑定应用蒙皮的 Physique 修改器部件。Physique 可用于除 Biped 以外的装备对象,并提供用户可定义的刚性和变形蒙皮分段等功能。第三个 character studio 组件为群组,用于对具有回避行为、随机运动行为和曲面跟随行为的大型角色组设置程序动画。
在这里插入图片描述

  • character studio 由以下三个基本组件组成:
    • Biped® 提供创建骨骼并设置骨骼动画的工具。
    • Physique® 修改器可以将骨骼和角色网格对象相关联,因此您可以控制含骨骼的网格。
    • 群组 提供创建动画对象群组并制作其动画效果的工具,包括 Biped。

3.2 Biped

Biped 是最先进、功能最强大的 character studio 组件。其功能包括创建程序足迹(行走)、自由形式动画、一个名为“工作台”的专用动画编辑器,以及一个名为运动混合器的非线性动画功能(也可用于一般动画)。此外,运动流功能还提供随机脚本生成、程序过渡等功能。
在这里插入图片描述

Biped 是一个 3ds Max 组件,可以从“创建”面板访问。在创建 Biped 后,使用“运动”面板中的“Biped 控制”动画它。通过 Biped 提供的工具,您可以设计角色的体形和运动并设置其动画。
character studio 用于互换运动和角色。在体形模式中,使 Biped 与角色模型匹配。在关键帧模式中,动画骨骼。可将为 Biped 创建的运动保存并加载到其他身体特征不同的 Biped 骨骼上。

3.3 Physique

使用 Physique 修改器可将蒙皮附加到骨骼结构上,比如 Biped。蒙皮是一个 3ds Max 对象:它可以是任何可变形的、基于顶点的对象,如网格、面片或图形。当以附加蒙皮制作骨骼动画时,Physique 使蒙皮变形,以与骨骼移动相匹配。
在这里插入图片描述

4、骨骼系统

骨骼系统是骨骼对象的一个有关节的层次链接,可用于设置其他对象或层次的动画。

在设置具有连续皮肤网格的角色模型的动画方面,骨骼尤为有用。可以采用正向运动学或反向运动学为骨骼设置动画。对于反向运动学,骨骼可以使用任何可用的 IK 解算器,或者交互式 IK 或应用式 IK。

由于实际作用的是骨骼的轴点位置而不是实际的骨骼几何体,因此可将骨骼视为关节。可将几何体视作从轴点到骨骼子对象纵向绘制的一个可视辅助工具。子对象通常是另一个骨骼。

基本骨骼系统是一个首尾相接的骨骼层次链,只需使用一个命令即可创建。

4.1 创建方法

  • 方法1:在 “创建”面板上,单击 (系统)。在“对象类型”卷展栏中,单击“骨骼”按钮。
  • 方法2:使用“骨骼工具”上的“创建骨骼”“骨骼编辑工具”卷展栏。“创建”菜单(标准)和“对象”菜单(增强型)也提供了用于创建骨骼的命令。

在这里插入图片描述

  • 方法3:您可以将任意对象(如圆柱体或长方体)用作骨骼,控制其动画,就好像它们是骨骼系统中的骨骼一样。您可以将 IK 解算器应用于骨骼对象。
    选择层次中链接的多个对象。 > “动画”菜单 > “骨骼工具” > “对象属性”卷展栏 > “启用骨骼”。

https://help.autodesk.com/view/3DSMAX/2018/CHS/?guid=GUID-E08D0050-23FF-4F6D-9A7F-A4651FABA22B

  • 方法3(1)决定要用作骨骼的对象,然后将它们一起链接到层次。
  • 方法3(2)选择所有对象。选择“动画”菜单 “骨骼工具”。将打开浮动“骨骼工具”对话框。在“对象属性”卷展栏上,启用“启用骨骼”。3ds Max 现在将选定对象视为骨骼。

4.2 简单示例

创建几节的骨骼,如下:
在这里插入图片描述
创建对应数量的长方体模型,如下:
在这里插入图片描述
鼠标选择一个长方体后,鼠标点击工具栏的按钮”对齐“,再在一个骨骼对象上点击鼠标,弹出如下窗口,设置相关参数,如下:
在这里插入图片描述
此时骨骼和长方体的轴向还没有对齐,通过如下操作修改局部坐标轴:
在这里插入图片描述
修改当前的坐标系统为"局部":
在这里插入图片描述
鼠标右键操作,将长方体旋转操作:
在这里插入图片描述
点击旋转菜单后面的小方块图标后,弹出如下窗口,设置旋转角度为90度:
在这里插入图片描述
旋转后两者的轴向完全对齐。
在这里插入图片描述
依次对其他长方体进行操作:
在这里插入图片描述
依次将长方体和骨骼对象链接起来:
在这里插入图片描述

接着做动画:

  • (1)切换成自动关键帧模式。
  • (2)分别移动或旋转各个骨骼对象,形成动画关键帧
  • (3)制作成完整动画
    在这里插入图片描述
  • 3ds Max基础常用快捷键大全:
显示降级适配(开关)———O
适应透视图格点———Shift+Ctrl+A
排列———Alt+A
角度捕捉(开关)———A
动画模式(开关)———N
改变到后视图———K
背景锁定(开关)———Alt+Ctrl+B
前———时间单位———.
下———时间单位———,
改变到上(Top)视图———T
改变到底(Bottom)视图———B
改变到相机(Camera)视图———C
改变到前(Front)视图———F
改变到等大的用户(User)视图———U
改变到右(Right)视图———R
改变到透视(Perspective)图———P
循环改变选择方式———Ctrl+F
默认灯光(开关)———Ctrl+L
删除物体———DEL
当前视图暂时失效———D
是否显示几何体内框(开关)———Ctrl+E
显示第———个工具条———Alt+1
专家模式全屏(开关)———Ctrl+X
暂存(Hold)场景———Alt+Ctrl+H
取回(Fetch)场景———Alt+Ctrl+F
冻结所选物体———6
跳到最后———帧———END
跳到第———帧———HOME
显示/隐藏相机(Cameras)———Shift+C
显示/隐藏几何体(Geometry)———Shift+O
显示/隐藏网格(Grids)———G
显示/隐藏帮助(Helpers)物体———Shift+H
显示/隐藏光源(Lights)———Shift+L
显示/隐藏粒子系统(ParticleSystems)———Shift+P
显示/隐藏空间扭曲(SpaceWarps)物体———Shift+W
锁定用户界面(开关)———Alt+0
匹配到相机(Camera)视图———Ctrl+C
材质(Material)编辑器———M
最大化当前视图(开关)———W
脚本编辑器———F11
新的场景———Ctrl+N
法线(Normal)对齐———Alt+N
向下轻推网格———小键盘-
向上轻推网格———小键盘+
NURBS表面显示方式———Alt+L或Ctrl+4
NURBS调整方格1———Ctrl+1
NURBS调整方格2———Ctrl+2
NURBS调整方格3———Ctrl+3
偏移捕捉———Alt+Ctrl+空格
打开———个MAX文件———Ctrl+O
平移视图———Ctrl+P
交互式平移视图———I
放置高光(Highlight)———Ctrl+H
播放/停止动画———/
快速(Quick)渲染———Shift+Q
回到上———场景*作———Ctrl+A
回到上———视图*作———Shift+A
撤消场景*作———Ctrl+Z
撤消视图*作———Shift+Z
刷新所有视图———1
用前———次的参数进行渲染———Shift+E或F9
渲染配置———Shift+R或F10
在xy/yz/zx锁定中循环改变———F8
约束到X轴———F5
约束到Y轴———F6
约束到Z轴———F7
旋转(Rotate)视图模式———Ctrl+R或V
保存(Save)文件———Ctrl+S
透明显示所选物体(开关)———Alt+X
选择父物体———PageUp
选择子物体———PageDown
根据名称选择物体———H
选择锁定(开关)———空格
减淡所选物体的面(开关)———F2
显示所有视图网格(Grids)(开关)———Shift+G
显示/隐藏命令面板———3
显示/隐藏浮动工具条———4
显示最后———次渲染的图画———Ctrl+I
显示/隐藏主要工具栏———Alt+6
显示/隐藏安全框———Shift+F
*显示/隐藏所选物体的支架———J
显示/隐藏工具条———Y/2
百分比(Percent)捕捉(开关)———Shift+Ctrl+P
打开/关闭捕捉(Snap)———S
循环通过捕捉点———Alt+空格
声音(开关)———\\
间隔放置物体———Shift+I
改变到光线视图———Shift+4
循环改变子物体层级———Ins
子物体选择(开关)———Ctrl+B
帖图材质(Texture)修正———Ctrl+T
加大动态坐标———+
减小动态坐标———-
激活动态坐标(开关)———X
精确输入转变量———F12
全部解冻———7
根据名字显示隐藏的物体———5
刷新背景图像(Background)———Alt+Shift+Ctrl+B
显示几何体外框(开关)———F4
视图背景(Background)———Alt+B
用方框(Box)快显几何体(开关)———Shift+B
打开虚拟现实———数字键盘1
虚拟视图向下移动———数字键盘2
虚拟视图向左移动———数字键盘4
虚拟视图向右移动———数字键盘6
虚拟视图向中移动———数字键盘8
虚拟视图放大———数字键盘7
虚拟视图缩小———数字键盘9
实色显示场景中的几何体(开关)———F3
全部视图显示所有物体———Shift+Ctrl+Z
*视窗缩放到选择物体范围(Extents)———E
缩放范围———Alt+Ctrl+Z
视窗放大两倍———Shift+数字键盘+
放大镜工具———Z
视窗缩小两倍———Shift+数字键盘-
根据框选进行放大———Ctrl+w
视窗交互式放大———[
视窗交互式缩小———]三、轨迹视图
加入(Add)关键帧———A
前———时间单位———
下———时间单位———
编辑(Edit)关键帧模式———E
编辑区域模式———F3
编辑时间模式———F2
展开对象(Object)切换———O
展开轨迹(Track)切换———T
函数(Function)曲线模式———F5或F
锁定所选物体———空格
向上移动高亮显示———↓
向下移动高亮显示———↑
向左轻移关键帧———←
向右轻移关键帧——————
位置区域模式———F4
回到上———场景*作———Ctrl+A
撤消场景*作———Ctrl+Z
用前———次的配置进行渲染———F9
渲染配置———F10
向下收拢———Ctrl+↓
向上收拢———Ctrl+↑四、材质编辑器
用前———次的配置进行渲染———F9
渲染配置———F10
撤消场景*作———Ctrl+Z
示意(Schematic)视图
下———时间单位———
前———时间单位———
回到上———场景*作———Ctrl+A
撤消场景*作———Ctrl+Z
Active———Shade
绘制(Draw)区域———D
渲染(Render)———R
锁定工具栏(泊坞窗)———空格五、NURBS编辑
CV约束法线(Normal)移动———Alt+N
CV约束到U向移动———Alt+U
CV约束到V向移动———Alt+V
显示曲线(Curves)———Shift+Ctrl+C
显示控制点(Dependents)———Ctrl+D
显示格子(Lattices)———Ctrl+L
NURBS面显示方式切换———Alt+L
显示表面(Surfaces)———Shift+Ctrl+s
显示工具箱(Toolbox)———Ctrl+T
显示表面整齐(Trims)———Shift+Ctrl+T
根据名字选择本物体的子层级———Ctrl+H
锁定2D———所选物体———空格
选择U向的下———点———Ctrl+———
选择V向的下———点———Ctrl+↑
选择U向的前———点———Ctrl+←
选择V向的前———点———Ctrl+↓
根据名字选择子物体———H
柔软所选物体———Ctrl+s转换到Curve———CV———层级———Alt+Shift+Z
转换到Curve———层级———Alt+Shift+C
转换到Imports———层级———Alt+Shift+I
转换到Point———层级———Alt+Shift+P
转换到Surface———CV———层级———Alt+Shift+V
转换到Surface———层级———Alt+Shift+S
转换到上———层级———Alt+Shift+T
转换降级———Ctrl+X六、反应堆(Reactor)
建立(Create)反应(Reaction)———Alt+Ctrl+C
删除(Delete)反应(Reaction)———Alt+Ctrl+D
编辑状态(State)切换———Alt+Ctrl+s
设置最大影响(Influence)———Ctrl+I
设置最小影响(Influence)———Alt+I
设置影响值(Value)———Alt+Ctrl+V
ActiveShade———(Scanline七、视频编辑
加入过滤器(Filter)项目———Ctrl+F
加入输入(Input)项目———Ctrl+I
加入图层(Layer)项目———Ctrl+L
加入输出(Output)项目———Ctrl+O
加入(Add)新的项目———Ctrl+A
加入场景(Scene)事件———Ctrl+s
编辑(Edit)当前事件———Ctrl+E
执行(Run)序列———Ctrl+R
新(New)的序列———Ctrl+N
撤消场景*作———Ctrl+Z

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

相关文章:

【小沐学Unity3d】3ds Max 骨骼动画制作(CAT、Character Studio、Biped、骨骼对象)

文章目录 1、简介2、 CAT2.1 加载 CATRig 预设库2.2 从头开始创建 CATRig 3、character studio3.1 基本描述3.2 Biped3.3 Physique 4、骨骼系统4.1 创建方法4.2 简单示例 结语 1、简介 官网地址&#xff1a; https://help.autodesk.com/view/3DSMAX/2018/CHS https://help.aut…...

CUDA说明和安装[window]

文章目录 1、查看版本信息查看GPU查看cuda版本其他方法 2区分 了解cudaCUDA ToolkitNVCCcuDNN 3/ 安装过程4/版本的问题CUDA Toolkit和 显卡驱动 的版本对应CUDA / CUDA Toolkit和cuDNN的版本对应 5/关于CUDA和Cudnn**5.1 CUDA的命名规则****5.2 如何查看自己所安装的CUDA的版本…...

sqlserver2012性能优化配置:设置性能相关的服务器参数

前言 sqlserver2012 长时间运行的话会将服务器的内存占满 解决办法 通过界面设置 下图中设置最大服务器内存 通过执行脚本设置 需要先开发开启高级选项配置才能设置成功 设置完成之后将高级选择配置关闭&#xff0c;还原成跟之前一样 --可以配置高级选项 EXEC sp_conf…...

介绍 dubbo-go 并在Mac上安装,完成一次自己定义的接口RPC调用

目录 RPC 远程调用的说明作用&#xff1a;像调用本地方法一样调用远程方法和直接HTTP调用的区别&#xff1a;调用模型图示&#xff1a; Dubbo 框架说明Dubbo Go 介绍应用 Dubbo Go环境安装&#xff08;Mac 系统&#xff09;安装 Go语言环境安装 序列化工具protoc安装 dubbogo-c…...

目标检测数据集:摄像头成像吸烟检测数据集(自己标注)

1.专栏介绍 ✨✨✨✨✨✨目标检测数据集✨✨✨✨✨✨ 本专栏提供各种场景的数据集,主要聚焦:工业缺陷检测数据集、小目标数据集、遥感数据集、红外小目标数据集,该专栏的数据集会在多个专栏进行验证,在多个数据集进行验证mAP涨点明显,尤其是小目标、遮挡物精度提升明显的…...

Unity的UI管理器

1、代码 public class UIManager {private static UIManager instance new UIManager();public static UIManager Instance > instance;//存储显示着的面板脚本&#xff08;不是面板Gameobject&#xff09;&#xff0c;每显示一个面板就存入字典//隐藏的时候获取字典中对…...

Mp4文件提取详细H.264和MP3文件

文章目录 Mp4文件提取为H.264和MP3文件**提取视频为H.264&#xff1a;****提取音频为MP3&#xff1a;** 点赞收藏加关注&#xff0c;追求技术不迷路&#xff01;&#xff01;&#xff01;欢迎评论区互动。 Mp4文件提取为H.264和MP3文件 要将视频分开为H.264&#xff08;视频编…...

Qt应用程序连接达梦数据库-飞腾PC麒麟V10

目录 前言1 安装ODBC1.1 下载unixODBC源码1.2 编译安装1.4 测试 2 编译QODBC2.1 修改 qsqldriverbase.pri 文件2.2 修改 odbc.pro 文件2.3 编译并安装QODBC 3 Qt应用程序连接达梦数据库测试4 优化ODBC配置&#xff0c;方便程序部署4.1 修改pro文件&#xff0c;增加DESTDIR 变量…...

2023-09-03 LeetCode每日一题(消灭怪物的最大数量)

2023-09-03每日一题 一、题目编号 1921. 消灭怪物的最大数量二、题目链接 点击跳转到题目位置 三、题目描述 你正在玩一款电子游戏&#xff0c;在游戏中你需要保护城市免受怪物侵袭。给你一个 下标从 0 开始 且长度为 n 的整数数组 dist &#xff0c;其中 dist[i] 是第 i …...

绘图 | MATLAB

目的语法注意事项图片中出现网格grid on放在plot后面在同一图片中绘制多个图例hold on在图形中添加图例legend LineSpec 线性 线型描述线型描述" - "实线" : "点线" - - "虚线" -. "点划线 标记 标记描述标记描述“o”圆圈“squa…...

2023年下半年高项考试学习计划

之前总结 2023年上半年的考试&#xff0c;对于我自己&#xff0c;就是虎头蛇尾&#xff0c;也谈不上太过自信&#xff0c;好好学习了一段时间之后&#xff0c;也就是不再发博文&#xff0c;截止到2022年11月的时候&#xff0c;自己就算是放弃了&#xff0c;没有再主动学习。 结…...

SpringBoot中CommandLineRunner的使用

开发中&#xff0c;你有没有遇到这样的场景&#xff0c;项目启动后&#xff0c;立即需要进行一些操作。比如&#xff1a;加载一些初始化数据、执行一段逻辑代码。你可以使用SpringBoot中CommandLineRunner。它可以在项目启动后&#xff0c;执行CommandLineRunner接口实现类的相…...

<OpenCV> Mat属性

OpenCV的图像数据类型可参考之前的博客&#xff1a;https://blog.csdn.net/thisiszdy/article/details/120238017 OpenCV-Mat类型的部分属性如下&#xff1a; size&#xff1a;矩阵的大小&#xff0c; s i z e ( c o l s , r o w s ) size(cols,rows) size(cols,rows)&#xf…...

LAMP 综合实验

LAMP 综合实验 一.实验目标 实验目标如下&#xff1a; 实现 LAMP 架构 实现数据库主从复制 实现 NFS 服务器存储 wordpress 文件 实现备份服务器实时备份 NFS 服务器文件 实现日志集中存储 实现 loganalyzer 分析展示日志 二.实验准备 2.1 实验环境 实验环境: 虚拟机版本: VM…...

JavaScript发展历程

目录 一、起源&#xff08;1995-1997&#xff09; 二、发展&#xff08;1997-2005&#xff09; 三、进化——Ajax与Web 2.0&#xff08;2005-2010年&#xff09; 四、移动互联网与现代化&#xff08;2010年至今&#xff09; 结论 JavaScript是一种广泛使用的网络编程语言&…...

LP(六十九)智能文档助手升级

本文在笔者之前研发的大模型智能文档问答项目中&#xff0c;开发更进一步&#xff0c;支持多种类型文档和URL链接&#xff0c;支持多种大模型接入&#xff0c;且使用更方便、高效。 项目介绍 在文章NLP&#xff08;六十一&#xff09;使用Baichuan-13B-Chat模型构建智能文档中…...

VIM统计搜索关键词命令

:%s/./&/gn 统计字符数 :%s/\i\/&/gn 统计单词数 :%s/^//n 统计行数 :%s/keyword/&/g 统计任何地方出现的 "keyword" :%s/keyword/&/gn 统计任何地方出现的 "keyword" :%s/keyword/&#xff1a;这部分是 Vi…...

0017Java程序设计-spr农业过程化管理系统

摘 要目 录系统设计开发环境 摘 要 本农业过程化管理系统就是建立在充分利用现在完善科技技术这个理念基础之上&#xff0c;并使用IT技术进行对农业过程化的管理&#xff0c;从而保证种植户能种植出优质的农作物&#xff0c;可以实现农业过程化的在线管理&#xff0c;这样保证…...

以可视化方式解释 Go 并发 - 通道

在并发编程中&#xff0c;许多编程语言采用共享内存/状态模型。然而&#xff0c;Go 通过实现 通信顺序进程 (CSP) 区别于众多语言。在 CSP 中&#xff0c;一个程序由并行的进程组成&#xff0c;这些进程不共享状态&#xff0c;而是使用通道进行通信和同步它们的操作。因此&…...

kafka学习-生产者

目录 1、消息生产流程 2、生产者常见参数配置 3、序列化器 基本概念 自定义序列化器 4、分区器 默认分区规则 自定义分区器 5、生产者拦截器 作用 自定义拦截器 6、生产者原理解析 1、消息生产流程 2、生产者常见参数配置 3、序列化器 基本概念 在Kafka中保存的数…...

【Python】设计模式

设计模式分为三种类型&#xff0c;共23类。 创建型模式&#xff1a;单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。结构型模式&#xff1a;适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。行为型模式&#xff1a;模版方法模式、命令模…...

C++ 数字

C 数字 通常&#xff0c;当我们需要用到数字时&#xff0c;我们会使用原始的数据类型&#xff0c;如 int、short、long、float 和 double 等等。这些用于数字的数据类型&#xff0c;其可能的值和数值范围&#xff0c;我们已经在 C 数据类型一章中讨论过。 C 定义数字 我们已…...

code阶段——gitgitlab安装

在code阶段&#xff0c;我们需要将不同版本的代码存储到一个仓库中&#xff0c;常见的版本控制工具就是SVN或者Git&#xff0c;这里我们采用Git作为版本控制工具&#xff0c;GitLab作为远程仓库。 Git安装 https://git-scm.com/&#xff08;傻瓜式安装&#xff09; GitLab安…...

C 风格文件输入/输出---无格式输入/输出

C 标准库的 C I/O 子集实现 C 风格流输入/输出操作。 <cstdio> 头文件提供通用文件支持并提供有窄和多字节字符输入/输出能力的函数&#xff0c;而 <cwchar>头文件提供有宽字符输入/输出能力的函数。 无格式输入/输出 从文件流获取字符 std::fgetc, std::getc …...

Spring-MVC的文件上传下载,及插件的使用(让项目开发更节省时间)

目录 一、概述 ( 1 ) 介绍 ( 2 ) 讲述 二、上传 三、下载 四、jrebel的使用 五、多文件上传 给我们带来什么收获 一、概述 ( 1 ) 介绍 Spring MVC的文件上传下载是指在Spring MVC框架中实现文件的上传和下载功能。文件上传是指将本地计算机上的文件上传到服务器端…...

算法 数据结构 递归冒泡算法 java冒泡算法 优化递归冒泡 数据结构(九)

使用递归算法实现冒泡&#xff1a; package com.nami.algorithm.study.day06;import java.util.Arrays;/*** beyond u self and trust u self.** Author: lbc* Date: 2023-09-05 15:36* email: 594599620qq.com* Description: keep coding*/ public class BubbleSort2 {// p…...

【计算机视觉 | 目标检测】目标检测常用数据集及其介绍(十五)

文章目录 一、STN PLAD (STN Power Line Assets Dataset)二、Satlas三、Street Dataset四、UAVVaste五、UDA-CH (Unsupervised Domain Adaptation on Cultural Heritage)六、USB (Universal-Scale Object Detection Benchmark)七、VEDAI (Vehicle Detection in Aerial Imagery)…...

洛谷P8814:解密 ← CSP-J 2022 复赛第2题

【题目来源】https://www.luogu.com.cn/problem/P8814https://www.acwing.com/problem/content/4732/【题目描述】 给定一个正整数 k&#xff0c;有 k 次询问&#xff0c;每次给定三个正整数 ni&#xff0c;ei&#xff0c;di&#xff0c;求两个正整数 pi&#xff0c;qi&#xf…...

Flutter实现CombineExecutor进行多个异步分组监听,监听第一个异步执行的开始和最后一个异步执行结束时机。

1.场景 我们在调用接口时&#xff0c;很多时候会同时调用多个接口&#xff0c;接口都是异步执行&#xff0c;我们很难知道调用的多个接口哪个会最后执行完成&#xff0c;我们有时候需要对最后一个接口执行完成的时机监听&#xff0c;所以基于该需求&#xff0c;设计了CombineE…...

2023 年最新Java 毕业设计选题题目参考,500道 Java 毕业设计题目,值得收藏

大家好&#xff0c;我是程序员徐师兄&#xff0c;最近有很多同学咨询&#xff0c;说毕业设计了&#xff0c;不知道选怎么题目好&#xff0c;有哪些是想需要注意的。 确实毕设选题实际上对很多同学来说一个大坑&#xff0c; 每年挖坑给自己跳的人太多太多&#xff0c;选题选得好…...