🧠 blender为什么不用 M 或 T?

键位含义为什么没选
MMove?其实被用作「Move to Collection」等功能不符合历史定义,而且功能太多了
TTransform? 但 transform 是一个总称(含移动、旋转、缩放)T 被用来打开工具栏(Tool Shelf)

Blender 设计理念是 直接映射操作行为 而非语义缩写,所以:

"我抓住物体(Grab)→ 然后移动" 这个动作 = G

重启blender删除0的使用数据

动,这是特效

不是拿骨骼k的,特效拿骨骼去k---大材小用

丝袜的网格就不能是边缘清晰了

Alpha Cutout(又称 Alpha Test)

这些都是适合使用 Alpha Cutout 的典型场景:

  1. 镂空金属:例如铁丝网、铁门,alpha map 控制哪部分镂空。

  2. 裙摆边缘:卡通风格中经常用来表现轻飘飘的剪裁边。

  3. 特定风格下的头发:如二次元发卡、刘海尖等,边缘清晰,直接裁切。

  4. 树叶:一整片叶子贴图中,有 alpha 图表现叶子形状,用裁切来剔除空白区域。

  5. 卡通渲染特效:比如一些光环、魔法阵边缘清晰的效果。

  • 边缘效果太实

    • 没有平滑渐变的边缘,会像“锯齿状”。

    • 在一些软材质(如羽毛、烟雾)上不适合,看起来太硬。

  • 移动端性能较差

    • 因为 clip()discard 会造成分支跳转,GPU 不能批量并行执行,会增加性能压力(尤其 tile-based mobile GPU)。

  • Alpha Blend(左):使用 alpha blend,像素不直接裁掉,而是混合透明度,边缘更自然,但排序问题严重。

  • Alpha Test / Cutout(右):边缘硬,树叶清晰,没有叠加透明问题,适合植物类。

摄像机可以设置rendertype,改看到的物体材质的rendertype

当做形式,但特效相关

ab,如果是 Blend One OneMinusSrcAlpha  

如果改成 Blend SrcAlpha OneMinusSrcAlpha

结果上预先再乘以一个alpha,所以会显得忘里面再吃一点,更加暗一点

 视频里更明显  

名称意义
Zero(0,0,0,0),相当于完全不参与混合
One(1,1,1,1),完全参与
SrcAlpha当前像素的 Alpha 值,用于控制透明度
OneMinusSrcAlpha1 - Alpha,常用于背景保留比例
DstColor目标颜色参与混合
OneMinusDstColor背景颜色的反向
SrcAlphaSaturatemin(alpha, 1-alpha),用于特殊自遮挡
名称含义
Add默认,Src + Dst
SubtractSrc - Dst
ReverseSubtractDst - Src
Min / Max分别取颜色的最小值/最大值
Multiply乘法混合,变暗
Screen滤色,提亮
Overlay叠加,亮中有暗、暗中有亮
ColorDodge / ColorBurn高光/暗化模式
HardLight / SoftLight硬光/柔光(Photoshop同名混合模式)
Difference / Exclusion差值、排除,主要用于特效或滤镜
HSLHue/Saturation/...高级 HSL 模式,需要扩展 OpenGL 支持

// 标准透明混合
Blend SrcAlpha OneMinusSrcAlpha

// 累加发光效果
Blend One One

// 全部替代原始颜色
Blend One Zero

右边要用到c#里面的知识

最终颜色=Src∗DstColor+Dst∗(1−DstColor)

每个通道是 逐个分量(component-wise)参与混合的,四个值完全独立。

Unity 和 OpenGL 中颜色混合不是单值计算,而是对 RGBA 每个分量 独立混合DstColor 代表的是 (Rd, Gd, Bd, Ad),参与逐分量乘法。

Shader 变量是否占用内存?:会占用,但很少
就像普通编程语言(如 C/C++)一样,Shader 中局部变量在函数作用域内会占据寄存器或临时存储空间,但函数执行结束后这些空间就被释放。它不会叠加占用内存,只会复用。

🧪 Blend 配置选择建议

使用场景Blend 设置说明
❌ 没有预乘Blend SrcAlpha OneMinusSrcAlphaUnity 默认
✅ 预乘了 alphaBlend One OneMinusSrcAlpha更干净,无边缘污染

