首页 > 其他分享 >36. 克隆.clone()和复制.copy()

36. 克隆.clone()和复制.copy()

时间:2024-09-21 17:24:00浏览次数:9  
标签:克隆 clone Vector3 36 v1 mesh2 mesh copy

克隆.clone()、复制.copy()是threejs很多对象都具有的方法,比如三维向量对象Vector3、网格模型Mesh、几何体、材质。

克隆.clone()

克隆.clone()简单说就是复制一个和原对象一样的新对象,下面以三维向量对象Vector3给大家举例,其他的threejs对象都可以参照类似的写法。

const v1 = new THREE.Vector3(1, 2, 3);
console.log('v1',v1);
//v2是一个新的Vector3对象,和v1的.x、.y、.z属性值一样
const v2 = v1.clone();
console.log('v2',v2);

复制.copy()

复制.copy()简单说就是把一个对象属性的属性值赋值给另一个对象,下面以三维向量对象Vector3给大家举例,其他的threejs对象都可以参照类似的写法。

const v1 = new THREE.Vector3(1, 2, 3);
const v3 = new THREE.Vector3(4, 5, 6);
//读取v1.x、v1.y、v1.z的赋值给v3.x、v3.y、v3.z
v3.copy(v1);

Mesh克隆.clone()

通过mesh克隆.clone()一个和mesh一样的新模型对象mesh2。

const mesh2 = mesh.clone();
mesh2.position.x = 100;

通过克隆.clone()获得的新模型和原来的模型共享材质和几何体

// 改变材质颜色,或者说改变mesh2颜色,mesh和mesh2颜色都会改变
// material.color.set(0xffff00);
mesh2.material.color.set(0xffff00);

几何体和材质克隆.clone()

const mesh2 = mesh.clone();
// 克隆几何体和材质,重新设置mesh2的材质和几何体属性
mesh2.geometry = mesh.geometry.clone();
mesh2.material = mesh.material.clone();
// 改变mesh2颜色,不会改变mesh的颜色
mesh2.material.color.set(0xff0000);

标签:克隆,clone,Vector3,36,v1,mesh2,mesh,copy
From: https://blog.csdn.net/Miller777_/article/details/142420337

相关文章

  • 贪吃蛇的逻辑 scratch 20240921_113436
    项目名称贪吃蛇单蛇版添加角色自制绘制角色我们画一个蛇头注意方向要朝右有一个舌头(红)角色的移动通过上下左右方向键控制蛇头的移动添加角色添加了一个食物食物的克隆重复执行不停的克隆自己每次克隆完成后要等待几秒克隆体设置随机位置等待几秒钟就删除此克隆......
  • CS 5436 / INFO 5303
    CS5436/INFO5303Fall2024Homework1Due: September24,11:59pETThisisanINDIVIDUALassignment.Youmaydiscuss, buteachstudentmustsubmittheirownwork. Whitespaceaftereachproblemindicatestheapproximatelengthoftheexpectedanswer.......
  • Educational Codeforces Round 136 (Rated for Div. 2) D. Reset K Edges
    这道题目我们可以考虑二分做,二分出最终的深度,然后尝试是否能使用不超过\(k\)次操作使得深度符合条件。考虑如何和判断,我们可以从根节点开始搜索,如果当前点的深度为\(mid+1\),就对当前点进行操作。但很可惜,这种贪心方法可以很容易的举出反例,比如深度为\(mid\)的点下面有很多个叶......
  • 代码随想录算法训练营第十五天 | Javascript | 继续二叉树的一天 | 力扣Leetcode | 补
    目录前言简介题目链接:501.二叉搜索树中的众数题目链接:236.二叉树的最近公共祖先题目链接:235.二叉搜索树的最近公共祖先前言踏平坎坷成大道,斗罢艰险又出发!自律的尽头是自控,自控的尽头是硬控。愿道友们披荆斩棘,终能得偿所愿。简介本人是小几年经验的前端开发,......
  • 基于SpringBoot的流浪宠物求助管理系统—计算机毕业设计源码55366
    摘 要21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。论文主要是对流浪宠物求助......
  • Study Plan For Algorithms - Part36
    1.简化路径给定一个字符串path,表示指向某一文件或目录的Unix风格绝对路径(以'/'开头),请将其转化为更加简洁的规范路径。在Unix风格的文件系统中规则如下:一个点'.'表示当前目录本身。此外,两个点'..'表示将目录切换到上一级(指向父目录)。任意多个连续的斜杠(即,'//......
  • 使用memcpy进行分段copy
    一、概述使用场景:在音视频开发中,用YUV数据+OpenGL进行画面渲染。经常会将Y分量、U分量、V分量分开。分别上传到GPU,由GPU转换为RGB进行最终展示。使用这种方式的原因是基于GPU计算效率高为前提的。在这个过程中经常会用到一个c函数memcpy。将yuv数据分别c......
  • 第136期 铁轨表面裂纹数据集(二)
    引言亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。铁轨裂纹检测与数据集应用探索一、背景随着铁路运输的日益繁忙和重载化,铁轨的安全......
  • 设计资料原理图:622-基于ADRV9002 +ZYNQ7020 的软件无线电 SDR(升级AD9361)
    一、板卡概述   板卡由ADIADRV9002+XilinxXC7Z020-CLG484芯片设计的整板,包含双路射频输入输出通道,支持千兆网络,RS232,触摸屏等接口,双核ARM支持Linux操作系统。板卡功耗很低,适合自定义的无线协议开发,如Loar、Wifi、4G平台等,也适合无线手持机、图传模块的产品开发。二、主要......
  • 重庆“1361数字城市”模式,入选国家数据局案例!
    近期,国家数据局发布《国家数字经济创新发展试验区建设案例集》。其中,数字重庆“打造三级数字化城市运行和治理中心 探索城市精准治理新路径”入选。关注“智慧城市指北”公众号,回复关键字“20240911”,获取获得“数字经济创新发展试验区建设案例集”(前20个案例)资料的方式,案例......