Three.js: 3D ์žฅ๋ฉด (WebGLRenderer) ์œ„์— HUD๋ฅผ ๋งŒ๋“œ์‹œ๋‚˜์š”?

์— ๋งŒ๋“  2011๋…„ 05์›” 29์ผ  ยท  19์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: mrdoob/three.js

์•ˆ๋…•ํ•˜์„ธ์š”

THREE.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 3D ์žฅ๋ฉด์—์„œ HUD ๋ ˆ์ด์–ด (2d ์Šคํ”„๋ผ์ดํŠธ, UI)๋ฅผ ๋งŒ๋“œ๋Š” ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์ด ๋ฌด์—‡์ธ์ง€ ์•„๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋งˆ์šฐ์Šค ์ปค์„œ๋ฅผ ์—๋ฎฌ๋ ˆ์ดํŠธํ•˜๊ณ  ์žฅ๋ฉด์— ์ด๋ฏธ์ง€๋ฅผ ๋ Œ๋”๋งํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋‚ด ์ƒ๊ฐ์€ ์ •์‚ฌ ์นด๋ฉ”๋ผ๋ฅผ ๋งŒ๋“ค๊ณ  ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ์ด ๋ Œ๋”๋ง์„ ์ฃผ ๋ Œ๋”๋ง ์œ„์— ์–ด๋–ป๊ฒŒ ๋ ˆ์ด์–ด๋ง ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ์—์„œ "์‚ฌํ›„ ์ฒ˜๋ฆฌ"๋ฅผ ์ฐพ์•˜์ง€๋งŒ ์ด๊ฒƒ์ด ๊ฐˆ ๊ธธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ
๋ ˆ๋ชจ

Question

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

๋‚˜๋Š” WebVR ํ”„๋กœ์ ํŠธ์—์„œ ์ผํ•˜๊ณ  ์žˆ์—ˆ๊ณ  DOM ์†”๋ฃจ์…˜์€ ์˜ต์…˜์ด ์•„๋‹ˆ ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ˆœ์ˆ˜ํ•œ Three.js๋กœ HUD๋ฅผ ๋๋ƒˆ๋‹ค. ๋ณ„๋„์˜ ์žฅ๋ฉด์„ ๋งŒ๋“ค๊ณ  ์›๋ž˜ ์žฅ๋ฉด ์œ„์— ๋ Œ๋”๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋ผ์ด๋ธŒ ์˜ˆ์ œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
http://codepen.io/jaamo/pen/MaOGZV

์†”๋ฃจ์…˜์— ๋Œ€ํ•œ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
http://www.evermade.fi/pure-three-js-hud/

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

HTML ์‚ฌ์šฉ

HTML์˜ ๊ฒฝ์šฐ +1. UI ์šฉ _designed_ ํ”Œ๋žซํผ์„ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์„ ํ™œ์šฉํ•˜์‹ญ์‹œ์˜ค. :)

์‚ฌ์‹ค ๋‚˜๋Š” ์™œ ๋‹น์‹ ์ด HTML์„ ์‚ฌ์šฉํ•˜์ง€ ๋ง์•„์•ผํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค! +1

๋„ค, 3D ์žฅ๋ฉด์— ํ†ตํ•ฉ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋ฉด ์บ”๋ฒ„์Šค ์œ„์— HTML์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌ.
mrdoob, ๋„ค, 3D ์žฅ๋ฉด์— ํ†ตํ•ฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ 2D ๊ทธ๋ž˜ํ”ฝ์— WebGL์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ THREE.js๋กœ ์ด๊ฒƒ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—… ์ƒ˜ํ”Œ์„ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

"3D ์žฅ๋ฉด์— ํ†ตํ•ฉ"์ด๋ผ๊ณ  ๋งํ•˜๋ฉด UI๊ฐ€ 3D ์œ„์— ์˜ค๋ฒ„๋ ˆ์ด๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์„ ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

