当前位置: 首页 > Web前端 > vue.js

threejs控制3d模型透明度

时间:2023-04-01 01:40:44 vue.js

threejs鐨刟pi娌℃湁鎵惧埌鎺у埗妯″瀷鍙鎬х殑瑙e喅鏂规锛屾墍浠ユ湁浠ヤ笅姘戦棿鏂规硶锛?.鍏堝姞杞芥ā鍨嬬殑鏃跺€欙紝缁欓渶瑕佺殑鏉愯川娣诲姞涓€涓壒娈婄殑灞炴€э紙name='dikuai'锛夊彲瑙佸拰闅愯棌銆傝繖閲屾妸鎵€鏈夌殑mesh閮芥斁鍦ㄤ竴涓粍閲岃繘琛屾暣浣撴帶鍒禷dd(this.models)gltf.scene.traverse((child)=>{if(child.isGroup){child.name='dikuai'this.groups.push(child);}});},鏈畾涔?鏈畾涔?2.鎺у埗鏄剧ず闅愬紡鏂规硶鏄壘鍒皀ame绛変簬dikuai鐨勭礌鏉愶紝鐒跺悗灏嗗畠浠殑閫忔槑搴﹁缃负0鎴?show(){leta=this.groups.find(item=>item.name=='dikuai')a.children.forEach(element=>{element.material.transparent=trueelement.material.opacity=1});},hide(){leta=this.groups.find(item=>item.name=='dikuai')a.children.forEach(element=>{element.material.transparent=trueelement.material.opacity=0});},3.鍘熶綔鑰咃細馃憞馃憞馃憞https://segmentfault.com/u/yo...4.閲嶇偣锛侊紒!锛氱敱浜庨儴鍒嗘潗璐ㄥ垵濮嬮€忔槑搴︼紝鏈€缁堟晥鏋滀細鏄剧ず鎵€鏈夋潗璐ㄧ殑閫忔槑搴︿笉浼氬悓鏃惰揪鍒?鎴?锛屾墍浠ュ鏋滆娣″叆娣″嚭闇€瑕佽缃负a鍚屾椂瀵规煇涓€艰繘琛屽噺娉曟垨鍔犳硶Lastvalue馃憞//閿欒鐨勬柟娉昹eta=this.groups.find(item=>item.name=='dikuai')a.children.forEach(element=>{element.material.transparent=trueelement.material.opacity+=0.01});//姝g‘鏂规硶letnewopacity=loopchangedvaluehide(newopacity)functionhide(val){leta=this.groups.find(item=>item.name=='dikuai')a.children.forEach(element=>{element.material.transparent=trueelement.material.opacity=鍊紏);}