05 2025 档案

摘要:注意:屏幕空间中的顺时针与逆时针与我们看向屏幕的方向是相反的 小技巧:因此,我们可以理解为,我们看到的顺时针为正面,逆时针为反面 如果绘制的平面正反面反了,则调整三角形绘制方向,一般情况下为逆时针方向 a -- b | / | c -- d 三角形 1: (a, b, c) 三角形 2: (c, b 阅读全文
posted @ 2025-05-18 19:27 SimoonJia 阅读(144) 评论(0) 推荐(0)
摘要:1. 计算切线方向 const tangent = nextPoint.clone().sub(currentPoint).normalize(); 解释: nextPoint 和 currentPoint: 分别表示当前点和下一个点的 THREE.Vector3 对象。 sub: 计算两个点的向量 阅读全文
posted @ 2025-05-18 03:13 SimoonJia 阅读(115) 评论(0) 推荐(0)
摘要:import * as THREE from 'three'; // 创建场景和相机 const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window. 阅读全文
posted @ 2025-05-15 21:03 SimoonJia 阅读(58) 评论(0) 推荐(0)
摘要:1. break break 会直接退出当前循环,跳过循环体中剩余的代码,并终止整个循环。 示例 for (let i = 0; i < 5; i++) { if (i 3) { break; // 当 i 为 3 时退出循环 } console.log(i); // 输出: 0, 1, 2 } c 阅读全文
posted @ 2025-05-14 16:33 SimoonJia 阅读(279) 评论(0) 推荐(0)
摘要:1. 顶点着色器内置变量 1.1 gl_VertexID 类型:int 说明:返回当前顶点的索引(从 0 开始)。在使用顶点数组时,每个顶点都会有一个唯一的索引。 1.2 gl_InstanceID 类型:int 说明:返回当前实例化渲染的实例索引。当进行实例化渲染时(即渲染多个相同的物体),该变量 阅读全文
posted @ 2025-05-12 19:03 SimoonJia 阅读(265) 评论(0) 推荐(0)
摘要:1. 数学函数 绝对值函数 abs(x):返回 x 的绝对值。 取整函数 ceil(x):返回大于或等于 x 的最小整数。 floor(x):返回小于或等于 x 的最大整数。 round(x):四舍五入返回最接近 x 的整数。 trunc(x):返回去掉小数部分的 x(向零取整)。 幂运算 pow( 阅读全文
posted @ 2025-05-12 19:01 SimoonJia 阅读(209) 评论(0) 推荐(0)
摘要:参数化缓冲几何体(ParametricGeometry) 生成由参数表示其表面的几何体。 ParametricGeometry 是一个附加组件,必须显式导入。 See Installation / Addons. import { ParametricGeometry } from 'three/a 阅读全文
posted @ 2025-05-12 11:10 SimoonJia 阅读(90) 评论(0) 推荐(0)
摘要:const vertexShader = ` void main() { gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); } `; // 片段着色器 //gl_FrontFacing 内建变量,它会根据面 阅读全文
posted @ 2025-05-11 23:59 SimoonJia 阅读(48) 评论(0) 推荐(0)
摘要:1.曲线路径(CurvePath) 一个扩展了Curve的抽象基类。CurvePath仅仅是一个已连接的曲线的数组,但保留了曲线的API。 path.getPoints ( divisions : Integer ) : divisions -- 曲线分段数量。默认值为12。 2.三维三次贝塞尔曲线 阅读全文
posted @ 2025-05-11 23:00 SimoonJia 阅读(40) 评论(0) 推荐(0)
摘要:面剔除模式 THREE.CullFaceNone THREE.CullFaceBack THREE.CullFaceFront THREE.CullFaceFrontBack CullFaceNone 禁用面剔除。CullFaceBack 为默认值,剔除背面。CullFaceFront 剔除正面。C 阅读全文
posted @ 2025-05-10 11:34 SimoonJia 阅读(127) 评论(0) 推荐(0)
摘要:映射模式 1. THREE.UVMapping 通俗解释:就是最常见的纹理贴图方式。每个 3D 模型的表面都有一套叫做 "UV 坐标" 的东西,这些坐标就像是贴纹理用的 "地图"。UVMapping 就是用这张地图,把纹理图片精确地贴到模型的表面上。 适用场景:用于任何常规模型,比如角色、道具、建筑 阅读全文
posted @ 2025-05-09 20:16 SimoonJia 阅读(75) 评论(0) 推荐(0)
摘要:有三种提示可供用户指定数据。它们都基于用户将如何使用缓冲区。也就是说,用户是直接读取还是写入缓冲区的数据。 DRAW:用户将把数据写入缓冲区,但不会读取数据。 READ:用户不会写入数据,但用户将读回数据。 COPY:用户将不会写入或读取数据。 有三个提示可以说明用户更改缓冲区数据的频率。 STAT 阅读全文
posted @ 2025-05-09 19:17 SimoonJia 阅读(77) 评论(0) 推荐(0)
摘要:使用: this.flatTween = new TweenAnimation({ start, end, duration: this.scannerDuration * 1000, // 动画持续时间:3 秒 onUpdate: (points) => setPoints(points), re 阅读全文
posted @ 2025-05-08 14:04 SimoonJia 阅读(40) 评论(0) 推荐(0)
摘要:渲染时会被平铺,与父级无关:待验证!!!!! 子级继承父级renderOrder: 大概意思就是 如果父级renderOrder不是默认值 会先考虑父级的renderOrder,之后在父级对应的renderOrder下,再依据renderOrder进行渲染 在 Three.js 中,当一个 mesh 阅读全文
posted @ 2025-05-07 10:12 SimoonJia 阅读(274) 评论(0) 推荐(0)
摘要:只考虑先后渲染的顺序,渲染结果体现遮挡,而并非直接控制遮挡 const groundMaterial = new THREE.MeshBasicMaterial({ color: 0x00ff00 }); const objectMaterial = new THREE.MeshBasicMater 阅读全文
posted @ 2025-05-07 10:00 SimoonJia 阅读(35) 评论(0) 推荐(0)
摘要:// 动态更新半径的函数 updateRadius(circleGeometry, newRadius) { const position = circleGeometry.attributes.position; const count = position.count; for (let i = 阅读全文
posted @ 2025-05-06 15:09 SimoonJia 阅读(38) 评论(0) 推荐(0)
摘要:边缘几何体(EdgesGeometry) 剔除集合体中的斜线,第二个参数为0时等效WireframeGeometry geometry — 任何一个几何体对象。thresholdAngle — 仅当相邻面的法线之间的角度(单位为角度)超过这个值时,才会渲染边缘。默认值为1。 const geomet 阅读全文
posted @ 2025-05-06 13:48 SimoonJia 阅读(45) 评论(0) 推荐(0)
摘要:WireframeGeometry用于构造几何体的现况,一般在基础geometry不满足时使用 这个类可以被用作一个辅助物体,来对一个geometry以线框的形式进行查看。 例如,构造圆锥线框: const geometry = new THREE.ConeGeometry( 5, 20, 32 ) 阅读全文
posted @ 2025-05-06 10:56 SimoonJia 阅读(29) 评论(0) 推荐(0)