초기 PM 소스 전체 업로드
This commit is contained in:
commit
4e33c9a02a
1769 files changed
+377797
No files matched your search
@@ -0,0 +1,2 @@
|
||||
(()=>{"use strict";var e,t={732:(e,t,a)=>{var n=a(437),o=a(922),r=a(40),i=a(24),s=a(231),c=a(728),d=a(921),l=a(92),u=a(70),p=a(702),m=a(806),h=a(494);class w{constructor(e){let t,a,n;this.mouseMoved,e.addEventListener("mousedown",e=>{t=e.offsetX,a=e.offsetY,n=Date.now()}),e.addEventListener("mouseup",e=>{const o=Math.abs(e.offsetX-t),r=Math.abs(e.offsetY-a),i=Date.now()-n;this.mouseMoved=o>5||r>5||i>500})}}let g,f,y,v,b,L,x,M,R,U,j=document.getElementById("progress-text"),k=null;function O(){y.aspect=g.clientWidth/g.clientHeight,y.updateProjectionMatrix(),v.setSize(window.innerWidth,window.innerHeight)}function C(){R&&R.update(),b.update(),v.setAnimationLoop(C),v.render(f,y)}async function S(e){await async function(){if(f)return;g=document.querySelector("#canvas"),v=new n.JeP({canvas:g,antialias:!0,powerPreference:"high-performance"}),v.setSize(window.innerWidth,window.innerHeight),v.setPixelRatio(Math.min(window.devicePixelRatio,2)),k=new n.JeP({antialias:!0,preserveDrawingBuffer:!0}),f=new o.Z58;const e=g.clientWidth/g.clientHeight;y=new o.ubm(75,e,.1,1e3),y.position.set(0,5,10);const t=new o.$p8(16777215,.6);f.add(t),b=new i.N(y,g),window.addEventListener("resize",O);const a=(new s.Y).setPath("./textures/"),r=await a.loadAsync("demonstration-research-center.hdr");r.mapping=o.wfO,f.background=r,f.backgroundBlurriness=.9,f.environment=r,r.dispose(),L=new o.tBo,x=new o.I9Y,g.addEventListener("click",D),U=new w(g),C()}(),M&&(f.remove(M),function(){M&&M.traverse(e=>{e.geometry&&e.geometry.dispose(),e.material&&(Array.isArray(e.material)?e.material.forEach(e=>{e.map&&e.map.dispose(),e.normalMap&&e.normalMap.dispose(),e.roughnessMap&&e.roughnessMap.dispose(),e.metalnessMap&&e.metalnessMap.dispose(),e.dispose()}):(e.material.map&&e.material.map.dispose(),e.material.normalMap&&e.material.normalMap.dispose(),e.material.roughnessMap&&e.material.roughnessMap.dispose(),e.material.metalnessMap&&e.material.metalnessMap.dispose(),e.material.dispose()))});window.gc&&window.gc()}(),URL.revokeObjectURL(M.userData.url));const t=e.name.split(".").pop().toLowerCase(),a=URL.createObjectURL(e);let r;try{switch(t){case"glb":case"gltf":{const t=new d.p;t.setTranscoderPath("./libs/basis/").detectSupport(v);const n=new c.Z;let o;n.setDecoderPath("./libs/draco/gltf/"),n.preload(),r=new l.B,r.setKTX2Loader(t),r.setDRACOLoader(n);try{o=await r.loadAsync(a,t=>$(t,e))}catch(e){return void URL.revokeObjectURL(a)}document.querySelector(".progress-wrap").style.display="none",M=o.scene,M.userData.url=a,f.add(M),P(y,M,b),URL.revokeObjectURL(a);break}case"obj":{let t;r=new u.L;try{t=await r.loadAsync(a,t=>$(t,e))}catch(e){return void URL.revokeObjectURL(a)}document.querySelector(".progress-wrap").style.display="none",M=t,M.userData.url=a,f.add(M),P(y,M,b),URL.revokeObjectURL(a);break}case"stl":{let t;r=new p.t;try{t=await r.loadAsync(a,t=>$(t,e))}catch(e){return void URL.revokeObjectURL(a)}document.querySelector(".progress-wrap").style.display="none";const n=new o._4j({color:11184810}),i=new o.eaF(t,n);M=i,M.userData.url={url:a},f.add(M),P(y,M,b),URL.revokeObjectURL(a);break}case"fbx":{let t;r=new m.w;try{t=await r.loadAsync(a,t=>$(t,e))}catch(e){return void URL.revokeObjectURL(a)}document.querySelector(".progress-wrap").style.display="none",M=t,M.userData.url=a,f.add(M),P(y,M,b),URL.revokeObjectURL(a);break}case"3dm":{let t;r=new h.a,r.setLibraryPath("./libs/rhino3dm/");try{t=await r.loadAsync(a,t=>$(t,e))}catch(e){URL.revokeObjectURL(a);const t=["• 웹 최적화된 GLB 포맷 또는 IFC 형식으로 변환해 보세요","• 브라우저 캐시를 삭제하고 다시 시도해보세요","• 불필요한 레이어나 객체를 제거해보세요."];return void alert(`3DM 파일 로딩 실패\n\n오류: ${e?.error?.message}\n\n해결 방법:\n${t.join("\n")}`)}document.querySelector(".progress-wrap").style.display="none",M=t,M.userData.url=a,f.add(M),P(y,M,b),URL.revokeObjectURL(a);break}default:URL.revokeObjectURL(a)}}finally{document.getElementById("schema").textContent=t.toUpperCase(),document.getElementById("schema").style.background="#6944F0",document.getElementById("file-name").textContent=function(){if(performance.memory){const e=performance.memory,t=e.usedJSHeapSize/1048576,a=e.totalJSHeapSize/1048576,n=e.jsHeapSizeLimit/1048576;return`메모리: ${t.toFixed(2)}MB / ${a.toFixed(2)}MB (한계: ${n.toFixed(2)}MB)`}}(),document.querySelector(".left-header > h2").textContent=e.name.replace(/\.[^/.]+$/,"")}}function P(e,t,a){R&&R.stop();const n=(new o.NRn).setFromObject(t).getBoundingSphere(new o.iyt),i=o.cj9.degToRad(e.fov),s=e.aspect,c=2*Math.atan(Math.tan(i/2)*s),d=Math.min(i,c),l=1.05*n.radius/Math.sin(d/2),u=(new o.Pq0).subVectors(e.position,a.target).normalize(),p=n.center.clone().addScaledVector(u,l);e.near=n.radius/100,e.far=1e3*n.radius,e.updateProjectionMatrix();const m={camX:e.position.x,camY:e.position.y,camZ:e.position.z,tgtX:a.target.x,tgtY:a.target.y,tgtZ:a.target.z},h={camX:p.x,camY:p.y,camZ:p.z,tgtX:n.center.x,tgtY:n.cLine truncated
|
||||
//# sourceMappingURL=bundle.26e9bcb072f8f12dccbf.js.map
|
||||
Reference in new issue
Block a user