Loupax, ์ œ๋ชฉ์„ ์•ฝ๊ฐ„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. :) ์ƒ๋‹จ์— ์žˆ์ง€๋งŒ WebGL์ด ๋ Œ๋”๋ง๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

http://www.smokycogs.com/blog/o3d-tutorial-4-the-beginnings-of-a-hud/
http://code.google.com/p/o3d/source/browse/trunk/samples_webgl/o3d-webgl-samples/hud-2d-overlay.html?spec=svn218&r=218

๋‚˜๋Š” ๋‹จ์ˆœํžˆ GUI์— HTML์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ <canvas> ์š”์†Œ ์œ„์— ๋‹จ์ˆœํžˆ <div> ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ์žฅ๋ฉด ์œ„์— Three.js๋กœ GUI๋ฅผ ๋ Œ๋”๋งํ•˜๋ ค๋ฉด ๋‘ ๊ฐœ์˜ ์บ”๋ฒ„์Šค ์š”์†Œ๋ฅผ ์„œ๋กœ ์œ„์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” ๊ฒŒ์ž„ / ์žฅ๋ฉด / ๋ฌด์—‡์ด๋“ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” GUI ์šฉ์ž…๋‹ˆ๋‹ค. GUI ์š”์†Œ ์‚ฌ์ด์—์„œ ๋งจ ์œ„๊ฐ€ ํˆฌ๋ช…ํ•œ์ง€ ํ™•์ธํ•ด์•ผํ•˜์ง€๋งŒ Three.js์—์„œ ๊ฐ€๋Šฅํ•œ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค ...

์˜ˆ, ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ HTML์„ ์‚ฌ์šฉํ•˜๋ฉด ํ›จ์”ฌ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

ํ™”๋ คํ•˜๊ณ  WebGL๋กœ HUD๋ฅผ ๋ Œ๋”๋งํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด (์˜ˆ : ์• ๋‹ˆ๋ฉ”์ด์…˜ 3D ๋˜๋Š” ์ผ๋ถ€ ์…ฐ์ด๋” ํšจ๊ณผ) ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

http://mrdoob.github.com/three.js/examples/webgl_rtt.html

(์ตœ์†Œํ•œ 2d ์˜ค๋ฒ„๋ ˆ์ด์˜ ๊ฒฝ์šฐ ๊นŠ์ด ์“ฐ๊ธฐ / ์ฝ๊ธฐ / ๋งˆ์Šคํ‚น์œผ๋กœ FBO์—†์ด ์žฌ์ƒํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค)

alteredq,์ด ๋งํฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ˜„์žฌ "์žฌ์ƒ"๋ฐฉ๋ฒ•์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ WebGLRenderer์—์„œ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.

var sprite = new THREE.Sprite ({map : tex, useScreenCoordinates : true});
scene.addChild (sprite);

์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์—ฌ์ „ํžˆ ์ด์ค‘ ๋ Œ๋”๋ง๊ณผ ์ด๊ฒƒ์„ ํ˜ผํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” WebVR ํ”„๋กœ์ ํŠธ์—์„œ ์ผํ•˜๊ณ  ์žˆ์—ˆ๊ณ  DOM ์†”๋ฃจ์…˜์€ ์˜ต์…˜์ด ์•„๋‹ˆ ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ˆœ์ˆ˜ํ•œ Three.js๋กœ HUD๋ฅผ ๋๋ƒˆ๋‹ค. ๋ณ„๋„์˜ ์žฅ๋ฉด์„ ๋งŒ๋“ค๊ณ  ์›๋ž˜ ์žฅ๋ฉด ์œ„์— ๋ Œ๋”๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋ผ์ด๋ธŒ ์˜ˆ์ œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
http://codepen.io/jaamo/pen/MaOGZV

์†”๋ฃจ์…˜์— ๋Œ€ํ•œ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
http://www.evermade.fi/pure-three-js-hud/

