์์ผ๋ฉด ์ข์ ๋ก๋ ๋ชฉ๋ก:
[ ] X3D๋ก๋
[x] DDS๋ก๋
[ ] TIFF๋ก๋
[x] SVG๋ก๋
๋งค์ฐ ๊ด๋ฒ์ํ ๋ชฉ๋ก!
๋ํ AMF(http://en.wikipedia.org/wiki/Additive_Manufacturing_File_Format) ๋ก๋๋ฅผ ์ ์ํฉ๋๋ค.
(3d ์ธ์์ ์ฌ์ฉ๋๋ 3d ํ์ผ ํ์).
๋ก๋์ ๊ธฐ๋ณธ ์ฌํญ์ ์ด๋ฏธ ์๋ฃ๋์์ผ๋ฏ๋ก ์ฝ๊ฐ ์์ ํ๊ณ ์์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ก๋์ ๋๋ถ๋ถ์ ํธ์ง๊ธฐ์ ๊ฐ์ ํน๋ณํ ๊ฒฝ์ฐ์ ๋ ์ค์ํฉ๋๋ค. ๊ฒ์์ ๊ฒฝ์ฐ ๊ณง๋ฐ๋ก three.js ํ์์ผ๋ก ๋ณํํ๋ ๊ฒ์ด ๋ ๋์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ ์ฃ ? ์ด๋ฌํ ๊ฒฝ์ฐ ๋ณํ๊ธฐ/์์ถ์ ์ฒด๊ฐ ๋ ์ค์ํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ต์ ํ๋ฅผ ์ํด 3๊ฐ์ ํ์์ ๋์ฒดํ๊ธฐ ์ํด glTF๋ฅผ ํ ์คํธํ์ต๋๋ค. ๋ฐ์ดํฐ๋ ๋ฐ์ด๋๋ฆฌ์ด๊ณ ๊ธฐํ์์ถ์ผ๋ก ์์ถํ ์ ์์ต๋๋ค.
Herst [email protected] kirjoitti 2014๋ 10์ 28์ผ kello ์คํ 5:38:
์ด๋ฌํ ๋ก๋์ ๋๋ถ๋ถ์ ํธ์ง๊ธฐ์ ๊ฐ์ ํน๋ณํ ๊ฒฝ์ฐ์ ๋ ์ค์ํฉ๋๋ค. ๊ฒ์์ ๊ฒฝ์ฐ ๊ณง๋ฐ๋ก three.js ํ์์ผ๋ก ๋ณํํ๋ ๊ฒ์ด ๋ ๋์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ ์ฃ ? ์ด๋ฌํ ๊ฒฝ์ฐ ๋ณํ๊ธฐ/์์ถ์ ์ฒด๊ฐ ๋ ์ค์ํฉ๋๋ค.
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ํ์ ํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
@kaosat-dev ๋ชฉ๋ก์ ์ถ๊ฐ๋์์ต๋๋ค!
@ํ์คํธ ๋ค. ๋น ๋ฅธ ๋ก๋ ์๊ฐ์ด ํ์ํ์ง ์์ ํธ์ง์๋ ์ฑ์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
IGES ๋ก๋๋ ์ฐพ๊ณ ์์ต๋๋ค. ๋๋ ์ด์ฉ๋ฉด ์ค์ค๋ก ๊ฑด๋ฌผ์ ์ง๊ธฐ ์์ํ ์๋ ์์ง๋ง ์ด๋์๋ถํฐ ์์ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋ชฉ๋ก์ 3DM ( Rhinoceros ์์ ์ฌ์ฉ)์ ์ถ๊ฐํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น?
@nyaaao ๋ ์ด ์ถ๊ฐํ์ต๋๋ค. ๊ฐ์ฌ!
3DS ๋ก๋ ์ ๋ณด:
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ ์ค๋์ ์ 3DzzD Web 3D ์์ง์ฉ 3DS ๋ก๋๋ฅผ ๋ง๋ค์ด์ผ ํ๋๋ฐ ์กฐ๊ธ ์ด๋ ค์ ์ต๋๋ค... ์ฒซ ๋ฒ์งธ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๊ฒ์ด ์ด๋ ต์ง ์๊ณ ๋ชจ๋ ์ฒญํฌ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ์ง๋ง ์๊ฐ์ด ์ง๋๋ฉด ๊ฝค ํจ์จ์ ์ธ ๋ก๋๋ฅผ ์์ฐํ ์ ์์์ต๋๋ค. 3DS ํ์ผ ํ์ ์ฌ์์ ์ฐพ๊ธฐ๊ฐ ์ด๋ ต์ง๋ง ๊ฝค ์ ์๋ํ๋ ๊ฒ์ ์ฐพ์์ต๋๋ค. ์ด ๋ฌธ์๋ก 3DzzD์ฉ ๋ก๋๋ฅผ ๊ตฌ์ถํ์ผ๋ฉฐ ํ์ฌ Photoshop์ ๋ก๋๋ณด๋ค ํจ์ฌ ๋ ์ ์๋ํฉ๋๋ค(ํผ๋ฒ/์ค๋ฌด๋ ๊ทธ๋ฃน/์ค์ผ์ผ/ํคํ๋ ์/๋ฑ์์ ๋ ๋์ ์ฒ๋ฆฌ...). ๊ทธ๋์ ์ฌ๊ธฐ์ ๋ด๊ฐ ์ฌ์ฉํ ์ฌ์์ด ์์ต๋๋ค. (3DzzD ์์ค ์ฝ๋๋ ์คํ ์์ค์ด๋ฉฐ ๋์์ด ๋ ์ ์์ง๋ง ์ฝ๋๋ ์ ๋ง ๋ชป์๊ฒผ์ต๋๋ค... 10๋ ๋ ํ๋ก์ ํธ...)
http://dzzd.net/3DSChunkDefinitions.html
OBJ ๋ก๋ ์ ๋ณด:
ํ์ฌ OBJ ๋ก๋๋ฅผ ์์ ํ๊ณ ๋ง์ 3D ๋ชจ๋ธ์์ ์ฝ 10/15 FPS ์ด์์ ์ป์์ง๋ง ์ง๊ธ์ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฒ์ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์ง ์ฐพ์ง ๋ชปํ์ต๋๋ค.
๋ฌธ์ ๋ ์ฃผ๋ก ํ์ฌ OBJ ๋ก๋๊ฐ ๋๋ฌด ๋ง์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ (์๋ 3d ๋ชจ๋ธ๋ณด๋ค ๋ ๋ง์ด, ๊ฐ ์ฌ๋ฃ ๋ณ๊ฒฝ ์ ํ๋์ ๊ฐ์ฒด๊ฐ ์์ฑ๋จ) ๋ํ ๋์ผํ ์ฌ๋ฃ๋ฅผ ๊ฐ์ง 3dFaces๊ฐ ๋์ผํ ๊ฐ์ฒด ๋ด์์๋ ํจ๊ป ๊ทธ๋ฃนํ๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋๋ฌด ๋ง์ WebGL ํธ์ถ์ ์์ฑํ์ต๋๋ค.
๊ฐ์ฌ ํด์! ์ฒซ ๋ฒ์งธ ๊ฒ์๋ฌผ์ ์ถ๊ฐ๋์์ต๋๋ค.
๋ฌธ์ ๋ ์ฃผ๋ก ํ์ฌ OBJ ๋ก๋๊ฐ ๋๋ฌด ๋ง์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ (์๋ 3d ๋ชจ๋ธ๋ณด๋ค ๋ ๋ง์ด, ๊ฐ ์ฌ๋ฃ ๋ณ๊ฒฝ ์ ํ๋์ ๊ฐ์ฒด๊ฐ ์์ฑ๋จ) ๋ํ ๋์ผํ ์ฌ๋ฃ๋ฅผ ๊ฐ์ง 3dFaces๊ฐ ๋์ผํ ๊ฐ์ฒด ๋ด์์๋ ํจ๊ป ๊ทธ๋ฃนํ๋์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋๋ฌด ๋ง์ WebGL ํธ์ถ์ ์์ฑํ์ต๋๋ค.
์ค! ํฅ๋ฏธ๋ก์ด. ๋น์ ์ OBJMTLLoader
ํ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ์ค๋ฅธ์ชฝ?
์ค! ํฅ๋ฏธ๋ก์ด. ํ์ง๋ง OBJMTLLoader๋ฅผ ์๋ฏธํฉ๋๋ค. ์ค๋ฅธ์ชฝ?
์, ๋ ์ ํํ๊ฒ ๋งํ๋ฉด "if ( /^usemtl /.test( line ) ) " ๋ธ๋ก์ด ๊ฐ ์ฌ์ง ์ค์์น์ ๋ํด ์ ๊ฐ์ฒด/๋ฉ์ฌ๋ฅผ ์์ฑํ๋ฉด ์ฑ๋ฅ ์ ํ์ ์๋ชป๋ ๊ฐ์ฒด ๊ณ์ธต ๊ตฌ์กฐ๋ก ๋๋ฉ๋๋ค.
ํ์ฌ ๋ก๋์ ์์ ๋ ๋ก๋์ ์ฐจ์ด์ ์ ๋ณด์ฌ์ฃผ๋ ๊ฐ๋จํ ํ ์คํธ ์ฌ๋ก๋ฅผ ๊ฒ์ํ๊ฒ ์ต๋๋ค(์ฐจ์ด๋ ์ฃผ๋ก ๋ชจ๋ฐ์ผ ์ฅ์น์์ ๋์ ๋๋๋ค).
๋ค์์ ํ์ฌ ๋ก๋์ ์ต์ ํ๋ ๋ก๋์ ๋ํ ํ ์คํธ ์ผ์ด์ค์ ๋๋ค.
http://demo.dzzd.fr/threejs/OBJMTLLoaderTest/
ํธ์งํ๋ค:
ํ์ฌ ๋ก๋๋ก GalaxyTab3์์ 10FPS๋ฅผ ์ป์๊ณ ์ ๋ก๋๋ก 60FPS ์ด์์ ์ป์์ต๋๋ค. ๋น ๋ฅธ ์ฅ์น์์๋ ์ฐจ์ด๋ฅผ ํ์ธํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
์ถ์ : 3D ๋ชจ๋ธ์ ์ถ์ฒ๊ฐ ๊ถ๊ธํ์๋ค๋ฉด :)
IGES์ ๋ํด ์๋ ์ฌ๋์ด ์์ต๋๊น? ์ ๋ง IGES ๋ก๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋๊ตฐ๊ฐ ๋๋ฅผ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ์์ํ๋ ๋ฐฉํฅ์ ์๋ ค์ค ์ ์๋ค๋ฉด? ๋๋ ์ด๋๊ฐ์ ํ๋๊ฐ ์๋ค๋ฉด. http://www.3dfile.io/ ์ ์๋ ์ฌ๋๋ค๊ณผ ๋ค๋ฅธ 3D ์๊ฐํ ์ฌ์ดํธ ์ค ์ผ๋ถ๊ฐ ThreeJS๋ฅผ ์ฌ์ฉํ๊ณ IGES ์ ๋ก๋๋ฅผ ํ์ฉํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
K3D.js(MIT ๋ผ์ด์ ์ค)์๋ OBJ, 3DS, MD2 ๋ฐ Collada์ฉ ํ์๊ฐ ์์ต๋๋ค. http://k3d.ivank.net. #3843์ ์ฐธ์กฐํ์ญ์์ค.
์์ฌ๋ฅผ ์ํ NIfTI๋ ์ด๋ป์ต๋๊น?
@jugl ํ์์ ๋ํ ์ ๋ณด๊ฐ ์์ต๋๊น?
๊ฑฐ๋ํ ์ปค๋ฎค๋ํฐ ๊ณต๊ฐ์ธ .m2 ๋ชจ๋ธ์ ์ ๋ง ๋ฐ๋๋๋ค. ๋ชจ๋ธ ํ์ผ ๋ฑ์ ๋ํ ๋์์ ์ ๊ณตํ ๊ฒ์ ๋๋ค. Skype: deexone์์ ํด๋น ์ฌ๋ก์ ๋ํด ์ ์๊ฒ ์ฐ๋ฝํ ์ ์์ต๋๋ค. ํ lib ๊ฐ๋ฐ์ http://bridge.net/ ์ ํํธ๋ก ๊ทธ์ lib๋ฅผ js๋ก ๋ณํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๋
ํ์ธ์, BVH ํ์ผ์ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ๋ฏน์์์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก THREE.Skeleton ๋ฐ AnimationClip์ ์ถ๋ ฅํ๋ BVH ๋ก๋๊ฐ ์์ต๋๋ค.
https://github.com/herzig/BVHImporter
์์
์์ : http://herzig.github.io/BVHImporter/
์ฃผ๋ก CMU BVH ํ์ผ ๋ฐ ๊ธฐํ ํ์ผ์์ ํ
์คํธ๋์์ต๋๋ค.
๋ก๋ API๊ฐ ์ด๋ป๊ฒ ์๊ฒผ๋์ง์ ๋ํ ์ง์นจ์ด ์์ต๋๊น?
@herzig ์ค์ํธ! BVHLoader
๋ ๊ต์ฅํ ๊ฒ์
๋๋ค! ๋ก๋์๋ ๊ธฐ๋ณธ์ ์ผ๋ก .load()
๋ฐ .parse()
๊ฐ ์์ต๋๋ค. MD2Loader ๋ฅผ ์ฐธ์กฐ๋ก ์ฌ์ฉํ ์ ์์ง๋ง ํ์ฌ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ผ๋ก PR์ ์ํํ๋ฉด ์ฝ๋๋ฅผ ์ ๋ฆฌํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค(์์ + ์ํ ์ ๋๋ฉ์ด์
๋ ๋ง์ด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค).
์๋
ํ์ธ์,
์ด ๋ชฉ๋ก์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ผ ๋ก๋์ ๋๊ธฐํํ๋ ค๋ฉด...
3MFLoader๊ฐ ๋ชฉ๋ก์ ์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์์ต๋๋ค.
BinaryLoader๊ฐ ๋ชฉ๋ก์ ์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์์ต๋๋ค.
DDSLoader๊ฐ ๋ชฉ๋ก์ ์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์์ต๋๋ค.
FBXLoader๊ฐ ์ ํ๋์ง ์์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์ด ์์ต๋๋ค.
HDRCubeTextureLoader๊ฐ ๋ชฉ๋ก์ ์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์์ต๋๋ค.
MD2Loader๊ฐ ์ ํ๋์ง ์์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์ด ์์ต๋๋ค.
NRRDLoader๊ฐ ์ ํ ์ทจ์๋์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์์ต๋๋ค.
PCDLLoader๊ฐ ๋ชฉ๋ก์ ์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์์ต๋๋ค.
PlayCanvasLoader๊ฐ ๋ชฉ๋ก์ ์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์ด ์์ต๋๋ค.
RGBLLoader๊ฐ ๋ชฉ๋ก์ ์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์์ต๋๋ค.
SVGLoader๊ฐ ์ ํ ํด์ ๋์ด ์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์ด ์์ต๋๋ค.
TGALoader๊ฐ ๋ชฉ๋ก์ ์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์์ต๋๋ค.
TTFLoader๊ฐ ๋ชฉ๋ก์ ์์ง๋ง ์ด๋ฏธ ๊ตฌํ๋์์ต๋๋ค.
๋ค์:
ASCLoader๊ฐ ๋ชฉ๋ก์ ์ถ๊ฐ๋์ด์ผ ํ๋ฉฐ PR์ ๋ฉฐ์น ์์ ๋ณด๋ด์ง ๊ฒ์
๋๋ค.
LASLoader๊ฐ ๋ชฉ๋ก์ ์ถ๊ฐ๋์ด์ผ ํ๋ฉฐ PR์ ๋ฉฐ์น ์์ ๋ณด๋ด์ง ๊ฒ์
๋๋ค.
XYZLoader๊ฐ ๋ชฉ๋ก์ ์ถ๊ฐ๋์ด์ผ ํ๋ฉฐ PR์ ๋ฉฐ์น ์์ ๋ณด๋ด์ง ๊ฒ์
๋๋ค.
์น์ ํ๋,
ํธ๋ฆฌ์คํ
์ด ๋ชฉ๋ก์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ผ ๋ก๋์ ๋๊ธฐํํ๋ ค๋ฉด...
์ ๋ฐ์ดํธ๋์์ต๋๋ค!
Autodesk์์ OpenCTM์ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ OpenCTM์ ์ข์ ์ถ๊ฐ ๊ธฐ๋ฅ์ผ ์ ์์ต๋๋ค.
ํด๋ผ์ฐ๋ ์๋น์ค
https://en.m.wikipedia.org/wiki/OpenCTM
2016๋ 11์ 13์ผ ์ผ์์ผ ์ค์ 6:33 Mr.doob [email protected] ์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์ด ๋ชฉ๋ก์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ผ ๋ก๋์ ๋๊ธฐํํ๋ ค๋ฉด...
์ ๋ฐ์ดํธ๋์์ต๋๋ค!
โ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/mrdoob/three.js/issues/5524#issuecomment -260168120,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAkmxkkOn179ZJvqc8yScOoxnaDGzuH6ks5q9qE6gaJpZM4CzpFw
.
@dlabz ์ฐ๋ฆฌ๋ ์ด๋ฏธ CTMLoader
๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
AR ๊ณต๊ฐ์์ ์ผ๋ถ iOS ๊ฐ๋ฐ์์ ์์ ํ๊ณ ์์ต๋๋ค. ARKit์์ Apple์ด ์ฌ์ฉํ๋ ๋ฐ์ด๋๋ฆฌ SCN ํ์ผ์ฉ ๋ก๋๊ฐ ์์ต๋๊น? ์ ๋ BinaryLoader๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ผ๋ฉฐ ์๋ํ ์ ์๋์ง ํ์ธํ๊ฒ ์ต๋๋ค.
SCN
ํ์์ ๋ํ ์ฌ์์ด ์ด๋๊ฐ์ ์์ต๋๊น?
@mrdoob ๋๋ฌด ๋ฆ์ด์ ์ฃ์กํฉ๋๋ค. NIfTI๋ DICOM์์ ์ ์ก๋ NMR ๋ฐ์ดํฐ ํ์์ ๋๋ค. ํ์ฌ ์๋ฃจ์ ์ VTK/OBJ ํ์์ผ๋ก 3D ๋ชจ์์ ์ป๋ ๊ฒ์ ๋๋ค.
๋ด๊ฐ ์ฐธ์กฐ. ์ด๋๊ฐ์ ์ฌ์์ด ์์ต๋๊น?
IFC ๋ก๋๋ ์ด๋ป์ต๋๊น? ์ด ํ์์ 3d ๋ชจ๋ธ์ ๊ตฌ์ฑ์์ ๋งค์ฐ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
@mrdoob ์ ๋ง ๊ฐ์ฌํฉ๋๋ค.
@mrdoob three.js ๋ก๋๋ฅผ ๋น๋ํ๊ธฐ ์ํ ์ง์นจ + ์ง์ ์ ์ ์กฐ๊ฑด์ ๋ฌด์์
๋๊น?
ํ๋ ๋ง๋ค๊ณ ์ถ์ง๋ง ์ ๋๋ก ๋ง๋ค์ด์ก์ผ๋ฉด ํ๋ ๋ฐ๋์
๋๋ค. ๊ฐ์ฌ ํด์
@Aarbel ์ด๋ค ํ์์ ๋ก๋๋ฅผ ๊ตฌ์ถํ์๊ฒ ์ต๋๊น?
@looeee .ifc ํ์ผ
๋ก๋์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
import {
FileLoader,
Loader,
LoaderUtils
} from '../../../build/three.module.js';
function IFCLoader( manager ) {
Loader.call( this, manager );
}
IFCLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
constructor: IFCLoader,
load: function ( url, onLoad, onProgress, onError ) {
var scope = this;
var path = ( this.path !== undefined ) ? this.path : LoaderUtils.extractUrlBase( url );
var loader = new FileLoader( scope.manager );
loader.load( url, function ( text ) {
try {
scope.parse( text, path, onLoad, onError );
} catch ( e ) {
if ( onError !== undefined ) {
onError( e );
} else {
throw e;
}
}
}, onProgress, onError );
},
parse: function ( text, path, onLoad, onError ) {
// parsing logic goes here
}
} );
๊ฐ์ฌํฉ๋๋ค, ๋ค์ ๋ฌ์ ์์ ํ๊ฒ ์ต๋๋ค
ํ์ด์ ๋น๋๋ค! ๐
๊ธฐ๋ณธ crossOrigin
๋ Anonymous
$์ด์ด์ผ ํฉ๋๊น?
GLTFLoader
๋ฐ ColladaLoader
์ ํจํด์ ์ฌ์ฌ์ฉํ์ต๋๋ค.
LWO ๋ก๋๋ฅผ ๋ณด๊ณ ์ถ์ต๋๋ค.
ํ์ผ ์ฌ์์ ์ฌ๊ธฐ์ ์ ์ค๋ช
๋์ด ์์ต๋๋ค. http://static.lightwave3d.com/sdk/2018/html/filefmts/lwo3.html
LWO ํ์ผ ํฌ๊ธฐ๋ OBJ์ 1/10 ์ ๋์ด๋ฉฐ ํ์์๋ ๋ชจํ ๋ฐ์ดํฐ์ OBJ๊ฐ ํ์ฉํ์ง ์๋ ๊ธฐํ ์ฌ๋ฌ ๊ธฐ๋ฅ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ๋ํ NASA๊ฐ ์ ๊ณตํ๋ ๋ง์ ๋ชจ๋ธ์ LWO ํ์์ผ๋ก๋ง ์์ต๋๋ค. https://nasa3d.arc.nasa.gov/search/lwo/model
๋ด๊ฐ ๋ฌด์์ ํ๊ณ ์๋์ง ์์๋ค๋ฉด ์ด ์์ ์ ์๋ํ์ ๊ฒ์ด์ง๋ง ๋ก๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ด์ ์ ํด๋ณธ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ฐ์ด๋ฉ๋๋ค.
FWIW์๋ ์ฌ๊ธฐ์ LWO ํ์๊ฐ ์์ต๋๋ค: https://github.com/marcbizal/lwo-parser ... ๊ฐ์ ์ ์ผ๋ก ๋ก๋ ๋๋ ๋ณํ๊ธฐ์ ์ข์ ์์์ด ๋ ๊ฒ์ด์ง๋ง ๋ถํํ๋ ํน์ ๋ฒ์ ์ ์ง์ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค NASA๊ฐ ์ฌ์ฉํ๋ LWO ํ์. LWOB(๋ฐ์ด๋๋ฆฌ?)๋ฅผ ์์ํ์ง๋ง ๋ด๊ฐ ์๋ํ NASA ๋ชจ๋ธ์ ๋งค์ง ๋ฒ์ ๋ฌธ์์ด์ LWO2์์ต๋๋ค. JS๊ฐ ์๋ ๋ค๋ฅธ ์ธ์ด๋ก ์์ฑ๋ ์๋ํ๋ ํ์๋ฅผ ์ฐพ์ ๊ฒฝ์ฐ JS์์ ์ ํ์๋ฅผ ์์ฑํ๋ ๊ฒ๋ณด๋ค three.js๊ฐ ์ง์ํ๋ ๊ฒ์ผ๋ก ๋ณํ๊ธฐ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๋ ์ฌ์ธ ์ ์์ต๋๋ค.
์๋ ํ์ธ์, ์ผ์ ์ด ๋ง์ด ๋ณ๊ฒฝ๋์ด three.js์ฉ .ifc ๋ก๋ ์์ ์ ํ ์๊ฐ์ด ์์ต๋๋ค. ์ด ์ฌ๋์ ์ฐ๋ฝ์ฒ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ์ข์ต๋๋ค. https://github.com/mrdoob/three.js/issues/9764
๋ฏธ์ ๋ด๊ฐ ๊นจ๋ซ์ง ๋ชปํ๋ค
๋๋ "LWO 2"์ ๋ก๋๋ฅผ ๋ง๋ค๊ณ ์์๋ค. ๊ทธ๋ฐ๋ฐ ์์๊ฐ ์๋ค๊ณ ์๊ฐํด์ ์์ฑํ์ง ๋ชปํ๋ค.
http://adrs2002.com/sandbox/lwoLoader/lwoTest.html
https://github.com/adrs2002/threeLwoLoader
๋๋ ๊ทธ๊ฒ์ด ๋ฌด์ธ๊ฐ์ ๋์์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋ชจ๋๋ค ์๋ ,
๋๋ M2๊ฐ ๋ชฉ๋ก์ ์๋ ๊ฒ์ ๋ณด์๋ค.
์บ๋ฆญํฐ, ์ค๋ธ์ ํธ, NPC, ์์ดํ ๋ทฐ์ด๋ฅผ ์ฐ๋ฆฌ๋ก ๊ตฌํํ๊ณ ์ถ๊ธฐ ๋๋ฌธ์ ํฅ๋ฏธ๋กญ์ต๋๋ค.
M2์ ๊ด๋ จํ์ฌ ์ฌ์ฉ๋๋ DDS S3 Texture Compression๊ณผ ์ ์ฌํ ๋์์ด BLP2(Blizzard Picture File)์ ๋๋ค.
๋๋ ์ง๊ธ๊น์ง ์ฐพ์์ต๋๋ค:
.m2 = https://github.com/vjeux/jsWoWModelViewer
.blp
๋ ์์ ๋ ๊ทธ๊ฒ์ ์ถ๊ฐํ๋ ค๊ณ ๋ ธ๋ ฅํ์ง๋ง, ๋๋ ์ฌ์ ํ ์ ์ฒด์ ๋ํด ๋๋ฌด ๋ฏธ์ํฉ๋๋ค :D
@adrs2002 LWOLoader
๋๋ฐ! ๊ฐ์ง๊ณ ์๋ ๊ฒ์ผ๋ก PR์ ํ์๊ฒ ์ต๋๊น?
๋ ์์ ๋ ๊ทธ๊ฒ์ ์ถ๊ฐํ๋ ค๊ณ ๋ ธ๋ ฅํ์ง๋ง, ๋๋ ์ฌ์ ํ ์ ์ฒด์ ๋ํด ๋๋ฌด ๋ฏธ์ํฉ๋๋ค :D
์๊ฐ์ ๋ด์ธ์ ๐
LWOLoader๋ ํ๋ฅญํ ๊ฒ์ ๋๋ค!
๋๋ ๋ช ๋ฌ ์ ์ onz.com์์ ์ผํ๋ฉด์ LWO3 ๋ก๋๋ฅผ ์์ฑํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋
์ ๊ธฐ๊ฐ์ ๋์ํ์ผ๋ฉฐ ์ฌ๊ธฐ์ ๊ธฐ์ฌํ๊ฒ ์ต๋๋ค. 2์ ๋ง์ฏค์ด์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
๋๋ @jds580s ๊ฐ z์ Justin์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์๋ง๋ ์ฐ๋ฆฌ๊ฐ ์ฌ๊ธฐ์ ์ถ๊ฐํ ์ ์์ ๋ ๋ ๋์ ์์ด๋์ด๋ฅผ ์ค ์ ์์ ๊ฒ์ ๋๋ค.
@mrdoob @looeee
looee์ LWO3 loader
์ปค๋ฐ์ด ๋๋ค๋ฉด LWO2 loader
์ปค๋ฐ์ ๋ถํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
LWO3 ํ์์ LWO2 ํ์์ ๋ชจ๋ ์ฑ๊ณต์ ํฌํจํ๊ธฐ ๋๋ฌธ์
๋๋ค.
LWOLoader๊ฐ ๋์ฐฉํ์ต๋๋ค! ๐
IFC ๋ก๋์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ๊ณต์ฌ ์ ๊ฒฝ์ ์ข์ ๊ฒ์ ๋๋ค!
๋๋ IFCLoader๋ฅผ ์๋ํ๊ณ ์ด๋ป๊ฒ ๋งํ ๊ฒ์ธ๊ฐ... ์ด๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค! IFC ํ์์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ๋ฐ ํ์ํ ์ ์ฒด ์ฝ๋๋ ์ฝ 650๊ฐ์ ํด๋์ค ํ์ผ์ ๋๋ค. (์ ๊ฐ ํด๋ดค๊ธฐ ๋๋ฌธ์ ์๋๋ค.) ๋ก๋๋ Threejs ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ณด๋ค 5๋ฐฐ ๋ ํฝ๋๋ค.
์ง์ ๊ตฌํํ๋ ค๋ ๊ฒฝ์ฐ ์ฌ์ ์ ๋ณด: http://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/
๋ด ์ฝ๋๋ฅผ ๊ณต๊ฐํ ์ ์๊ณ ๊ทธ๊ฒ์ ๋ํ ์ฝ๊ฐ์ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ํ์ง๋ง ์ผ๋ง ์ง๋์ง ์์ ThreeJs์์ ์ด ๋ก๋๋ฅผ ๋ณผ ์ ์๊ธฐ๋ฅผ ๋ฐ๋ผ์ง ๋ง์ธ์...
๋ด ์ฝ๋๋ฅผ ๊ณต๊ฐํ ์ ์๊ณ ๊ทธ๊ฒ์ ๋ํ ์ฝ๊ฐ์ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ํ์ง๋ง ์ผ๋ง ์ง๋์ง ์์ ThreeJs์์ ์ด ๋ก๋๋ฅผ ๋ณผ ์ ์๊ธฐ๋ฅผ ๋ฐ๋ผ์ง ๋ง์ธ์...
์ ์ ๋ผ?
BTW: ์ต๊ทผ์ ๋๋ฃ์ ์ด์ผ๊ธฐ๋ฅผ ๋๋ด๋๋ฐ ๊ทธ๋ IFC๊ฐ CAD ์ปค๋ฎค๋ํฐ์์ ์ ์๋ ค์ง STEP ํ์์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค๊ณ ๋งํ์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก STEP์ ๊ตฌ๋ฌธ ๋ถ์ํ๊ธฐ๊ฐ ์ ๋ง ์ด๋ ค์ฐ๋ฉฐ VRMLLoader
์ ์ ์ฌํ ์ฌ์ฉ์ ์ ์ ํ์๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ IFC ํ์ผ์ XML๋ก๋ ํํํ ์ ์์ต๋๋ค(ํ์ฅ์๊ฐ .ifcxml
์). ์ด๋ฌํ ํ์ผ์ ์ฒ๋ฆฌํ๊ธฐ๊ฐ ํจ์ฌ ์ฌ์ฐ๋ฏ๋ก( 3MFLoader
๋๋ ColladaLoader
์ฐธ์กฐ) ๋ก๋๋ ์ค์ ์ง์ค๋ฉํธ๋ฆฌ ๋ฐ์ดํฐ ๊ตฌ์ถ์ ์ง์คํ ์ ์์ต๋๋ค. ์ฒ์์๋ .ifcxml
๋ง ์ง์ํ๋ ๋ก๋๋ฅผ ๋ง๋๋ ๊ฒ์ด ๋ ์ฌ์ธ๊น์?
@mrdoob , @Mugen87
์ ์ ๋ผ?
์๋ํ๋ฉด
๋ก๋๋ Threejs ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ณด๋ค 5๋ฐฐ ๋ ํฝ๋๋ค.
์ต์ ์๋ฐ ์คํฌ๋ฆฝํธ ๊ธฐ๋ฅ๊ณผ ํจ๊ป Class
๋ฅผ ์ฌ์ฉํฉ๋๋ค.
IFC๋ CAD ์ปค๋ฎค๋ํฐ์์ ์ ์๋ ค์ง STEP ํ์์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
๋ค, ์ธ์ ๊ฐ ์ ๊ฐ Threejs๋ก ๋ฌด์์ ํ๋์ง ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค ;)
IFC ํ์ผ์ XML๋ก๋ ํํ๋ ์ ์์ต๋๋ค(.ifcxml ํ์ฅ์๋ฅผ ๊ฐ์ง).
...
์ฒ์์ .ifcxml๋ง ์ง์ํ๋ ๋ก๋๋ฅผ ๋ง๋๋ ๊ฒ์ด ๋ ์ฌ์ธ๊น์?
๊ตฌ๋ฌธ ๋ถ์์ ๋ถ๋ช ํ ํฐ ๋ฌธ์ ๊ฐ ์๋๋๋ค. ๊ทธ๋ฌ๋ ๊ธฐํํ ์์ฑ์ ! ifc ํ์์๋ ๊ธฐํ ๋ํ์ด ํฌํจ๋์ด ์์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ์ฒด ๊ฐ์ ๋ณด๊ฐ/์ํธ์์ฉ์ ์ฌ์ฉํ์ฌ ์ต์ข ํ์์ ๊ฒฐ์ ํฉ๋๋ค.
์ด์จ๋ , ์ํ๋ค๋ฉด ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ธฐ ์ ์ ์ด์ ๋ํ ํน์ ๋ถ๊ธฐ๋ฅผ ๋ง๋ค์ด์ผ ํ ์๋ ์์ต๋๋ค. BIG๋ฅผ ๋ณด๊ธฐ ์ํด์์ ๋๋ค.
๋ก๋๋ Threejs ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ณด๋ค 5๋ฐฐ ๋ ํฝ๋๋ค.
๋ค, ๋ก๋๊ฐ ๋ค๋ฅธ ๋ก๋๋งํผ ์ปดํฉํธํ์ง ์๋ค๋ฉด ์ฝ๋๋ฅผ ๋ณ๋์ ์ ์ฅ์์ ๋ฃ๋ ๊ฒ์ด ๋ ๋์ ๊ฒ์ ๋๋ค.
@Itee ์กฐ๋ง๊ฐ IFCLOADER๋ฅผ ์ถ์ํ ๊ณํ์ด ์๋์?
ํฐ ๊ฒ์๋ณด๊ณ ๊ด์ฌ์ ๊ฐ์ง ๊ฒ์
๋๋ค
๊ทธ๊ฒ์ ๊ธฐ์ฌํ๊ณ ์ ์งํ๋ ค๋ ์ฌ๋์ ์์ง ๋ชปํฉ๋๋ค ...
์ ๋ IfcOpenShell์ IFC ๋ณํ๊ธฐ๋ฅผ ํ๋ณตํ๊ฒ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋ฉ์ง ์ง์ค๋ฉํธ๋ฆฌ์ ์ฌ์ง์ ๋ง๋ค๊ณ Collada DAE(Unity๋ก ๊ฐ์ ธ์ค๊ธฐ ์ํด ์ฌ์ฉ), IIRC OBJ๋ฅผ ํ ์ ์์ผ๋ฉฐ ์์ฆ์๋ glTF์ ์์์ต๋๋ค.
์ ๋ IfcOpenShell์ IFC ๋ณํ๊ธฐ๋ฅผ ํ๋ณตํ๊ฒ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋ฉ์ง ์ง์ค๋ฉํธ๋ฆฌ์ ์ฌ์ง์ ๋ง๋ค๊ณ Collada DAE(Unity๋ก ๊ฐ์ ธ์ค๊ธฐ ์ํด ์ฌ์ฉ), IIRC OBJ๋ฅผ ํ ์ ์์ผ๋ฉฐ ์์ฆ์๋ glTF์ ์์์ต๋๋ค.
๊ทธ๋ฌ๋ Buildingstorey, Site ๋ฑ๊ณผ ๊ฐ์ IFC ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๊น?
์น์ด IFC๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ ์ ์๊ณ ๋ชจ๋ ์ฌ๋์ด ๋ค๋ฃจ๋ ์ด ํํธ์๋ ํด๋ผ์ด์ธํธ-์๋ฒ ๋ฌธ์ ๊ฐ ์๋๋ผ ๋ ๋์ ๊ฒ์ด๋ผ๋ ๋ฐ๋ ์์ฌ์ ์ฌ์ง๊ฐ ์์ต๋๋ค.
๋๋ ์ต๊ทผ์ ์ด๊ฒ์ ์๋ํ๋ค. ์ง์ค๋ฉํธ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋ฐ ์ฑ๊ณตํ์ต๋๋ค.
๊ทธ๋ฌ๋ ์ค์ ๋ก ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์๋ชป๋ ๊ฒ์ ์ค์ ๋ฐฐ์น ๋ฐ ํ์ ์ด๋ฉฐ ๋ด 3D ์ํ์ ๊ฑฐ์ ์กด์ฌํ์ง ์์ต๋๋ค(๋จ์ํ ์ธ๋ด์ฌ์ด ์์ต๋๋ค).
IFC ์คํค๋ง์๋ ๋ง์ ํด๋์ค๊ฐ ์์ง๋ง. Typescript ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๊ณ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ๊ฐ 'STEP' ์ธ์๋ฅผ ์กฐํํ๊ณ ์ ์ฉํ๋ฉด ์ต์ข ํ์ผ ํฌ๊ธฐ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
๊ฒฐ๋ก , IFC ๋ก๋์ ๊ฒฝ์ฐ; 3D ์ํ ์ฒ์ฌ๊ฐ ์๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ธฐํํ์ ๊ตฌ์ฑํ๋ ๋์ ์ํ์ ๊ด๊ณ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ๋ง์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋ฌ๋ Buildingstorey, Site ๋ฑ๊ณผ ๊ฐ์ IFC ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๊น?
์, Geom์ ๋ํด IfcOpenShell๋ ์ฌ์ฉํ๋ Tridify์ ๋ณํ ์๋น์ค๋ฅผ ํตํด(์ ๋ ๋ก์ปฌ์์ ์ฌ์ฉํ์ต๋๋ค). ๋๋ ๊ทธ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํ์ฑํ๊ธฐ ์ฌ์ด ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ธฐํํ ์์ฑ์ ์ค์ ๋ก ์ค์ํ์ง ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ์์ ์ํํ๋ ค๋ฉด IfcOpenShell์ WebAssembly๋ก ์ปดํ์ผํ๊ณ Javascript์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. GUI๋ ๋ค๋ฅธ ๊ฒ์ด ์๋ ์ผ๋ฐ C++์ด๋ฉฐ, ๋ณ๋๋ก ๋ช ๋ น์ค ์ธํฐํ์ด์ค๊ฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฏ๋ก ์น์ฉ์ผ๋ก๋ ์ฝ๊ฒ ๋น๋ํ ์ ์์ต๋๋ค. IFC๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ๊ฒ์ ๋ค์ ๋ฌด๊ฑฐ์ฐ๋ฏ๋ก WASM ์ฑ๋ฅ๊ณผ ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ป๋ ๊ฒ์ด ์ข์ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ lib๋ ๊ธฐํ ๋ํ์ ๋ง๋๋ ๋ฐ ํ๋ฅญํ ์ญํ ์ ํฉ๋๋ค.
@MaartenBreeedveld ๋๋ ์ํ์ ๋์ธ ์ ์์ต๋๋ค. ์ด๋ก ์ ์ธ ๊ธฐ์ด๋ฅผ ์ํด ์์ฌ์ ์ฌ์ง๊ฐ ์๊ณ ifc์ ๋ํ ๊ฒฝํ์ด ์์ต๋๋ค. ์ฌ์ค ์ธ๊ณ ์ขํ์ ํ์ํ ์ง๋ ฌ ๋ณํ์ด ์ฌ๋ฌ ๊ฐ ์์ ์ ์์ต๋๋ค. three.js์ ๊ตฌํ์ ์ํด ์๋ง๋ ์ต์ ํ๊ฐ ๊ฐ๋ฅํ ๊ฒ์ ๋๋ค.
๊ทธ๋ฌ๋ Buildingstorey, Site ๋ฑ๊ณผ ๊ฐ์ IFC ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๊น?
์, Geom์ ๋ํด IfcOpenShell๋ ์ฌ์ฉํ๋ Tridify์ ๋ณํ ์๋น์ค๋ฅผ ํตํด(์ ๋ ๋ก์ปฌ์์ ์ฌ์ฉํ์ต๋๋ค). ๋๋ ๊ทธ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํ์ฑํ๊ธฐ ์ฌ์ด ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ธฐํํ ์์ฑ์ ์ค์ ๋ก ์ค์ํ์ง ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ์์ ์ํํ๋ ค๋ฉด IfcOpenShell์ WebAssembly๋ก ์ปดํ์ผํ๊ณ Javascript์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. GUI๋ ๋ค๋ฅธ ๊ฒ์ด ์๋ ์ผ๋ฐ C++์ด๋ฉฐ, ๋ณ๋๋ก ๋ช ๋ น์ค ์ธํฐํ์ด์ค๊ฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฏ๋ก ์น์ฉ์ผ๋ก๋ ์ฝ๊ฒ ๋น๋ํ ์ ์์ต๋๋ค. IFC๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ๊ฒ์ ๋ค์ ๋ฌด๊ฑฐ์ฐ๋ฏ๋ก WASM ์ฑ๋ฅ๊ณผ ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ป๋ ๊ฒ์ด ์ข์ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ lib๋ ๊ธฐํ ๋ํ์ ๋ง๋๋ ๋ฐ ํ๋ฅญํ ์ญํ ์ ํฉ๋๋ค.
์ฐ๋ฆฌ๋ ๊ณผ๊ฑฐ์ ์ด๊ฒ์ ์๋ํ์ต๋๋ค. ๊ทธ๋ฌ๋ WASM ์ปดํ์ผ ๋ฒ์ ์ 40MB ๋ค์ด๋ก๋์ ๋๋ค. ์ด๊ฒ์ ifcConvert์ ๋ชจ๋ ์ฐธ์กฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ฌธ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
@Jesusbill , ๊ต์ฅํฉ๋๋ค! ํ์ฌ ์ ๋ ์ด ํ๋ก์ ํธ๋ฅผ ํ ์๊ฐ์ด ์์ต๋๋ค. ํ์ง๋ง ๊ด์ฐฎ์ผ์๋ค๋ฉด ๋ค์ ์ฐ๋ฝ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์์ฒญ๋! ํ์ฌ ์ ๋ ์ด ํ๋ก์ ํธ๋ฅผ ํ ์๊ฐ์ด ์์ต๋๋ค. ํ์ง๋ง ๊ด์ฐฎ์ผ์๋ค๋ฉด ๋ค์ ์ฐ๋ฝ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ข์ ๊ฑฐ๊ฐ์์ @MaartenBreeedveld
VDBLoader
์ ๋ชฉ๋ก์ ์ถ๊ฐํ์ต๋๋ค. https://www.openvdb.org/
IFCLOADER์ ๋ํ ์์ด๋์ด๊ฐ ์์ต๋๊น? @mrdoob
์๋์
3dm ๋ก๋ ๊ด๋ จ: emscripten( rhino3dm ) ๋๋ถ์ openNURBS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ wasm์ผ๋ก ์ปดํ์ผ๋์์ผ๋ฏ๋ก ์ด์ ์ด ์์ ์ ์์ํ์ต๋๋ค.
์ ๋ ์ฌ๊ธฐ์์ ์์ ์ค์ด๋ฉฐ ๋ฉ์ฌ, breps, ๋์ถ, ํฌ์ธํธ ํด๋ผ์ฐ๋, ์ฌ์ง, ๋ ์ด์ด ๋ฐ ๊ทธ๋ฃน ์ง์์ด ์์๋์ด ์๋ํ๊ณ ์์ต๋๋ค.
๊ด๋ จ ํ์ผ:
์ธ์ ๊ฐ _๊ณง_ ๋ ๋ง์ ๊ฐ์ฒด ์ ํ์ ์ง์ํ๋ PR์ ์ ์ถํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์น ์์ ์์ ๋ํ ๊ฒฝํ์ด ๊ฑฐ์ ์์ผ๋ฉฐ draco ๋ฐ ๊ธฐ๋ณธ ๋ก๋ ์์ ์ ์์กดํ๊ณ ์์์ ์ธ์ ํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ๊ฑด๋ #18234๋ ์ด๊ฒ์ ์กฐ๊ธ ๋จ์ํํฉ๋๋ค.
ps ์ฐ๋ฆฌ๋ ์ด๋ฏธ here ๋ฐ here ์ ๊ฐ์ด rhino3dm.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ง์ threejs ์ง์์ ์ถ๊ฐํ๊ณ ์์ต๋๋ค.
ํธ์ง: McNeel ์กฐ์ง ํฌํฌ๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ๋งํฌ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค ;)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
3dm ๋ก๋ ๊ด๋ จ: emscripten( rhino3dm ) ๋๋ถ์ openNURBS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ wasm์ผ๋ก ์ปดํ์ผ๋์์ผ๋ฏ๋ก ์ด์ ์ด ์์ ์ ์์ํ์ต๋๋ค.
์ ๋ ์ฌ๊ธฐ์์ ์์ ์ค์ด๋ฉฐ ๋ฉ์ฌ, breps, ๋์ถ, ํฌ์ธํธ ํด๋ผ์ฐ๋, ์ฌ์ง, ๋ ์ด์ด ๋ฐ ๊ทธ๋ฃน ์ง์์ด ์์๋์ด ์๋ํ๊ณ ์์ต๋๋ค.
๊ด๋ จ ํ์ผ:
์ธ์ ๊ฐ _๊ณง_ ๋ ๋ง์ ๊ฐ์ฒด ์ ํ์ ์ง์ํ๋ PR์ ์ ์ถํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์น ์์ ์์ ๋ํ ๊ฒฝํ์ด ๊ฑฐ์ ์์ผ๋ฉฐ draco ๋ฐ ๊ธฐ๋ณธ ๋ก๋ ์์ ์ ์์กดํ๊ณ ์์์ ์ธ์ ํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ๊ฑด๋ #18234๋ ์ด๊ฒ์ ์กฐ๊ธ ๋จ์ํํฉ๋๋ค.
ps ์ฐ๋ฆฌ๋ ์ด๋ฏธ here ๋ฐ here ์ ๊ฐ์ด rhino3dm.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ง์ threejs ์ง์์ ์ถ๊ฐํ๊ณ ์์ต๋๋ค.
ํธ์ง: McNeel ์กฐ์ง ํฌํฌ๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ๋งํฌ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.