
音视频图形学桌面应用【免费下载链接】t3TiXL is an open source software to create realtime motion graphics.项目地址https://gitcode.com/GitHub_Trending/t3/t3点击查看免费下载RoundVec3 是 TiXL 开源实时动态图形软件中Lib.numbers.vec3数学算子库的一员其核心作用是将输入的Vec3值按照指定的精度与取整方法逐分量取整官方文档明确指出它可以用于把位置吸附到网格上snapping positions onto a grid。阅读完本文后你将掌握 RoundVec3 三个输入参数的精确含义与默认值、底层逐分量计算公式以及如何在 TiXL 中用它搭建相机位置网格吸附、规则化点阵等实用方案。算子定位与使用场景RoundVec3 属于 Lib.numbers.vec3 算子库与AddVec3、SubVec3、ScaleVector3、NormalizeVector3、LerpVec3等同级属于面向三维向量的基础数学运算节点。它的典型用途包括位置网格吸附把自由移动的物体位置取整到固定间距的格点上例如 0.5、1.0 或 2.0 单位的网格规则化点阵生成配合RadialPoints、RepeatAtPoints等生成类算子将连续变化的坐标整理为离散的规则排布数值规整消除浮点抖动让动画过程中的坐标值稳定在同一数量级便于后续比较或驱动其他逻辑。输入输出参数官方文档给出了完整的参数定义全部输入均可在 TiXL 的算子节点上手动调节或接入上游连线名称相关性 类型说明ValueVector3 Relevant需要取整的原始三维向量通常来自位置、偏移量等连续变化数据PrecisionVector3取整精度各分量独立生效即取整结果将落在该精度的整数倍上ModeInt32取整方法映射到内部枚举ModesRound / Floor / Ceiling输出名称类型ResultSystem.Numerics.Vector3从算子序列化定义 RoundVec3.t3 可以看到三个输入的默认值Value默认(0.0, 0.0, 0.0)Precision默认(1.0, 1.0, 1.0)即默认按整数单位取整Mode默认0即Modes.Round四舍五入模式。UI 布局文件 RoundVec3.t3ui 将Value标记为Relevant高相关输入并展示了三个输入与单个输出在节点图上的标准排布。三种取整模式与逐分量计算原理RoundVec3 的实际计算逻辑位于源码 RoundVec3.cs。其内部定义了一个三值枚举Modesprivate enum Modes { Round, Floor, Ceiling, }Update方法根据Mode输入的枚举值选择对应的数学运算核心公式为先乘精度、取整、再除以精度且 X、Y、Z 三个分量独立执行Modes.Round new Vector3( MathF.Round(v.X * precision.X) / precision.X, MathF.Round(v.Y * precision.Y) / precision.Y, MathF.Round(v.Z * precision.Z) / precision.Z), Modes.Floor new Vector3( MathF.Floor(v.X * precision.X) / precision.X, MathF.Floor(v.Y * precision.Y) / precision.Y, MathF.Floor(v.Z * precision.Z) / precision.Z), Modes.Ceiling new Vector3( MathF.Ceiling(v.X * precision.X) / precision.X, MathF.Ceiling(v.Y * precision.Y) / precision.Y, MathF.Ceiling(v.Z * precision.Z) / precision.Z),三种模式的行为差异Round默认使用MathF.Round结果取最接近精度的倍数。需注意 .NET 的MathF.Round默认采用银行家舍入MidpointRounding.ToEven即恰好落在中点时向偶数方向取整Floor使用MathF.Floor始终向下取整结果小于等于原始值适合不超过目标值的向下吸附Ceiling使用MathF.Ceiling始终向上取整结果大于等于原始值适合至少达到某格的向上吸附。当Mode传入无法识别的枚举值时代码返回Vector3.Zero作为兜底见_ Vector3.Zero分支因此接入Mode的取值应限定在上述三种枚举范围内。Precision 精度参数的数学含义Precision是一个逐分量生效的Vector3其数学含义是取整网格的间距量化步长Precision (1, 1, 1)默认值结果每个分量都是整数Precision (0.5, 0.5, 0.5)结果吸附到 0.5 的倍数上可得到更细的网格Precision (2, 2, 2)结果吸附到偶数上网格间距为 2 个单位Precision (0.25, 1, 1)X 轴按 0.25 细粒度取整Y、Z 轴保持整数网格实现非均匀网格吸附。因为公式对每个分量独立执行round(v * p) / p所以Precision各轴可以自由设置不同数值从而构建矩形网格而非正方形网格。取整结果的取值范围始终落在以原点为中心、间距为 p 的整数倍格点上这一性质非常适合程序化生成规则化的三维点阵。实战相机位置的网格吸附仓库中的示例 CamPositionExample.t3 使用了 RoundVec3展示了它在相机/位置控制类场景中的落地方式。在该示例中RoundVec3 与Vector3Components、RadialPoints、ScaleVector3、RepeatAtPoints、DrawLines等节点组合先由RadialPoints生成圆周上的候选点经ScaleVector3缩放半径示例中出现了 6.2、3.4 等缩放值再通过 RoundVec3 将坐标规整到网格上最终由DrawLines绘制出规则化的参考线与点阵帮助用户在场景中直观定位相机或物体位置。一个典型的搭建思路是用RadialPoints或PerlinNoise3产生连续变化的Vec3坐标将坐标接入 RoundVec3 的Value将常量Vector3如(0.5, 0.5, 0.5)或(1, 1, 1)接入Precision控制网格密度将Mode设为 Round / Floor / Ceiling 之一观察吸附行为差异将Result输出接入物体的位置输入或渲染节点的坐标输入。若网格位于原点附近请记得将坐标先做原点偏移再取整否则吸附格点会以世界原点对齐而不是以物体局部中心对齐。相关算子与延伸阅读Lib.numbers.vec3 算子库总览包含全部三维向量算子的索引Lib.numbers.vec2 算子库二维场景下同样有网格类算子可用单精度标量版本可参考 Lib.numbers.float.adjust 中的 Round其提供了基于StepsPerUnit与RoundRatio的进阶取整逻辑适合需要连续调节取整粒度的场合若需要把向量拆分后再逐轴处理可组合Vector3Components见 vec3 库索引单独控制每一轴的取整精度。综上RoundVec3 是一个小而精的数学节点三个输入、一个输出却能支撑网格吸附、规则点阵、坐标规整等多种实时动态图形需求。理解其乘精度 → 取整 → 除精度的逐分量公式与三种取整模式的差异即可在 TiXL 节点图中自如控制三维空间里的离散化行为。赞分享音视频图形学桌面应用【免费下载链接】t3TiXL is an open source software to create realtime motion graphics.项目地址https://gitcode.com/GitHub_Trending/t3/t3点击查看免费下载相关推荐TiXL 顶点网格吸附算子 CollapseVertices 深度解析用 Compute Shader 将网格顶点塌缩到三维网格TiXL 顶点网格吸附算子 CollapseVertices 深度解析用 Compute Shader 将网格顶点塌缩到三维网格 本文以 TiXL实时动态图音视频图形学桌面应用TiXL MeshVolumeForce 粒子力详解让粒子沿低多边形网格流动的碰撞与吸附实现TiXL MeshVolumeForce 粒子力详解让粒子沿低多边形网格流动的碰撞与吸附实现 MeshVolumeForce 是 TiXLt3粒子系统中一音视频图形学桌面应用TiXL 粒子力场教程使用 FollowMeshSurfaceForce 让粒子吸附并沿网格表面流动TiXL 粒子力场教程使用 FollowMeshSurfaceForce 让粒子吸附并沿网格表面流动 FollowMeshSurfaceForce 是 TiX音视频图形学桌面应用上一篇ESL-CN项目解读PRIM算法在统计学习中的应用下一篇discord.py 日志配置完全指南从 Client.run 到自定义 Handler 的实战方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考