实际在做特效的时候很多图都是预乘的

特效是,是拽特效库里面的图,里面的图有带alpha,有不带alpha的

所以需要根据这种复杂的情况做不同的shader

颜色预乘(Premultiplied Alpha)不是为了让颜色“变”,而是为了让混合公式更简洁、更正确。

RGB = 原始RGB × Alpha

这确实让颜色变得“看起来更浅”,但这不是为了视觉效果,而是为了更安全和高效的混合

预乘的真实目的

目的说明
✅ 避免边缘污染没预乘时,Alpha 为 0 的区域 RGB 仍保留原始颜色,可能在边缘混出错误色(常见于羽化、贴图压缩)
✅ 简化混合公式使用 Blend One OneMinusSrcAlpha,跳过 shader 中手动 rgb * alpha 的步骤,提高效率
✅ 提高性能在某些 GPU 中预乘图像可以加速合成处理,尤其是在后期特效、大量粒子系统中
  • 贴图一个羽毛的边缘处,Alpha 为 0,但 RGB 仍是蓝色。

    • ✅ 未预乘:这时候羽毛周围是透明蓝 → 混合会出现蓝边。

    • ✅ 预乘:这时候羽毛周围 RGB = 0 → 混合干净无色。

即使 alpha 是 0,那些 RGB 信息仍然参与混合计算,只是最后你“看不到”而已,但它们影响了结果

假设羽毛边缘处贴图颜色如下:

RGB = (0.0, 0.0, 1.0) // 蓝色  
A = 0.0 // 完全透明outColor.rgb = Src.rgb * Src.a + Dst.rgb * (1 - Src.a)= (0.0, 0.0, 1.0) * 0.0 + Dst.rgb * 1.0= Dst.rgb

看起来没事对吧?但是如果:

  • 贴图有压缩(如 DXT、BCn),蓝边可能“泄露”到 Alpha 不为 0 的区域

  • MSAA、模糊、滤波、颜色拉伸等,RGB 会被周围像素采样

  • 这时候这个“透明蓝”的 RGB 值就污染进来了

👉 所以虽然当前像素是 A=0,但它的 RGB 会影响附近的混合区域。

PR(Pull Request) 是什么?

Pull Request(简称 PR) 是 GitHub(以及其他 Git 托管平台)中用于提议更改代码的机制。

你可以理解为:

“我 fork 或 checkout 了项目,在某个分支上修改了代码,现在我想合并回主项目,请大家审核我的代码。”

在 PR 页面上你可以看到:

  • 哪些 PR 是 Open(未合并)

  • 哪些是 Merged(已合并)

  • PR 的内容改了哪些文件、增加/删除了哪些代码

 设置里的general 

Branch Format(自动创建分支的命名模板)

当你让 Codex 帮你在 GitHub 上做代码修改、创建 Pull Request 时,它可能会自动为你创建分支(branch)。

这个设置决定它用什么格式来命名这些分支。

ta-fix/{feature}-{date}
就能生成 ta-fix/alpha-blend-fix-2025-07-08 这样的分支名。

 设置里的environment

当你让 Codex 执行代码(比如测试脚本、自动安装依赖、运行构建任务等)时,它在什么系统环境下运行、如何准备运行环境、是否联网等。

Container image(容器镜像)

这是你代码执行时用的基础系统环境,类似虚拟机的“操作系统”。

  • 你选择的是 universal,它是基于 Ubuntu 24.04 的通用镜像,已经预装了很多常见工具(如 Python、Node.js、Git、curl、pip 等)。

  • 点旁边的 Preinstalled packages 可以查看这个环境自带了哪些依赖。

💡 **理解类比:**你可以把它当成“你租给 Codex 用的一台电脑”,这就是装的系统。

Environment variables(环境变量)