์‹ค์ œ๋กœ webVR ์šฉ HUD ๋„๊ตฌ๋ฅผ ์ž‘์—… ์ค‘์ž…๋‹ˆ๋‹ค.
three.js ์˜ˆ์ œ์—์„œ ์ฐพ์„ ์ˆ˜์žˆ๋Š” StereoEffect.js๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•ฉ๋‹ˆ๋‹ค.
์ฒซ ๋ฒˆ์งธ ์žฅ๋ฉด์˜ ๋‘ ๋ถ€๋ถ„์„ ๋ Œ๋”๋ง ํ•œ ๋‹ค์Œ ์˜ค๋ฒ„๋ ˆ์ด์— HUD ์žฅ๋ฉด์˜ ๋‘ ๋ถ€๋ถ„์„ ๋ชจ๋‘ PerspectiveCamera ์ธ StereoEffectCamera๋กœ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.

์‹ญ์ž์„ ์ด์žˆ๋Š” ๋ฐ๋ชจ์™€ ์žฅ๋ฉด์˜ ์ผ๋ถ€ ์š”์†Œ์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/trinketmage/three.js-vr-hud/

์ €๋Š” ํ˜„์žฌ HUD ์žฅ๋ฉด์˜ ์ ˆ๋‘์ฒด ๋‚ด์—์„œ "๋ผ๋ฒจ"๊ธฐ๋Šฅ์„ ์ž‘์—…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ํŒ์ด๋‚˜ ๋„์›€์„ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ฐ์‚ฌ

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์›๊ทผ๋ฒ• ์œ„์— Ortho ์žฅ๋ฉด์„ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๊ณ  ์žˆ๋‹ค๋ฉด (๊ฐ์ฒด๋ฅผ ์œ„์ชฝ / ์™ผ์ชฝ / ์˜ค๋ฅธ์ชฝ / ์•„๋ž˜์ชฝ ํ…Œ๋‘๋ฆฌ์— ์ •๋ ฌํ•˜๊ฑฐ๋‚˜ ํ”ฝ์…€ ๋‹จ์œ„๋กœ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค) ๊ฑฐ๊ธฐ ์—

@cecilemuller- ๊ท€ํ•˜์˜ ํ”„๋กœ์ ํŠธ๋Š” ๋‚ด๊ฐ€ ์ด์Šˆ๋ฅผ ์—ด ์ˆ˜ ์—†๋„๋ก ํ—ˆ์šฉํ•˜๋ฏ€๋กœ ์—ฌ๊ธฐ์— ๋Œ“๊ธ€์„ ๋‹ฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ? http://jsbin.com/sisutopede/edit?html , js, output ( let const ์„ var ๋กœ ๋Œ€์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค) ํŒŒ๋ž€์ƒ‰ ๊ตฌ๋งŒ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ์•„๋ฌด๊ฒƒ๋„ ๋ณด์ด์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค UI ์š”์†Œ?

@trinketmage- ํ™˜์ƒ์ ์ธ ๋ฐ๋ชจ / ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“ค๊ณ  ๋ฌธ์ œ 1 ์„ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋‚ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๋ฌธ์ œ 2 ๋ฅผ ํŒŒ์•…ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค : https://github.com/trinketmage/three.js-vr-hud/issues/ 2- ํ‚ค๋ณด๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ์žฅ์น˜ / Chrome Dev Tools๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๊ณ  ์ ํ”„ํ•˜๋Š” ๋ฐฉํ–ฅ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ์ˆœ๊ฐ„ ...


์‚ฌ์ด๋“œ ๋…ธํŠธ์—์„œ-์ถฉ๋ถ„ํ•œ ๋ณต์‚ฌ ๋ฐ ๋ถ™์—ฌ ๋„ฃ๊ธฐ-์–ด๋Š ์‹œ์ ์—์„œ์ด ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ง€์‹์„ ๊ฐ์•ˆํ•  ๋•Œ ๋‚ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

