Three.js: ๋กœ๋”

์— ๋งŒ๋“  2014๋…„ 10์›” 28์ผ  ยท  66์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: mrdoob/three.js

์žˆ์œผ๋ฉด ์ข‹์„ ๋กœ๋” ๋ชฉ๋ก:

3D

Enhancement Loaders

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

3dm ๋กœ๋” ๊ด€๋ จ: emscripten( rhino3dm ) ๋•๋ถ„์— openNURBS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ wasm์œผ๋กœ ์ปดํŒŒ์ผ๋˜์—ˆ์œผ๋ฏ€๋กœ ์ด์ œ ์ด ์ž‘์—…์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ €๋Š” ์—ฌ๊ธฐ์—์„œ ์ž‘์—… ์ค‘์ด๋ฉฐ ๋ฉ”์‰ฌ, breps, ๋Œ์ถœ, ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ, ์žฌ์งˆ, ๋ ˆ์ด์–ด ๋ฐ ๊ทธ๋ฃน ์ง€์›์ด ์‹œ์ž‘๋˜์–ด ์ž‘๋™ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

image

๊ด€๋ จ ํŒŒ์ผ:

์–ธ์  ๊ฐ€ _๊ณง_ ๋” ๋งŽ์€ ๊ฐ์ฒด ์œ ํ˜•์„ ์ง€์›ํ•˜๋Š” PR์„ ์ œ์ถœํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์›น ์ž‘์—…์ž์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ๊ฑฐ์˜ ์—†์œผ๋ฉฐ draco ๋ฐ ๊ธฐ๋ณธ ๋กœ๋” ์˜ˆ์ œ์— ์˜์กดํ•˜๊ณ  ์žˆ์Œ์„ ์ธ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋ผ๊ฑด๋Œ€ #18234๋Š” ์ด๊ฒƒ์„ ์กฐ๊ธˆ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.

ps ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ here ๋ฐ here ์™€ ๊ฐ™์ด rhino3dm.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ง์ ‘ threejs ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘: McNeel ์กฐ์ง ํฌํฌ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ๋งํฌ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  66 ๋Œ“๊ธ€

๋งค์šฐ ๊ด‘๋ฒ”์œ„ํ•œ ๋ชฉ๋ก!
๋˜ํ•œ 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 ํ˜ธ์ถœ์„ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

http://dzzd.net/3DSChunkDefinitions.html

๊ฐ์‚ฌ ํ•ด์š”! ์ฒซ ๋ฒˆ์งธ ๊ฒŒ์‹œ๋ฌผ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ์ฃผ๋กœ ํ˜„์žฌ 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๊ฐ€ ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค! ๐Ÿ˜

16011

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๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๊ณ  ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๋‹ค๋ฃจ๋Š” ์ด ํ˜•ํŽธ์—†๋Š” ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋” ๋‚˜์„ ๊ฒƒ์ด๋ผ๋Š” ๋ฐ๋Š” ์˜์‹ฌ์˜ ์—ฌ์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ตœ๊ทผ์— ์ด๊ฒƒ์„ ์‹œ๋„ํ–ˆ๋‹ค. ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.
image

๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.
image

๊ธฐ๋ณธ์ ์œผ๋กœ ์ž˜๋ชป๋œ ๊ฒƒ์€ ์‹ค์ œ ๋ฐฐ์น˜ ๋ฐ ํšŒ์ „์ด๋ฉฐ ๋‚ด 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, ๋Œ์ถœ, ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ, ์žฌ์งˆ, ๋ ˆ์ด์–ด ๋ฐ ๊ทธ๋ฃน ์ง€์›์ด ์‹œ์ž‘๋˜์–ด ์ž‘๋™ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

image

๊ด€๋ จ ํŒŒ์ผ:

์–ธ์  ๊ฐ€ _๊ณง_ ๋” ๋งŽ์€ ๊ฐ์ฒด ์œ ํ˜•์„ ์ง€์›ํ•˜๋Š” PR์„ ์ œ์ถœํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์›น ์ž‘์—…์ž์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ๊ฑฐ์˜ ์—†์œผ๋ฉฐ draco ๋ฐ ๊ธฐ๋ณธ ๋กœ๋” ์˜ˆ์ œ์— ์˜์กดํ•˜๊ณ  ์žˆ์Œ์„ ์ธ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋ผ๊ฑด๋Œ€ #18234๋Š” ์ด๊ฒƒ์„ ์กฐ๊ธˆ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.

ps ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ here ๋ฐ here ์™€ ๊ฐ™์ด rhino3dm.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ง์ ‘ threejs ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘: McNeel ์กฐ์ง ํฌํฌ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ๋งํฌ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ;)
image

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