原创 threejs 動畫轉json和json轉動畫

將一個AnimationClip 對象直接通過JSON.stringify( )轉換成json對象 後  再用json對象重建AnimationClip是重建不了的 正確做法是 通過THREE.AnimationClip.toJSON(

原创 js+css創建摺疊按鈕

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, in

原创 THREEJS----修復spotLight.toJSON()後 通過ObjectLoader加載target朝向問題

  37220行 Object.toJSON 添加判斷 object是否有target屬性 如果有 通過direction屬性記錄 target的位置 38931行 添加根據direction(記錄spotLight.target的位置)

原创 js超大數字加法運算

  function splitNum(num, segment = 8) { num = num.toLocaleString(); let res = []; while (num.length >= segment

原创 js保持圖像比例 X軸充滿全屏

<div> <img> </div> img.onload = function(){ let w = img.width, h = img.height; img.style.width = d

原创 Last few GCs VUE項目編譯過程中內存不足

解決方案:請自行查看npm increase-memory-limit 特殊情況:在使用vue-video-player組件時編譯過程中也無緣無故的報內存不足,調整分配的內存大小後依舊崩潰,        測試後發現 從github vu

原创 setTimeout和Proxy的執行順序

setTimeout 在下次事件循環的開頭執行 Proxy 的then方法在本輪事件的 結尾執行

原创 electron調用Flash

首先 按需要下載32位或者64位的 pepflashplayer.dll  將pepflashplayer.dll放到項目中 然後在main.js中註冊 // Modules to control application life an

原创 js模板解析

function template(tpl, data, translation = true) { return tpl.replace(/{.*?}/g, function (str) { let res = data[st

原创 threejs給物體添加選中效果

const scene = new THREE.Scene(); const sceneHelpers = new THREE.Scene(); const helper = new THREE.BoxHelper(); rende

原创 threejs 貼圖深拷貝

newObject.material.map = oldObject.material.map.clone(); newObject.material.map.needsUpdate = true;

原创 js+css創建摺疊功能箭頭

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, in

原创 threejs獲取物體的座標的最大值和最小

let box =  new THREE.Box(); box.setObjectFrom( '物體')途中標紅色的方法都是等效的 然後查看 box.max 和box.min屬性; 2D的類似  

原创 threejs深拷貝

  this.deepClone = (object) =>{ let target = null; if(object.type === 'Mesh' || object.type === 'Sprite'){