@ stefek99 ํŒŒ๋ž€์ƒ‰ ๊ตฌ์ฒด ์œ„์— ์ปฌ๋Ÿฌ ์‚ฌ๊ฐํ˜•์ด ํ‘œ์‹œ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํฌ๋กฌ๊ณผ ํŒŒ์ด์–ด ํญ์Šค์—์„œ jsbin์„ ์‹œ๋„ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ์Šคํฌ๋ฆฐ ์ƒท์ด ์žˆ์Šต๋‹ˆ๋‹ค.
screenshot

์˜ˆ, ์ฝ”๋“œ์— ์ผ๋ถ€ es6 ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋ฏ€๋กœ ์‹คํ–‰ ์ค‘์ด ์•„๋‹Œ ๊ฒฝ์šฐ Babel REPL ์„ ์‚ฌ์šฉํ•˜์—ฌ es5๋กœ ๋ณ€ํ™˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2020 ๋…„์ž…๋‹ˆ๋‹ค. ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋˜๋Š” ์ด์ƒํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ThreeJS ๋‚ด์—์„œ 2D HUD ์˜ค๋ฒ„๋ ˆ์ด๋ฅผ ๋งŒ๋“œ๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ThreeJS ๋‚ด๋ถ€์—์„œ PixiJS์™€ ๊ฐ™์€ ๊ฒƒ์— ์•ก์„ธ์Šคํ•˜๋Š” ๊ฒƒ์ด ์ด์ƒ์ ์ž…๋‹ˆ๊นŒ?