这里可以设置运行代码时注入的环境变量,常用于:

  • 设置路径(如 PATH=/custom/bin

  • 提供构建标志(如 BUILD_ENV=debug

  • 控制行为(如 USE_GPU=false

🚫 默认不需要设置,除非你知道项目某些部分依赖这些变量。

Secrets(机密变量)

  • 这里可以添加一些不应该暴露在代码里的敏感信息,如:

    • API token(比如 GitHub Token)

    • 密码、私钥路径

  • Codex 会在运行环境中注入这些 secret,但不会在输出中显示出来(防泄漏)

📌 适合你之后部署 Web 项目或要访问私有资源时使用。

“Network access is always enabled for this step.”
意思是 这一段 setup 脚本始终可以联网执行,哪怕你在其他地方关闭了 Codex 的联网权限。

所以你需要确保 setup 脚本不会拉取恶意代码或安装危险依赖,尤其是在使用第三方仓库或插件时。

这里的Test和Createpr是干什么的 

这整个过程

步骤意义
✅ Codex 生成了脚本写入了 SimpleLogger.cs
✅ 自动跑了 git status检查是否准备好纳入提交
✅ 输出干净说明文件被正确追踪,没有遗漏
✅ 可以点击 “Create PR”正式发起 Pull Request,推送到 GitHub 上

Create PR 按钮 —— 是 创建 GitHub Pull Request 的快捷入口

你点这个按钮,就是:

将 Codex 生成的更改(在右侧 Diff 面板中可见)作为一次 Pull Request(合并请求)提交到你的 GitHub 仓库

也就是:你允许 Codex 把这次代码更改作为“一个功能或补丁”正式提交,并进入 GitHub 的协作工作流。

现在尝试Createpr

跳转到view视图里面

xxxxx

我的建议还是去好好玩几遍 https://​编辑learngitbranching.js.org/?locale=zh_CN git 游戏, 理解一下 git 的底层逻辑, 不然以后你碰到 git 问题真的挺恶心的. 如果你真的把版本控制弄的一团糟, https://ohshitgit.com/ 是你的解药.

----

结论是codex速度太慢,稍微又熟悉了一下github

xxxxx

浮点精度问题,噪声图和maintex相互交错,所以需要frac

UV 被扰动后超出了 [0,1] 范围

uv += noise;  // noise 可能是 [-1, 1],扰动后 uv > 1

精度,超出的部分没东西采样,就透明

frac(x) 会保留 x 的小数部分,相当于将 UV 强制 wrap 到 [0,1) 区间

  • frac(0.25)0.25

  • frac(1.001)0.001

  • frac(-0.3)0.7(因为 floor(-0.3) = -1, 所以 -0.3 - (-1) = 0.7)

mod(x, 1.0) 的区别?

  • frac(x)mod(x, 1.0) 类似,但 frac 更快,且语义专为 [0,1) wrap 设计

  • 注意:对于负数时,frac 总是返回正数,而 mod 会根据语言/平台返回正负不定(GLSL 的 mod 和 HLSL 的 mod 表现不同)

系统时间留到非常非常久了

如果在多个 DCC 软件中只做简单建模(正方体、雕刻等),导出的 FBX 是否可以完全统一
又是哪些额外因素会导致 FBX 不再一致

骨骼、权重、动画等内容 —— 不能保证完全通用

功能项FBX 是否支持不同 DCC 软件是否能一致解析原因说明
✅ 网格结构✔️ 完全支持✔️ 一致(标准几何体)顶点、面、UV、法线都定义明确
⚠ 法线切线✔️ 支持⚠️ 有时自动重算或丢失依赖导出选项与导入默认设置
❌ 骨骼结构✔️ 支持❌ 节点坐标系/绑定姿态不同rest pose / joint orientation 差异
❌ 绑定权重✔️ 支持❌ 权重精度/归一化方式差异有时需要重刷或重新绑定
❌ 动画轨迹✔️ 支持❌ 曲线解码方式不同有些软件用自定义控制器
❌ Blendshape✔️ 支持❌ 命名方式、存储策略不一Maya vs Blender 表达方式不同

只包含模型构建(Mesh)本身的 FBX 文件,是可以做到几乎完全通用的,即:

  • 几何体(顶点、边、面)

  • UV 坐标

  • 顶点法线(如正确导出)

  • 基本贴图路径(漫反射贴图)

这些内容在主流 DCC 软件(如 Blender、Maya、3ds Max、ZBrush、Unity、Unreal)之间是可交换、可解析、可正确导入的

xxxx

lerp(a, b, t) 中的 t 超出 [0, 1] 时,结果仍然会被正常计算,且可能为负数。不会自动 clamp。

如果你想确保 t 限制在 0 ~ 1 范围内,需要手动加 saturate(t)

lerp(a, b, saturate(t)); // 只在 0~1 内插值

噪声图单通道,扭曲图是三维的

两个通道控制uv的扭曲方向,blue通道保存噪声图

remap是希望可以往正负两个方向去偏移,所以

图存0~1,然后需要变成正负方向remap,-0.5,再乘2

变成-1~1

noise图里面的数字的含义是,对需要影响的图的影响权重,独立则不会产生任何意义

噪声图的值 ≠ 意义,而是意义来源于你如何使用它

举例:

用法场景噪声值代表的意义
UV扰动(flow map)像素值代表扰动的方向或偏移量
溶解遮罩(dissolve)像素值作为某一阈值的比较,控制显示区域
光照扰动(Fresnel mask)像素值作为 Fresnel 效果叠加因子
透明度扰动(你现在的 GhostWarp)像素值参与透明度计算,改变渲染效果
随机颜色混合、分布、特效参数控制像素值控制混合比、颜色选择或变化速率等

half noise = lerp(1.0, var_WarpTex.b * 2.0, _NoiseInt);
opacity = baseAlpha * noise;
此时:

var_WarpTex.b 是噪声图中的每个像素值

它的作用是:“让 opacity 按不同像素位置产生扰动”

如果你注释掉这句,用常量 1.0 代替 noise,那噪声图再存在也毫无意义

return float4(-1.0, 0.5, 2.0, 1.0);
在不同平台中你会看到:

条件最终显示颜色
普通 8bit 屏幕输出(LDR)黑+中绿+纯白 → 实际为 (0.0, 0.5, 1.0)
使用 HDR Camera + Bloom 后处理可能看到泛光或亮度异常
自定义 RenderTexture 输出保留完整 float,结果依赖后续处理

你看到的结果是混合误用的副作用,不是设计内的“反色效果”

它并不稳定,也不跨平台,在移动端、低配机或 Vulkan/Metal 下可能直接变黑或完全透明。

总结:蓝色 → 变橙黄 是合理的,原因如下:

步骤解释
蓝色 × -1得到负蓝(0, 0, -1)
作为 Src.rgb 参与混合变成 +1.0 + 背景*2(超亮 + 冲突)
背景叠加高亮蓝Gamma 曲线 + Bloom 推向橙黄方向
显示器 clamp & tonemap导致白泛、橙斑、颜色错觉

之后的课程加上背景扭曲

对于一个像素来说,当 UV 被放大(乘以大于 1 的数),会导致其在纹理空间中“移动得更快”,从而在屏幕空间中采样到更密集、更细小、更重复的图案;而“差别变小”,是因为单位屏幕距离内采样的纹理跨度更小、变化频率更高,导致整体趋于细节压缩。

官方建议把uv拿float去存储

对啊,这些都是变量啊,为什么一定要按照标准来,这里也只是介绍了方法去使用uv

这个Ghost的逻辑写的,导致wrap强度调整还会移位MainTex

xxxxx

这种就简单做个河流,做个小池塘

xxxx

直接使用offset里面的值去改变流动

UnityObjectToClipPos (v.vertex) is required because every vertex shader must output the vertex position in clip-space (the value carrying the semantic SV_POSITION). If the GPU doesn’t receive that clip-space position for each vertex, it cannot:

  1. Clip triangles against the view frustum.

  2. Homogeneously divide the coordinates to produce normalized device coordinates (NDC).

  3. Rasterize the triangles into fragments and interpolate any other varyings you send (UVs, colors, normals, etc.).

Is the generated o.pos value “used”?

  • By the GPU pipeline: absolutely—rasterization depends on it.

  • By your own code: you rarely sample it directly in the fragment shader, but any macro that needs screen position, depth, or fog will consume it (e.g. COMPUTE_SCREEN_POS, TRANSFER_SHADOW in Unity shaders).

  • If you omit or write an incorrect SV_POSITION, the mesh won’t appear or will be clipped incorrectly, even if all other varyings are perfect.

观察空间 VS(View Space):float4

  • 定义:以相机为原点的坐标空间。(ps:观察空间与屏幕空间不一样,观察空间是一个三维空间,屏幕空间是二维空间)。

https://zhuanlan.zhihu.com/p/505030222

Unity 渲染流水线变换矩阵详细讲解_哔哩哔哩_bilibili

【教程】技术美术入门:渲染管线概述_哔哩哔哩_bilibili

近大远小的效果,根据near和far压扁模型,展现正常图片 效果

只是把模型进行了一个变形的处理

灰色部分都是硬件去处理的,不能控制

视椎体剔除,是针对一整个 模型的

  • 投影矩阵本身不能“删除”物体,它只负责把视野内的空间投影成 Clip 空间值。

  • 真正进行“剔除”的是 GPU 固定功能管线,对 Clip 空间做裁剪规则判断。

控制是否参与“裁剪空间剔除”(GPU自动)

这是 GPU 光栅化阶段默认的行为,但你间接可控

控制方式控制对象举例与说明
✅ 修改 Projection Matrix控制裁剪区域范围例如:加大FOV、拉远近平面,Clip空间容纳更多
✅ 改变传入顶点位置你自己修改了 vertex shader 输出的 SV_POSITION比如“假装”物体在视野内,让它不被裁剪
⚠️ 不推荐:强行输出视野外点可以让视野外物体被“拉回屏幕”但这会造成视觉错位或崩溃,不常见

总结:你无法关掉裁剪机制本身(除非你完全重写渲染流程),但你可以通过“改变投影矩阵”或“修改传入坐标”间接绕过。

SRP 不能取消的:

固定流程阶段是否可控原因说明
Clip Space 裁剪(裁剪坐标超出 -w~w)❌ 不可控这是 GPU 固定的光栅化前流程,无法在 SRP 级别关闭
Homogeneous divide(齐次除法)❌ 不可控这是 GPU 自动做的投影机制
深度测试、Z-buffer 写入(除非你禁用)部分可控你可以关掉 ZTest,但不能移除整个深度机制本身

透视除法之后,转(标准化设备坐标) NDC在通过顺逆时针剔除了背面的三角面之后

就要进入屏幕空间(转换成屏幕的1920x1080)这样的形式

这个过程里只拿xy坐标,z坐标后面有更重要的事

TRANSFORM_TEX 是 Unity Shader 中一个非常常用的宏函数,主要用于对 纹理坐标(UV)进行缩放和平移变换

#define TRANSFORM_TEX(tex, name) (tex.xy * name##_ST.xy + name##_ST.zw)

- frac(_Time.x * _ScreenTex_ST.zw)

减法是移动的标配

screenUV *= originDist 的行为不总是视觉合理

  • 它是用物体离相机距离 Z 来缩放屏幕 UV

  • 但这个“锁大小”是假设物体平行于摄像机投影面

⚠️ 如果模型不是正对相机(比如有角度),这个缩放会导致视觉失真纹理漂移

tex2D(_ScreenTex, i.screenUV) 里的 screenUV 可以大于 [0, 1] 吗?如果超出范围会发生什么?

答案是:


✅ 可以大于 0~1,关键取决于纹理的 Wrap Mode(环绕模式)

默认行为(Unity中多数纹理默认是 Repeat):

i.screenUV 范围tex2D 的采样行为说明
0 ~ 1纹理正常采样落在贴图内部
>1 或 <0取决于贴图导入设置中的 Wrap Mode会发生重复、拉伸、或边缘值钉死等现象

贴图方向完全取决于模型的 UV 展开方式,与世界空间的 XZ 无直接对应关系,而与模型局部坐标系中顶点的 UV 映射有关。

也就是说平面的uv是有问题的,不要信

可以信的,只要你可以位移,和你可以放缩整体

tiling很大,超出了0到1的范围,但此时的offset是相对于原uv0到1的移动手段,而移动是是整体,所以offset独立于tiling的密铺

return uv.r

也就是说左边的uv为1,和物体的坐标系相反,这个plane的uv是这样映射的

直接整个都是反的,靠

posVS.z

  • 是当前 顶点位置 v.vertex 转换到 View Space 后的 Z 值

  • 即:这个点 相对于摄像机的前后距离

  • 注意:在 Unity 中,Z 轴朝向是负的,所以:

  • posVS.z < 0 → 在摄像机前面(正常可见)

  • posVS.z > 0 → 在摄像机后面(看不到)

originDist

  • 模型原点 (0, 0, 0) 转换到 View Space 后的 Z 值

  • 也就是:整个物体中心(模型局部坐标系原点)离摄像机的 Z 距离

这通常作为一个“基准深度”或“单位深度参考”。

o.screenUV = posVS.xy / posVS.z;


👉 这是在 View Space 里直接除以 Z,没有转换成 Clip Space。
这样也可以吗?为什么?

可以,但只是近似模拟透视投影效果,不是完整的标准投影流

这个写法是 一种“自定义构造屏幕投影UV”的简便方式,在不使用完整 MVP(Model-View-Projection)变换的情况下,模拟投影缩放效果,常见于早期或者低开销 Shader。

但注意:这种方式是“非线性近似”的

项目posVS.xy / posVS.z正规 clipPos.xy / clipPos.w
精度低,不能精准对应屏幕像素高,严格按照投影矩阵压缩
投影适配性固定 FOV + 固定 NearFar 才能稳定使用任意 FOV、透视矩阵都支持
视觉表现可用于模拟投影、屏幕UV、雷达图、波纹等准确用于屏幕UV、GrabPass、遮罩、溶解等

你现在这种写法是合法的,特别适用于:

  • 没有 GrabPass,但想要制作“贴屏特效”

  • 只需要视觉感受类似透视缩放,不追求像素精确投影

  • 效果贴在 Plane、Quad 上,或者用在扰动类 FX 中(水波、能量、雷达)

阶段名称作用
View Space相机视角下的真实空间,仍是“物理单位”(米)有透视锥体结构,Z 越大越远
Clip Space被投影矩阵拉伸成四维“正方锥”进行裁剪、透视除法前的空间
NDC Space经过除法后压成了长方体([-1, 1]^3)屏幕映射前的标准单位坐标

除以了view space下的z

解决了一个问题,不会畸变了,但带来 了一个问题,就是现在不会随着远近而变化这张 贴图了

接着就解决近大远小的效果

不要用顶点的距离,因为这里除一下再乘一下还是回去之前的效果--依然畸变

在 Unity 内置渲染管线 中可以这样GrabPass (虽然不推荐大规模使用)

在 URP / HDRP 中,GrabPass 被弃用,但提供了更高效更明确的替代方案

  • URP: _CameraOpaqueTexture(你要在管线设置中开启)

  • 手动 Blit + 设置 RenderTexture 给 Shader

  • 使用 CommandBuffer.Blit 将屏幕渲染缓存下来

Blend 是“当前像素缓冲区中的颜色”

  • 它只能访问:当前正在写入的目标像素点的颜色

  • 这通常是:Framebuffer 中该像素的已有颜色(上一层 pass 或物体渲染后的结果)

  • 操作由 GPU 的渲染硬件自动进行,不允许你手动读取或修改,只能通过 blend 参数控制混合方式:

Blend SrcAlpha OneMinusSrcAlpha
💡 你只能控制颜色怎么混,但不能读它的内容,也不能改它对应哪块区域。

GrabPass 是“整张屏幕截图的纹理”

  • 它会在渲染这个物体前,把整个屏幕内容渲染成一张纹理(RT)

  • 然后你可以在 Shader 中任意采样任意位置的屏幕内容

tex2Dproj(_BGTex, grabPos);
可以采样的区域不仅限于当前像素点,可以扭曲、扰动、偏移等操作

tex2Dproj(_BGTex, grabPos) 中,使用 proj(投影采样)而不是常规 tex2D()是因为 GrabPass 返回的是屏幕空间坐标中的一个齐次坐标(Homogeneous Coordinate),也就是一个 clip space / projection space 的值带有 w 分量,它必须被还原成 2D UV。

函数传入参数会不会自动除以 .w典型用途
tex2D()float2 uv❌ 不会普通 UV 贴图
tex2Dproj()float4 uvwq✅ 会除以 .w投影纹理 / GrabPass 的屏幕坐标

一小时入门URP:从渲染原理到艺术馆制作_哔哩哔哩_bilibili

xxxxx

针对网格的shapekey

GrabPass 提供的是屏幕图像,但这个图像的采样坐标来自 裁剪空间(Clip Space) 的输出 SV_POSITION

o.grabPos = ComputeGrabScreenPos(o.pos); // 背景纹理采样坐标
的意义非常关键:它将顶点的裁剪空间坐标 o.pos 映射成可以用于采样 GrabPass 背景纹理的坐标,并且保留为 float4,供后续 tex2Dproj() 做透视除法使用。

越不透明,越能折射效果

是合理性的编排

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

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

相关文章

ReactNative【实战系列教程】我的小红书 8 -- 我(含左侧弹窗菜单,右下角图标等)

最终效果点左上角菜单按钮&#xff0c;弹出左侧菜单后代码实现app/(tabs)/mine.tsx import icon_add from "/assets/icons/icon_add.png"; import mine_bg from "/assets/images/mine_bg.png"; import Heart from "/components/Heart"; import a…

C++性能优化实战:从理论到落地的五大核心策略

在当今这个对计算效率要求极高的时代&#xff0c;C作为系统级编程语言的王者&#xff0c;其性能优化能力依然是无可替代的核心竞争力。本文将分享我在大型分布式系统开发中积累的C性能优化实战经验&#xff0c;这些经验帮助我们将关键组件的吞吐量提升了300%&#xff0c;延迟降…

字节 Seed 团队联合清华大学智能产业研究院开源 MemAgent: 基于多轮对话强化学习记忆代理的长文本大语言模型重构

&#x1f525; 最新动态!!! [2025/07] 我们提供了快速启动脚本&#xff0c;让使用MemAgent变得超级简单&#xff0c;详情请见下方"快速入门"部分。[2025/06] 我们发布了RL-MemAgent-14B和RL-MemAgent-7B模型&#xff0c;在350万token上下文任务中实现了近乎无损的性…

【unitrix】 4.20 类型级二进制数减法实现解析(sub.rs)

一、源码 这段代码实现了一个用于统计二进制补码整数位数的系统&#xff0c;支持多种自定义数值类型&#xff08;Z0、P1、N1、B0、B1&#xff09;。 use core::mem::size_of; use crate::number::{Z0, P1, N1, B0, B1, Var};/// 统计二进制位数的 trait pub trait BitLength {f…

手把手教你安全删除Anaconda虚拟环境(避坑指南)

文章目录一、删除前必看清单&#xff08;超级重要&#xff09;二、三种删除方法对比&#xff08;建议收藏&#xff09;方法1&#xff1a;官方推荐命令&#xff08;最安全&#xff09;方法2&#xff1a;暴力删除大法&#xff08;快速但需谨慎&#xff09;方法3&#xff1a;核弹级…

Effective Modern C++ 条款7:区分使用 `()` 和 `{}` 创建对象

在 C11 及以后的版本中&#xff0c;初始化对象的方式变得更加灵活&#xff0c;但也带来了选择上的困惑。() 和 {} 是两种常见的初始化语法&#xff0c;它们在语义、行为和适用场景上有显著差异。本文将通过具体示例&#xff0c;深入解析这两种初始化方式的区别&#xff0c;并探…

Java基础-String常用的方法

String常用的三种构造方法 public static void main(String[] args) {//1.使用常量字符串构造String s1 "1.Hello world";System.out.println(s1);//2.使用new关键字构造String s2 new String("2.Hello world");System.out.println(s2);//3。使用字符数组…

数学建模:多目标规划:ε约束法、 理想点法

一、ε约束法定义ε约束法通过将部分目标函数转化为约束条件&#xff0c;保留一个主要目标进行优化。1、选择一个主要目标 fk​(x) 进行优化。2、其他目标 fi​(x) 转化为约束 fi​(x)≤εi​&#xff0c;其中 εi​ 是决策者设定的容许阈值。​​原理​​​​目标选择​​&…

linux kernel struct regmap_config结构详解

在 Linux 内核中&#xff0c;struct regmap_config 是 ​Regmap 子系统的核心配置结构体&#xff0c;用于定义如何与底层硬件寄存器进行交互。Regmap&#xff08;Register Map&#xff09;子系统通过抽象不同总线&#xff08;如 I2C、SPI、MMIO 等&#xff09;的寄存器访问细节…

【Python3教程】Python3高级篇之CGI编程

博主介绍:✌全网粉丝23W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…

docker安装Consul笔记

安装过程 详细步骤如下&#xff1a; 首先拉取Consul的Docker镜像&#xff1a; docker pull hashicorp/consul:1.18.1创建Consul的配置文件和数据目录&#xff1a; mkdir -p /srv/docker/consul/data mkdir -p /srv/docker/consul/config在config目录下创建一个config.json配置文…

.net数据脱敏

.NET数据脱敏技术&#xff1a;保障数据安全的有效手段 在当今数字化时代&#xff0c;数据安全至关重要。尤其是涉及到用户的敏感信息&#xff0c;如密码、手机号码等&#xff0c;必须采取有效的措施进行保护。数据脱敏就是这样一种技术&#xff0c;它能够在不影响数据可用性的…

【openp2p】 学习2:源码阅读P2PNetwork和P2PTunnel

【openp2p】 学习1:P2PApp和优秀的go跨平台项目已经做了初步分析。阅读原版工程,感觉工程是一个暴露内网服务端口,让外部可以用的一个实现是一个完整的、跨平台的可商业化的应用。感谢作者需要学习作者的设计思路工程构建 F:\GolandProjects\openp2p\core\p2pnetwork.go通常…

网安学习NO.14

防火墙基础实验 传统防火墙配置实验拓扑图PC&#xff1a; ip 192.168.10.1 255.255.255.0 192.168.10.254 ip dns 114.114.114.114二层交换机 vl 10 ex int e0/0 sw mo ac sw ac vl 10 ex inr e0/1 sw tr en do sw mo tr三层交换机 vl 10 ex int g0/0 sw tr en do sw mo tr ex …

ESP32语音唤醒

两种唤醒方式AfeWakeWord与EspWakeWord对比 底层技术 AfeWakeWord&#xff1a;基于ESP-IDF的AFE框架&#xff08;esp_afe_sr_iface_t&#xff09;&#xff0c;高性能模式&#xff08;AFE_MODE_HIGH_PERF&#xff09;EspWakeWord&#xff1a;基于WakeNet接口&#xff08;esp_wn_…

借助 Wisdom SSH AI 助手,轻松安装 CentOS 8 LNMP 环境

打开Wisdom SSH软件&#xff0c;在AI对话区输入“在CentOS 8服务器安装LNMP环境”&#xff0c;AI助手会按以下步骤分析并执行安装&#xff1a; 安装Nginx 分析&#xff1a;CentOS 8默认软件源可能没有Nginx&#xff0c;所以要先启用Nginx官方软件源&#xff0c;然后才能安装Ngi…

WD0407 40V 7A 超级肖特基二极管,应用于开关汽车工业控制

WD0407 40V 7A 超级肖特基二极管说明​ 产品概述​ WD0407 是一款性能卓越的超级肖特基二极管&#xff0c;专为满足现代电子设备对高效、可靠电源管理的需求而设计。它采用先进的半导体制造工艺&#xff0c;在诸多关键性能指标上表现出色&#xff0c;能够为各类电路提供稳定、高…

卢比危机下的金融破局:科伦坡交易所技术升级作战图

&#x1f30f; 今日南亚风暴眼 印度双重上市机制加速落地&#xff1a;印度国家证券国际交易所&#xff08;NSE IX&#xff09;与科伦坡证券交易所&#xff08;CSE&#xff09;达成技术对接协议&#xff0c;斯企可通过印度GIFT City吸引美元资本&#xff0c;交易时段覆盖全球22小…

upload-labs靶场通关详解:第20关 /.绕过

一、分析源代码// 初始化上传状态标记&#xff0c;默认为false&#xff0c;即文件未上传 $is_upload false; // 初始化消息变量&#xff0c;用于存储错误信息 $msg null;// 检查是否通过POST方式提交了表单&#xff08;点击上传按钮&#xff09; if (isset($_POST[submit])) …

企业用云状态评估

云部署形态及其策略规划成熟度 单云部署&#xff1a; 主要业务负载运行在单一公有云或私有云上 多云/混合云部署 —有清晰战略规划与实施&#xff1a; 业务负载运行在多个云&#xff08;公有云或混合云&#xff09;上&#xff0c;并且企业拥有清晰的多云/混合云战略规划&#x…