Unity粒子系统ParticleSystem各模块及其参数学习
粒子系统控制面板默认有4个模块:Particle System(主模块),Emission(发射模块),
Shape(形状模块),Renderer(渲染器模块)
1.Particle System模块包含了影响整个粒子系统的全局设置,主要用来初始化粒子系统,例如设置例子初始化时间、循环方式、初始速度、颜色、大小等基本参数
| Duration | 系统运行时长 |
| Looping | 循环播放 |
| Prewarm | 启用后,系统会初始化至已经完成一个完整周期时的状态 |
| Start Delay | 系统运行前的延迟时间 |
| Start Lifetime | 粒子的存活时间 |
| Start Speed | 粒子的初始速度 |
| 3D Start Size | 启用后可以单独控制每个轴的大小(对粒子进行单独方向上的拉伸) |
| Start Size | 粒子初始大小 |
| 3D Start Rotation | 启用后可以单独控制每个轴的旋转 |
| Start Rotation | 粒子初始旋转角度 |
| Flip Rotation | 使一些粒子以相反的方向旋转 |
| Start Color | 粒子的初始颜色 |
| Gravity Modifier | 设置重力值(值为零会关闭重力) |
| Simulation Space | 控制粒子是在父对象的局部空间移动(会与父物体一起移动),或是在世界空间中,还是相对于自定义对象(使用自己选择的自定义对象移动) |
| Simulation Speed | 调整整个粒子系统产生的速度(类似动画快放速度) |
| Delta Time | 在Scaled和Unscaled之间选择,其中Scaled使用Time Manager中的Time Scale值,而Unscaled会忽略它 |
| Scaling Mode | 选择使用变换比例,可设置为Hierarchy、Local或Shape模式。Local模式仅应用粒子系统变换比例,忽略任何父对象。Shape模式将按一定比例应用于粒子的其实位置,但不影响其大小 |
| Play On Awake | 启用后,粒子系统会在创建对象时自动启用(自动播放粒子系统) |
| Emitter Velocity Mode | 选择粒子系统如何计算Inherit Velocity和Emission模块使用的速度。系统可以使用Rigidbody组件或通过跟踪Transform组件的移动来计算速度 |
| Max Particles | 系统中一次性产生的最大粒子数 |
| Auto Random Seed | 启用后,每次播放粒子系统显示形态都不同。否则每次播放时系统都完全相同 |
| Stop Action | 当属于系统的所有粒子都已完成时,可以时系统执行动作。对于循环系统,只有在通过脚本停止系统时才会发生这种情况 Disable---禁用该物体 Destory---销毁该物体 Callback---附加在该物体的任何脚本都会执行OnParticleSystemStopped函数 |
| Culling Mode | 裁剪模式,粒子在屏幕外面时的处理,Automatic(循环粒子-停止更新,非循环-不停止更新)、Pause And Catch-up(停止更新,当返回屏幕时,补齐这段时间的更新,这回产生性能问题)、Pause(停止)、Always Simulate(在不在屏幕外都一直更新) |
| Ring Buffer Mode | 粒子循环利用方式,Disabled(不循环利用)、Pause Until Replaced(当数量达到最大上限时,老的粒子停止,去用于产生新的)、Loop Until Replaced(当粒子生命结束时,加入新利用循环) |
2.Emission模块中的属性会影响粒子系统发射的速率和时间
| Rate over Time | 单位时间发出的粒子数 |
| Rate over Distance | 单位时间发射粒子的移动状态 |
| Bursts | 该设置允许在指定时间发射粒子,效果类似粒子的爆发状态 Time---设置发射脉冲串的时间(以粒子系统开始播 放后的秒数) Count---设置发射的粒子数的约数 Cycles---设置播放爆发次数的值 Interval---设置触发每个脉冲周期之间的时间间隔 Probability---设置每个脉冲触发的可能性(1为100%触发) |
3.Shape模块定义了发射粒子区域(几何体或平面)的形状,以及起始速度的方向,其余模块属性也会根据选择的Shape而变化。
Sphere 球体-向各个方向发射粒子
Hemisphere 半球体-向半球体内各个方向发射粒子
Cone 锥体-向锥体内各个方向发射粒子
…….等
具体参数以Cone Shape锥体为例
| Angle | 锥体在其顶点处的角度,角度为0时呈圆柱体发散粒子,角度为90时呈圆盘形状发散粒子(此时粒子在平面内发射) |
| Radius | 该形状的圆形部分的半径 |
| Radius Thickness | 发射粒子的区域体积比例。值为0时,从形状的外表面发射粒子;值为1时从整个锥体区域中发射粒子,介于两者之间的值将按照一定比例划分粒子数量 |
| Arc | 形成发射器形状的整圆部分的角度偏移,将影响粒子发射角度 |
| Length | 锥体的长度,仅当Emit from属性设置为Volume时适用 |
| Emit from | 锥体部分从以下部位发射粒子:基部或体积 |
| Texture | 用于着色和丢弃粒子的纹理 |
| Clip Channel | 纹理中用于丢弃粒子的通道 |
| Clip Threshold | 将例子映射到纹理上的位置时,丢弃任何像素颜色低于此阈值的像素 |
| Color affects Particles | 通过纹理颜色乘以粒子颜色 |
| Alpha affects Particles | 通过纹理Alpha乘以粒子Alpha |
| Bilinear Filtering | 在读取纹理时,无论纹理尺寸如何,组合4个相邻样本以获得更平滑的粒子颜色变化 |
| Position | 将偏移应用于生成粒子的发射器形状 |
| Rotation | 旋转用于产生粒子的发射器形状 |
| Scale | 更改用于生成粒子的发射器大小 |
| Align to Direction | 根据粒子的初始行进方向定向粒子。如果客户想要模拟汽车油漆块在碰撞过程中飞出汽车车身,这将非常有用。如果方向不满意,用户还可以通过在主模块中应用“开始旋转”值来覆盖它 |
| Randomize Direction | 将粒子方向朝随机方向发射。设置为0时,此设置无效,设置为1时,粒子方向完全随机 |
| Spherize Direction | 将粒子方向朝球面方向发射,从它们的变换中心向外传播。设置为0时,此设置无效,设置为1时,粒子方向与当Shape设置为Sphere时的发射方向相同 |
| Randomize Position | 将粒子位置移动随机量,直至达到指定值。设置为0时,此设置无效。任何其他值都会对粒子的产生位置应用一些随机性 |
4.Renderer模块将确定粒子渲染的图像或网格,以及粒子被其他粒子替换、着色和穿透的属性设置。
| Render Mode | 从图形图像(或网格)生成渲染图像 Billboard---粒子始终面向摄像机 Stretched Billboard---粒子面向摄像机,但应用 了各种缩放 Horizontal Billboard---粒子平面平行于X、Z轴组 成的平面 Vertical Billboard---粒子在世界坐标Y轴上直 立,并面向摄像机 Mesh---粒子是通过3D网格而不是纹理进行渲染None隐藏默认渲染 |
| Normal Direction | 用于粒子图形的照明法线的偏差。值为1指向摄像机的法线,值为0指向屏幕中心(仅限Billboard模式) |
| Material | 用于渲染粒子的材质 |
| Sort Mode | 绘制粒子(因此重叠)的顺序。可能的值是距离(来自摄像机),前面最旧,前面最新,深度。系统中的每个粒子将根据此设置进行排序 |
| Sorting Fudge | 粒子系统排序的偏差。较低的值会增加粒子系统在其他透明GameObject(包括其他粒子系统)上绘制的相对几率。此设置仅影响整个系统在场景中的显示位置-它不对系统中的单个粒子执行排序 |
| Min Particle Size | 最小粒径(无论其他设置如何),表示为视口大小的一小部分。此设置仅在“渲染模式”为“广告牌”时应用 |
| Max Particle Size | 最大粒径(无论其他设置如何),表示为视口大小的一小部分。此设置仅在“渲染模式”为“广告牌”时应用 |
| Render Alignment | 使用下拉列表选择粒子广告牌面向的方向 |
| Flip | 在指定的轴上镜像一定比例的粒子。值越高,翻转的粒子越多 |
| Allow Roll | 控制面向摄影机的粒子是否可以围绕摄影机的Z轴旋转。禁用此功能对VR特别有用应用,其中HMD(头戴式显示器)滚动可能导致粒子系统不希望的粒子旋转 |
| Pivot | 修改用作旋转粒子中心的轴心点 |
| Visualize Pivot | 在Scene视图中预览粒子轴心 |
| Masking | 设定粒子系统渲染的粒子与精灵遮罩交互时的行为方式 No Masking---粒子系统不会与场景中的任何精灵遮罩交互 Visible Inside Mask---粒子在精灵遮罩覆盖它们的位置可见,但不在其外部 Visible Outside Mask---粒子在精灵遮罩外可见, 但在精灵遮罩内不可见。精灵遮罩隐藏其覆盖的粒子部分 |
| Apply Active Color Space | 在“线性颜色空间”(Linear Color Space)中渲染时,系统在将粒 子颜色上载到GPU之前,先从Gamma空间转换粒子颜色 |
| Custom Vertex Streams | 配置材质的“顶点着色器”中可用的粒子属性 |
| Cast Shadows | 如果启用,粒子系统会在阴影投射光 照射到它上时创建阴影 On---启用阴影 Off---禁用阴影 Two Sided----允许从网格的任一侧投射阴影 Shadows Only---使阴影可见,但“网格”本身不可见 |
| Receive Shadows | 决定阴影是否可以投射到粒子上。只用不透明材质才能接受阴影 |
| Shadows Bias | 沿着灯光的方向移动阴影。这将删除由于使用广告牌近似体积而导致的阴影伪影 |
| Motion Vectors | 设置是否使用运动矢量来跟踪此粒子系统的“变换”组件从一帧到下一帧的每像素屏幕空间运动 Camera Motion Only---仅使用相机移动来跟踪运动 Per Object Motion---使用特定过程来跟踪此渲染器的运动 Force No Motion---不跟踪运动 |
| Sorting Layer ID | 渲染器的排序图层的名称 |
| Oeder in Layer | 此渲染器在排序图层中的顺序 |
| Light Probes | 基于探头的光照插值模式 |
| Reflection Probes | 如果启用并且场景中存在反射探头,则会为此GameObject拾取反射纹理并将粒子纹理设置为内置的着色器对应变量 |
| Anchor Override | 使用“光探测器”或“反射探测器”系统时确定插值位置的变换 |
5.Velocity over Lifetime模块允许用户控制粒子在其生命周期内的速度
| Linear X,Y,Z | X、Y和Z轴上的粒子线速度 |
| Space | 指定线性X、Y、Z轴是指本地空间还是世界空间 |
| Orbital X,Y,Z | X、Y和Z轴周围的粒子轨道速度 |
| Offset X,Y,Z | 轨道中心的位置,作用于轨道运行的粒子 |
| Radial | 粒子的径向速度远离或朝向中心位置 |
| Speed Modifier | 在当前行进方向上或周围,应用乘数到粒子的速度 |
6.Limit Velocity over Lifetime模块控制粒子在其生命周期内的速度降低情况。
| Separate Axes | 启用后,将坐标轴拆分为单独的X、Y和Z,即分离坐标轴 |
| Speed | 设置粒子的速度限制 |
| Dampen | 当粒子速度超过速度限制时,粒子速度降低的数值 |
| Drag | 对粒子速度应用线性拖动 |
| Multiply by Size | 启用后,较大的粒子会受到阻力系数的影响 |
| Multiply by Velocity | 启用后,较快的粒子会受到阻力系数的影响 |
7.Inherit Velocity模块控制粒子的速度如何影响其父对象随时间的移动。
| Mode | 指定发射器速度应用于粒子的不同模式 Current---发射器的当前速度将应用于每一帧上的所有粒子 Initial---当每个粒子生成时,发射器的速度将被施加一次。粒子产生后,发射器速度的任何改变都不会影响该粒子 |
| Multiplier | 粒子需要继承的发射器速度的比例 |
8.Lifetime by Emitter Speed模块根据粒子生成时发射器的速度控制每个粒子的初始寿命。它将粒子的开始寿命乘以一个值,该值取决于生成粒子的对象的速度对于大多数粒子系统,这是游戏对象速度,但对于子发射器,速度来自子发射器粒子源自的父粒子。
| Multiplier | 应用于粒子初始寿命的乘数。模块使用此值的方式不同,具体取决于用户设置的曲线模式 |
| Speed Range | 最小和最大发射器将粒子系统贴图的速度设置为沿“倍增”曲线的值。如果发射器的速度等于第一个值,则乘数为曲线起点处的值。如果发射器的速度等于第二个值,则乘数为曲线末端的值。仅当“倍增”的曲线模式设置为“曲线”或“两条曲线之间随机”时,此属性可用 |
9.Force over Lifetime模块可以指定一个方向的力(如风、吸引力等)为粒子加速。
| X、Y、Z | 给每个粒子施加到X、Y和Z轴上的力,下拉菜单中包含用于Randomize模式的添加力选项 |
| Space | 选择是在局部空间还是世界空间中施加力 |
| Randomize | 使用“两个常数”或“两个曲线”模式时,会导致在定义的范围内的每帧上选择新的力方向。该选项会造成不稳定的粒子运动 |
10.Color over Lifetime模块指定粒子的颜色和透明度在其生命周期中的变化情况。
| Color | 粒子在其生命周期内的颜色梯度。渐变条的左侧点表示粒子寿命的开始,渐变条的右侧表示粒子寿命的终点 |
11.Color by Speed模块根据粒子的速度来设置粒子的颜色。
| Color | 在速度范围内定义的粒子的颜色梯度 |
| Speed Range | 颜色梯度映射到的速度范围的低端和高端(超出范围的速度将映射到渐变的终点) |
12.Size over Lifetime模块用来设置那些涉及根据曲线改变粒子大小的特殊效果。
| Separate Axes | 在每个坐标轴上独立控制粒子路径 |
| Size | 定义粒子尺寸在其生命周期内变化的曲线 |
13.Size by Speed模块根据速度改变粒子的大小。
| Separate Axes | 在每个坐标轴独立控制粒子路径 |
| Size | 定义粒子在速度范围内的大小的曲线 |
| Speed Range | 粒子尺寸曲线映射到的速度范围的低端和高端(超出范围的速度将映射到曲线的终点) |
14.Rotation over Lifetime模块用来配置粒子在移动时的旋转情况。
| Separate Axes | 启用后,可以为X、Y、Z轴单独设置旋转 |
| Angular Velocity | 旋转速度,以度/秒为单位 |
15.Rotation by Speed模块根据粒子的移动速度改变来设置粒子的旋转速度。
| Separate Axes | 启用后,可以为X、Y、Z轴单独设置旋转 |
| Angular Velocity | 旋转速度,以度/秒为单位 |
| Speed Range | 粒子尺寸曲线映射到的速度范围的低端和高端(超出范围的速度将映射到曲线的终点) |
16.External Forces模块用于修改风区的效果和粒子系统系统发射的粒子上的力场
| Multiplier | 应用于风区力的比例值 |
| Influence Filter | 选择是否包括基于层遮罩的力场或通过显式列表 |
| Influence Mask | 使用层遮罩可以确定哪些力场会影响此粒子系统。当“影响过滤器”(Influence Filter)设置为“层遮罩”(Layer Mask)时可用 |
17.Noise模块用来给粒子添加湍流,它采用噪声算法来改变粒子的运动轨迹。
| Separate Axes | 控制强度并在每个坐标轴上进行独立映射 |
| Strength | 一条曲线,用于定义粒子在其生命周期内的噪声影响有多强。值越高,粒子移动越快 |
| Frequency | 低值会产生柔和,平滑的噪声,而高值会产生快速变化的噪声。这可以控制粒子改变行进方向的噪声场,以及方向变化的突然程度 |
| Scroll Speed | 随着时间的推移,该设置会导致不可预测和不稳定的粒子运动 |
| Damping | 启用后,强度与噪声成正比 |
| Octaves | 指定组合多少层重叠噪声场以产生最终频率值。越复杂,性能成本越高 |
| Octave Multiplier | 对于每个额外的噪声层,按比例降低强度 |
| Octave Scale | 对于每个噪声附加层,通过乘数调节频率 |
| Quality | 虽然较低的质量设置会显著降低性能成本,但也会影响噪声的有趣程度 |
| Remap | 将最终噪声值重新映射到不同的范围 |
| Remap Curve | 描述最终噪声值如何变化的曲线。例如,用户可以使用此选项来选择噪声场的较低范围,并通过创建从高处开始并以零结束的曲线来忽略较高的范围 |
| Position Amount | 用于控制噪声对粒子位置影响程度的乘数 |
| Rotation Amount | 用于控制噪声影响粒子旋转的乘数,以度/秒为单位 |
| Size Amount | 用于控制噪声对粒子路径影响程度的乘数 |
18.Collision模块控制粒子与场景中的物体是否会产生碰撞。
| Type | 选择平面模式或世界空间模式 Planes 可拓展的转换列表,用于定义碰撞平面 |
| Visualization | 选择是否将Scene视图中的碰撞平面,Gizmo显示为线框网格或实体平面 |
| Scale Plane | 用于可视化的平面大小 |
| Dampen | 碰撞后失去的粒子速度的分值 |
| Bounce | 碰撞后从表面反弹的粒子速度的分值 |
| Lifetime Loss | 粒子在碰撞时失去的总生命周期的分值 |
| Min Kill Speed | 碰撞后行驶速度低于此速度的粒子将从系统中移除 |
| Max Kill Speed | 碰撞后行驶速度高于此速度的粒子将从系统中移除 |
| Radius Scale | 允许用户调整粒子碰撞球体的半径,使其更贴近粒子图形的可视边缘 |
| Send Collision Messages | 启用后,则可以通过OnParticleCollision函数从脚本中检测粒子碰撞 |
| Visualize Bounds | 在Scene视图中每个粒子的碰撞边缘渲染为线框形状 |
19.Triggers模块能够在于场景中的一个或多个碰撞器交互时触发回调。粒子进入或离开碰撞器时,或者粒子位于碰撞器内部或外部时,可以触发回调。用户可以使用回调作为一种简单的方式来在粒子进入碰撞器时消除它(例如防止雨滴穿透屋顶),或者此模块用来修改任何或所有粒子的属性。该模块还提供了Kill选项以自动删除粒子,而Ignore选项表示忽略碰撞事件。
| Inside | 选择Callback,粒子位于碰撞器内部时触发事件。选择Ignore以便在粒子位于碰撞器内部时不触发事件。选择Kill以消除碰撞器内部的粒子 |
| OutSide | 选择Callback,粒子位于碰撞器外部时触发事件。选择Ignore以便在粒子位于碰撞器外部时不触发事件。选择Kill以消除碰撞器外部的粒子 |
| Enter | 选择Callback,粒子进入碰撞器时触发事件。选择Ignore以便在粒子进入碰撞器时不触发事件。选择Kill,当粒子进入碰撞器时消除它们 |
| Exit | 选择Callback,粒子离开碰撞器时触发事件。选择Ignore以便在粒子离开碰撞器时不触发事件。选择Kill,当粒子离开碰撞器时消除它们 |
| Collider Query Mode | 指定此粒子系统用于获取有关粒子与之交互的碰撞器的信息的方法。这会增加处理触发器模块的资源强度,因此,如果不需要任何额外的冲突信息,请将此属性设置为Disabled Disabled---不获得任何关于每个粒子与哪个对撞机交互的信息 One---获取有关每个粒子交互的第一个碰撞器的信息。如果一个粒子与帧中的多个碰撞器交互,则会返回与该粒子交互的碰撞器列表中的第一个碰撞器 All---获取每个粒子与之交互的每个碰撞器的信息 |
| Radius Scale | 此参数设置粒子的碰撞器边界,允许事件在粒子接触碰撞器之前或之后出现。例如,用户可能希望粒子在弹回之前看起来稍微穿透碰撞对象的表面,在这种情况下,用户可以将“半径比例”设置略小于1,注意,当事件实际发生时,此设置不会更改触发器,但可以延迟或提高触发器的视觉效果。输入1表示事件在粒子碰到碰撞器时出现;输入一个小于1的值,触发器在粒子穿透碰撞器后出现;输入一个大于1的值,触发器在粒子穿透碰撞器前出现 |
| Visualize Bounds | 允许用户在编辑器窗口中显示粒子的碰撞器边界 |
20.Sub Emitters模块允许用户设置子发射器。这些是在粒子寿命的某些阶段在粒子的位置创建的附加粒子发射器
配置子发射器的列表,并选择它们的触发条件以及它们从父粒子继承的属性
21.Texture Sheet Animation模块将纹理视为动画帧播放的单独子图像的网格
| Mode | 选择网格或纹理图像 |
| Tiles | 纹理在X和Y方向上划分的平铺数量 |
| Animation | 动画模式可以设置为整张或单行(即工作表的每一行代表一个单独的动画序列) |
| Time Mode | 选择粒子系统在动画中对帧采样的方式 |
| Frame over Time | 一条曲线,指定动画帧随着时间的推移如何增加 |
| Start Frame | 允许用户指定粒子动画从哪一帧开始(对于在每个粒子上随机定向动画非常有用) |
| Cycles | 动画序列在粒子生命周期内重复的次数 |
| Affected UV Channels | 允许用户准确指定受到粒子系统影响的UV流 |
22.Lights模块用来将实时灯光添加到一定比例的粒子中。
| Light | 指定一个Light Prefab,描述粒子灯的外观 |
| Ratio | 介于0和1之间的值,描述将接收光的粒子的比例 |
| Random Distribution | 选择是随机分配还是定期分配灯光。启用后,每个粒子都有一个随机接收基于比例的光的机会。较高的值增加了粒子具有光的概率。设置为false时,Ratio控制新创建的粒子接收光的频率(例如每第N个粒子接收光) |
| Use Particle Color | 启用后,Light的最终颜色将通过其附加的粒子的颜色进行调制。不启用时,则使用Light颜色而不进行任何修改 |
| Size Affects Range | 启用后,指定的灯光范围将乘以粒子的大小 |
| Alpha Affects Intensity | 启用后,光的强度乘以粒子Alpha值 |
| Range Multiplier | 使用此曲线在粒子的生命周期内将自定义倍增器应用于灯光范围 |
| Intensity Multiplier | 使用此曲线将自定义乘数应用于粒子生命周期内的光强度 |
| Maximum Lights | 此设置可以避免意外创建大量灯光,这有时会使编辑器无响应或使应用程序运行的非常慢 |
23.Trails模块用于给粒子添加运动轨迹,即粒子拖尾。
| Mode | 选择生成粒子拖尾的模式。Particle mode产生一种效果,每个粒子在其路径中留下固定的痕迹,Ribbom mode创建一条根据年龄连接每个粒子的路径 |
| Ratio | 介于0和1之间的值,描述分配了Trail的粒子的比例。Unity随机分配Trail,因此该值表示概率 |
| Lifetime | Trail中每个顶点的生命周期,表示为它所属粒子的生命周期的乘数。当每个新顶点添加到Trail时,它在存在的时间超过该粒子特效总生命周期后消失 |
| Minimum Vertex Distance | 定义粒子在接收新顶点之前必须经过的距离 |
| World Space | 启用后,即使使用本地空间,Trail顶点也不会相对与粒子系统的GameObject移动。相反,Trail顶点在世界空间中被丢弃,并忽略粒子系统的任何移动 |
| Die With Particles | 如果选中此项,Trail会在粒子死亡时立即消失。未选中则剩余的Trail会根据自己的剩余生命周期自然消失 |
| Texture Mode | 选择应用于Trail的纹理是沿其整个长度拉伸,还是重复N个距离单位。重复率基于材料的平铺参数进行控制 |
| Size affects Width | 启用后,Trail宽度将乘以粒子的大小 |
| Size affects Lifetime | 启用后,Trail寿命将乘以粒度 |
| Inherit Particle Color | 启用后,Trail颜色将由粒子颜色调制 |
| Color over Lifetime | 一条曲线,用于控制整个Trail在其附着的粒子的整个生命周期内的颜色 |
| Width over Trail | 用于控制Trail宽度的曲线 |
| Color over Trail | 用于控制Trail颜色的曲线 |
| Generate Lighting Data | 启用后可构建包含法线和切线的Trail几何体。这允许它们使用场景照明的材质,例如通过标准着色器或使用自定义着色器 |
24.Custom Data模块允许用户在编辑器中定义或在脚本中设置要附加到粒子的自定义数据格式。Custom Data的Mode属性可以是Vector的形式,最多4个MinMaxCurve组件,也可以是Color的形式,这是一个支持HDR的MinMAxGradient。Custom Data在脚本和着色器中驱动自定义逻辑。用户通过单击Custom Data模块面板中输入框后面倒三角按钮,可在下拉菜单中自定义每个曲线/渐变的情况。例如,曲线可以用于自定义Alpha测试,渐变可以用于向粒子添加辅助颜色。通过编辑标签,可以很方便的在UI中保留每个自定义数据条目的记录。
相关文章:
Unity粒子系统ParticleSystem各模块及其参数学习
粒子系统控制面板默认有4个模块:Particle System(主模块),Emission(发射模块), Shape(形状模块),Renderer(渲染器模块) 1.Particle …...
vue3实现卡片翻牌
vue3实现塔罗牌翻牌 前言一、操作步骤1.布局2.操作3.样式 总结 前言 最近重刷诡秘之主,感觉里面的塔罗牌挺有意思,于是做了一个简单的塔罗牌翻牌动画(vue3vitets) 一、操作步骤 1.布局 首先我们定义一个整体的塔罗牌盒子&…...
算法训练营day45|动态规划 part07:完全背包 (LeetCode 70. 爬楼梯(进阶)、322. 零钱兑换、279.完全平方数)
文章目录 70. 爬楼梯(进阶)(求排列方法数)思路分析代码实现 322. 零钱兑换(求等于背包重量的最小物品数)思路分析代码实现思考总结 279.完全平方数 (求等于背包重量的最小物品数)思路分析代码实现 70. 爬楼梯(进阶)(求排列方法数) 题目链接🔥 假设你正在爬楼梯。需…...
【大模型】更强的开源可商用的中英文大语言模型baichuan2来了,从零开始搭建
【大模型】更强的开源可商用的中英文大语言模型baichuan2来了,从零开始搭建 Baichuan 2 介绍技术报告github 地址 模型下载开放协议协议 测试评估通用领域测试7B 模型结果13B 模型结果 法律、医疗7B 模型结果13B 模型结果 数学、代码7B 模型结果13B 模型结果 多语言…...
ElasticSearch系列-简介与安装详解
全文检索 讲ElasticSearch之前, 需要先提一下全文检索.全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程。 …...
Layui + Flask | 表单组件(组件篇)(07)
http://layui.dev/docs/2.8/form 表单组件 form 是包含输入框、选择框、复选框、开关、单选框等表单项组件的集合,主要用于对表单域进行各类动态化渲染和相关的交互操作。form是 Layui 最常用的组件之一。 表单布局 form 组件自身的普通布局。其要点为: 通过 class="lay…...
【实践篇】Redis最强Java客户端Redisson
文章目录 1. 前言2. Redisson基础概念2.1 数据结构和并发工具2.1.1 对Redis原生数据类型的封装和使用2.1.2 分布式锁实现和应用2.1.3 分布式集合使用方法 2.2 Redisson的高级特性2.2.1 分布式对象实现和使用2.2.2 分布式消息队列实现和使用2.2.3 分布式计数器实现和使用 3. 参考…...
esxi扩容磁盘
esxi扩容磁盘 fdisk -l没用扩容 登录Esxi管理界面扩容磁盘 进入服务器查看 没用变化 (有些可能进去磁盘就是更新,直接就是扩容的,但是没扩容就需要执行下面的命令) [root234-ces /]# fdisk -l Disk /dev/sda: 85.9 GB, 858993…...
核心实验21_BGP高级(了解)(配置略)_ENSP
项目场景: 核心实验21_BGP基础_ENSP 通过bgp实现省市互通。 实搭拓扑图: 具体操作: 其他基础配置略(接口地址,ospf) 1.BGP邻居建立: R1: [R1]bgp 200 [R1-bgp]peer 10.2.2.2 as-number 200 …...
宝塔安装python和openssl
宝塔安装python和openssl OpenSSL Centos7 openssl 升级 1.1.1k.tar.gz centos7系统安装Vicuna(小羊驼)聊天机器人 CentOS中输入yum报错:sudo: unable to execute /bin/yum: No such file or directory opensslrpm安装指南-让你的网站更加…...
TDengine 3.1.1.0 来啦!更新如下
自 3.0 版本发布以来,在研发人员和社区用户的不断努力下,TDengine 做了大量更新,产品稳定性和易用性也在不断提升。近日,TDengine 3.1.1.0 成功发布,本文将向大家简单介绍一下该版本涉及的重大更新。 写在前面 伴随 …...
YSA Toon (Anime/Toon Shader)
这是一个Toon着色器/Cel阴影着色器,用于Unity URP 此着色器的目的是使角色或物体阴影实时看起来尽可能接近真实的动画或卡通效果 可以用于游戏,渲染,插图等 着色器特性,如:面的法线平滑、轮廓修复、先进的边缘照明、镜面照明、完全平滑控制 这个文档包括所有的功能https:/…...
LabVIEW通过IEC61508标准验证ITER联锁系统
LabVIEW通过IEC61508标准验证ITER联锁系统 保护环境要求系统能够保护机器免受工厂系统故障或机器危险操作造成的严重损坏。负责此功能的ITER系统是联锁控制系统(ICS)。该系统通过中央联锁系统(CIS)监督和控制不同的工厂联锁系统&…...
如何处理日期和时间?
处理日期和时间是计算机编程中的常见任务,无论是在C语言还是其他编程语言中。C语言提供了一些库函数来处理日期和时间,主要是通过<time.h>头文件中的函数来完成的。在本文中,我将详细解释如何在C语言中处理日期和时间,包括日…...
【开发】视频集中存储/直播点播平台EasyDSS点播文件分类功能优化
视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 TSINGSEE青犀视频的EasyDSS平台具有点播文件分类展示方法…...
论文多级编号-word2010
多级列表-定义新的多级列表 注意1.1中的两个1必须是灰色(如果不是灰色,解决方法放在文本文末了) 如果定义过程中发现1.1中的1不是灰色,如下图,那么需要操作下述步骤 点击文件-选项 取消勾选自动编号列表。确定后关闭文…...
Jetpack Compose基础组件之 — Text
Text的源码参数预览 Composable fun Text(text: String,modifier: Modifier Modifier,color: Color Color.Unspecified,fontSize: TextUnit TextUnit.Unspecified,fontStyle: FontStyle? null,fontWeight: FontWeight? null,fontFamily: FontFamily? null,letterSpac…...
动手学深度学习——Windows下的环境安装流程(一步一步安装,图文并配)
目录 环境安装官网步骤图文版安装Miniconda下载包含本书全部代码的压缩包使用conda创建虚拟(运行)环境使用conda创建虚拟环境并安装本书需要的软件激活之前创建的环境打开Jupyter记事本 环境安装 文章参考来源:http://t.csdn.cn/tu8V8 官网…...
打印日志遇到的问题,logback与zookeeper冲突
在做项目时需要打印日志引入了logback打印日志,但是一直无法打印,于是一路查找原因。发现zookeeper中默认带的有个logback和我自己引入的logback版本冲突了,这样直接使用exclusions标签将zookeeper中自带的日志框架全部排除即可 按理说到这一…...
【Node.js操作SQLite指南】
Node.js操作SQLite指南 在本篇博客中,我们将学习如何在Node.js中操作SQLite数据库。我们将使用sqlite3模块来创建数据库、创建表以及进行数据的增删改查操作。 文章目录 Node.js操作SQLite指南安装sqlite3模块创建数据库创建表数据的增删改查插入数据查询数据更新…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
6.9-QT模拟计算器
源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...
轻量级Docker管理工具Docker Switchboard
简介 什么是 Docker Switchboard ? Docker Switchboard 是一个轻量级的 Web 应用程序,用于管理 Docker 容器。它提供了一个干净、用户友好的界面来启动、停止和监控主机上运行的容器,使其成为本地开发、家庭实验室或小型服务器设置的理想选择…...