@sylwesterdigital ๋„์›€์ด ํ•„์š”ํ•˜๋ฉด three.js ํฌ๋Ÿผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ ... ๊ฑฐ๊ธฐ์— ์žˆ์—ˆ๋Š”๋ฐ ๊ณ„์ •์ด ๋ณด๋ฅ˜ ์ค‘์ด ์–ด์„œ ๋Œ“๊ธ€์„ ๋‹ฌ๊ฑฐ๋‚˜ ๋‹ต๊ธ€์„ ๋‹ฌ๊ฑฐ๋‚˜ ์ƒˆ ์ฃผ์ œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ThreeJS ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ์•„๋ฌด๋ฐ๋„ ๊ฐˆ ์ˆ˜ ์—†์œผ๋ฉฐ ๋ชจ๋‘๊ฐ€ ์›”๋ณ„ ์ง€๋ถˆ์„ ์œ„ํ•ด f * React๋ฅผ ์ฝ”๋”ฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์ˆ˜๋…„๊ฐ„์˜ ์ž‘์—… ๋์— WebGL์—์„œ hud๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์ ˆ๋Œ€์ ์ธ ๋ฐฉ๋ฒ•์€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ „์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ์— ๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ ์ œ ์ƒ๊ฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • HUD์— ํŠน์ • ํšจ๊ณผ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ HTML๋กœ ์ด๋™ํ•˜๋ฉด "ํ•ฉ์„ฑ ๋น„์šฉ"์ด ๋ฐœ์ƒํ•˜์ง€๋งŒ ์˜ค๋ฒ„๋ ˆ์ด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ง€ ์•Š์€ ํ•œ (ํ™”๋ฉด ์˜ค๋ฒ„๋ ˆ์ด์˜ 4 ๋ฐฐ / 5 ๋ฐฐ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋Š๋ ค์ง‘๋‹ˆ๋‹ค. Mac Book Pro Retina๊ฐ€ ์„ค์น˜๋œ Chrome (2015 ๋…„ ์ค‘๋ฐ˜)), html ํ˜•์‹์˜ HUD ์˜ˆ์ œ : demo waysmaze .
  • ์–ด๋–ค ์ด์œ ๋กœ ๋“  gl์— ์žˆ์–ด์•ผํ•œ๋‹ค๋ฉด ๊ฐ ํ”„๋ ˆ์ž„์ด ๋ชจ๋“  ๊ฒƒ ์œ„์— ๋ Œ๋”๋ง๋˜๋Š” ์นด๋ฉ”๋ผ ์•ž์— ๋ฐฐ์น˜๋˜๋Š” Group์— ์ง์ ‘ ๋„ฃ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํฌ๊ธฐ ์กฐ์ •์‹œ ํŠน์ • z ๊ฑฐ๋ฆฌ์—์„œ ์นด๋ฉ”๋ผ์—์„œ ๊ทธ๋ฃน์˜ ๋ฒ”์œ„๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ํ•ญ๋ชฉ์„ ์œ„ / ์˜ค๋ฅธ์ชฝ / ์•„๋ž˜ / ์™ผ์ชฝ์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ๊ด€์  (HUD์—์„œ 3D ์š”์†Œ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ)์„ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ ์„ฑ๋Šฅ์— ๊ฐ€์žฅ ๋‚ฎ์€ ๋น„์šฉ์ด๋˜์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค (๋‚ด๊ฐ€ ํ‹€๋ ธ๋‹ค๋ฉด ์ˆ˜์ • ํ•ด์ฃผ์„ธ์š”).
  • ๋‚ด ์ƒ๊ฐ์— @sylwesterdigital ๋ณด๋‹ค "๋…ผ๋ฆฌ์  ์ธ"๋ฐฉ๋ฒ•์€ ๋™์ผํ•œ ์žฅ๋ฉด ๋‚ด๋ถ€์˜ ํ…์Šค์ฒ˜๋กœ ์žฅ๋ฉด ์œ„์— ๋‘ ๋ฒˆ์งธ ๋ Œ๋”๋ง (์ง๊ต ๋˜๋Š” ์›๊ทผ)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํฐ ๋‹จ์ ์€ ํ™”๋ฉด ํฌ๊ธฐ์— ํ”ฝ์…€ ๋น„์œจ์„ ๊ณฑํ•œ ๋‘ ๋ฒˆ์งธ ๋ Œ๋”๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๊ฑฐ๋‚˜ HUD ๋ Œ๋”๋Ÿฌ๊ฐ€ ๋” ์ž‘ ์œผ๋ฉด ํ’ˆ์งˆ์„ ์žƒ๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • Three.js ์œ„์—์žˆ๋Š” Pixi.js๋Š” @sylwesterdigital ์˜ ๋‚˜์œ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. 2 ๊ฐœ์˜ WebGL ์ธ์Šคํ„ด์Šค๊ฐ€์žˆ์„ ๊ฒƒ
  • three.js ์œ„์—์žˆ๋Š” ์ข‹์€ ์˜ค๋ž˜๋œ ์บ”๋ฒ„์Šค๋„ ์ž‘๋™ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ €์˜ ๋†€๋ผ์šด ๋™๋ฃŒ ์ค‘ ํ•œ ๋ช…์ด @namide ๊ฐ€ ์ €์—๊ฒŒ ์—„์ฒญ๋‚œ ๊ฐœ๋ฐœ์ž ๊ตํ›ˆ์„ ๊ฐ€๋ฅด์ณ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. "๋น„๋””์˜ค ๊ฒŒ์ž„์„ ์œ„ํ•ด ์–ด๋–ป๊ฒŒ ์ตœ์ ํ™”ํ• ๊นŒ์š”?"Unity์—์„œ HUD๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์€ CanvasRenderer on ๋ฌด์—‡๋ณด๋‹ค๋„.

๊ฒฐ๋ก ์ ์œผ๋กœ, ์ œ ์ƒ๊ฐ์—๋Š” HUD ์‹œ๊ฐ์  ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๊ฐ๋‹นํ•  ์ˆ˜์žˆ๋Š” ์„ฑ๋Šฅ ๋น„์šฉ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ ธ์•ผํ•ฉ๋‹ˆ๋‹ค.

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