<p>์˜ค๋ฅ˜ ์—†๋Š” troika-3d-text ๋ Œ๋”๋ง ๋ฌธ์ œ</p>

์— ๋งŒ๋“  2019๋…„ 11์›” 06์ผ  ยท  43์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: protectwise/troika

aframe ๊ตฌ์„ฑ ์š”์†Œ์™€ ์ง์ ‘ troika ๋นŒ๋“œ ๋ฐ ์˜ˆ์ œ๋กœ ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

https://troika-examples.netlify.com/#text

Bildschirmfoto von 2019-11-06 21-33-50
Bildschirmfoto von 2019-11-06 21-33-34

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

๊ตฌ๊ธ€ ํฌ๋กฌ | 78.0.3904.87(Offizieller ๋นŒ๋“œ)(64๋น„ํŠธ)
๋ฆฌ๋ˆ…์Šค
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ | V8 7.8.279.19

๊ณต๊ธ‰์—…์ฒด = 0x1002 [X.Org], ์žฅ์น˜ = 0x67ef [AMD Radeon(TM) RX 460 ๊ทธ๋ž˜ํ”ฝ(POLARIS11, DRM 3.33.0, 5.3.7-301.fc31.x86_64, LLVM 9.0.0)] ํ™œ์„ฑ

๋‚˜๋Š” ์ด๊ฒƒ์ด ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ์ฒ˜์Œ ๋ฐœ๊ฒฌํ–ˆ๋‹ค๋ฉด ๊ธฐ์–ตํ•œ๋‹ค

๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์ด์ „ ๋ฒ„์ „์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค! ์˜ˆ, e600d2cd v0.12.0์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
Bildschirmfoto von 2019-11-06 22-00-02

ํ™•์ธ ๋งˆ์ง€๋ง‰ ์ž‘์—… ๋ฒ„์ „์€
f4fcbb8d v0.12.1

v0.13.0์€ ๋ Œ๋”๋ง์„ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค.

์ข‹์•„! ์ด ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ์ •ํ™•ํ•œ ๋ฒ„์ „์˜ ๋ฒ”์œ„๋ฅผ ์ขํ˜€ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ฐฑํ•œ ์‚ฌํ•ญ์ด ์žˆ๋Š”์ง€ ํ•ด๋‹น ์ปค๋ฐ‹์„ ์‚ดํŽด๋ณด๊ฒ ์ง€๋งŒ Linux ๋ฐฐํฌํŒ์ด๋‚˜ GPU ๋“œ๋ผ์ด๋ฒ„์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ์ธ ๊ฒฝ์šฐ ์ˆ˜์ • ์‚ฌํ•ญ์„ ํ™•์ธํ•  ์ˆ˜ ์—†์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ง๊ฐ์‚ผ์•„... ๋ธŒ๋ผ์šฐ์ €์— ๋‚ ์•„๋‹ค๋‹ˆ๋Š” ์ŠคํŒŒ๊ฒŒํ‹ฐ๊ฐ€ ๋ณด์ด์‹œ๋‚˜์š”? https://troika-examples.netlify.com/#bezier3d

๊ทธ๋ž˜ ๊ดœ์ฐฎ์•„ ๋ณด์ธ๋‹ค

Bildschirmfoto von 2019-11-07 11-58-41

๋ฌธ์ œ์— ๋Œ€ํ•œ ์ž‘์€ ๋น„๋””์˜ค๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋ Œ๋”๊ฐ€ SDF(์ž‘์€ ํฌ๊ธฐ)๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

oculus go์—์„œ๋Š” ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ezgif com-video-to-gif

์  ์žฅ, ๋‚ด ์˜ˆ๊ฐ์ด ๋ฌด๋„ˆ์กŒ๋‹ค.

๊ทธ ์˜์ƒ์€ ๋งคํ˜น์ ์ด๋‹ค. ๋™์ž‘์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์œ ๋ฅผ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ 0.12.1์—์„œ๋„ ์‹คํŒจํ–ˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์† ์ฐพ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค ...

์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๋„๋ก ๋‹ค์Œ ๋นŒ๋“œ๊ฐ€ ๋ชจ๋‘ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์‹คํŒจํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ ๋ชจ๋‘ ๋™์ผํ•˜๊ฒŒ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

๊ธ€์Ž„, ์ž ์‹œ ๋™์•ˆ ๋‚˜๋Š” ์ด๊ฒƒ์— ๋‹นํ™ฉํ–ˆ๋‹ค. https://github.com/protectwise/troika/compare/v0.12.1...v0.13.0 diff๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์ด ๋™์ž‘์„ ์œ ๋ฐœํ•˜๋Š” ์ฐจ์ด์ ์ด ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ๋ Œ๋”๋ง์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์œ ์ผํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์…ฐ์ด๋” ์กฐ์ž‘์„ ์œ„ํ•œ createDerivedShader ์ถ”์ƒํ™”๋กœ์˜ ์ „ํ™˜์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์˜ ์…ฐ์ด๋” ์ถœ๋ ฅ์„ ํ•œ ์ค„์”ฉ ๋น„๊ตํ–ˆ์œผ๋ฉฐ ๋‚ด๊ฐ€ ๋ณผ ์ˆ˜์žˆ๋Š” ์ฃผ์ž… ๋œ ๋…ผ๋ฆฌ์—๋Š” ์ฐจ์ด๊ฐ€ ์—†์œผ๋ฉฐ ๋ฐœ์ƒ ์œ„์น˜์—์„œ ์•ฝ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ : void main์ด ์•„๋‹Œ glsl ํ•จ์ˆ˜ ๋‚ด์—์„œ ๋˜๋Š” ์•ฝ๊ฐ„ ๋‹ค๋ฅธ ์ˆœ์„œ๋กœ) .) ์™œ ์ด๊ฒƒ์ด ์ด ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์ง€๋งŒ ํŠธ๋ฆฌ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ • OpenGL ๋“œ๋ผ์ด๋ฒ„์— ๋ฒ„๊ทธ/ํŠน์ด์ ์ด ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ง๊ฐ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‹œ๋„ํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ ์™ธ์—๋Š” ์—ฌ๊ธฐ์—์„œ ์–ด๋””๋กœ ๊ฐ€์•ผํ• ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ์‰ฝ๊ฒŒ ์žฌํ˜„ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์€ ๊ณ ํ†ต์ž…๋‹ˆ๋‹ค.

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ์ €๋„ ์ด๊ฒƒ์ด ๋” ๋งŽ์€ OpenGL ๋“œ๋ผ์ด๋ฒ„ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค./ ํ•œ ๊ฐ€์ง€ ๋ฐœ๊ฒฌ์€ ์ œ๊ฐ€ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ๋•Œ ๊ธ€๊ผด ๋น„๋””์˜ค๋ฅผ ๋ณด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค ->
ezgif com-video-to-gif (1)

์—ฌ๊ธฐ์—์„œ ์ฐธ์กฐ๋ฅผ ์œ„ํ•ด OpenGL ๋ฒ„์ „
GL_VENDOR X.Org GL_RENDERER AMD Radeon(TM) RX 460 ๊ทธ๋ž˜ํ”ฝ(POLARIS11, DRM 3.33.0, 5.3.8-300.fc31.x86_64, LLVM 9.0.0) GL_VERSION 4.5(์ฝ”์–ด9 ํ”„๋กœํ•„) Mesa21

LOL ์ผ์ข…์˜ ๊น”๋”ํ•œ ํšจ๊ณผ์ž…๋‹ˆ๋‹ค! ๐Ÿคฃ

๋‚ด๊ฐ€ ๋ฌด์—‡์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ƒ๊ฐํ•ด?

@lojjic ์šฐํ•˜! ๋‚ด๊ฐ€ ์ž‘๋™ํ•˜๋Š” ์žฅ๋ฉด์— ์•ˆ๊ฐœ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ํฅ๋ฏธ๋กœ์šด ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค!

Bildschirmfoto von 2019-11-11 11-54-36

sceneEl.setAttribute("fog", "type: linear; far:300;color: 0xefd1b5");

๋” ๊ถ๊ธˆํ•˜๊ณ  ๋” ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด troika ์˜ˆ์ œ ํŽ˜์ด์ง€์˜ "์•ˆ๊ฐœ" ํ™•์ธ๋ž€๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?

ํ  ์•„๋‹ˆ์˜ค ์ด๊ฒƒ์€ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

ํ•˜ ์˜ˆ MeshBasicMaterial์„ ์„ค์ •ํ•˜๊ณ  ์•ˆ๊ฐœ๋ฅผ ์„ ํƒํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!

๋„ค ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋” ์กฐ์‚ฌํ•  ๋‹จ์„œ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜ ๋‚˜์ค‘์— ์ž ์‹œ ์‹œ๊ฐ„์„ ๋‚ด์–ด ๊ฒฉ๋ฆฌ๋œ ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜๋ฉด์„œ ๋ถ„๊ธฐ๋ฅผ ํ‘ธ์‹œํ•˜๊ณ  ๊ทธ๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋„์›€์ด ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ ์ฒซ ๋ฒˆ์งธ ์‹œ๋„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์—†๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋˜์—ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์ˆ˜์ •๋œ โ€‹โ€‹๊ฒฝ์šฐ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค. https://5dc9dc90ab55b5000a1db32c--troika-examples.netlify.com/#text

์•„์ฃผ ์ข‹์€ ์ƒท ๊ฐ™์Šต๋‹ˆ๋‹ค! :>

Bildschirmfoto von 2019-11-11 23-40-48

MeshStandard ๋ฐ MeshBasic Material์˜ ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ์ด ๊ณ ์ •๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ปค์Šคํ…€ ์…ฐ์ด๋” ๋จธํ‹ฐ๋ฆฌ์–ผ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
Bildschirmfoto von 2019-11-11 23-42-22

์ด ๋ณ€๊ฒฝ์œผ๋กœ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. https://github.com/protectwise/troika/commit/85c71d6af2c1e09966c5e588745008dc4b923ae2

๋Œ€๋‹จํ•ด! ์šฐ๋ฆฌ๋Š” ์–ด๋”˜๊ฐ€์— ๋„์ฐฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ ์ด๊ฒƒ์„ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? https://5dc9e7dcea3f6e00084d01a6--troika-examples.netlify.com/#text
๋‚˜๋Š” ์ด๊ฒƒ์œผ๋กœ ๋‘ ๊ฐ€์ง€ ์ž ์žฌ์ ์ธ ๊ทผ๋ณธ ์›์ธ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ถ„๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

ok ์ด๊ฒƒ์€ MeshBasicMaterial ๋ฐ Fog๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ์—๋งŒ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์‹คํ–‰ ์ˆœ์„œ๊ฐ€ ์ข€ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ 2๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๊ฐ„์˜ ์œ ์ผํ•œ ์ฐจ์ด์ ์€ ์‚ฌ์šฉ์ž ์ •์˜ ํ…์ŠคํŠธ ์…ฐ์ด๋” ๋…ผ๋ฆฌ ์ „ํ›„์— ๋ฐœ์ƒํ•˜๋Š” ID ํ• ๋‹น( gl_FragColor = functionThatReturnsArg(gl_FragColor); )์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž‘๋™ํ•œ ํ›„์— ์˜ค๊ณ  ๊ทธ ์ „์— ์˜ค๋ฉด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค(ํฌ๊ทธ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ํ…์ŠคํŠธ ๋…ผ๋ฆฌ ์•ž์— gl_FragColor.rgb = ... ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ทธ๊ฒƒ๋„ ์ž‘๋™ํ•˜์ง€๋งŒ MeshBasicMaterial.igh ์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ gl_FragColor = gl_FragColor; ๋ฅผ ๋์— ์ถ”๊ฐ€ํ•˜๋ฉด ํšจ๊ณผ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋”์ฐํ•œ ํ•ดํ‚น์ž…๋‹ˆ๋‹ค. https://5dc9f0d8e82cdf00089f6b6c--troika-examples.netlify.com/#text

ok ๋งˆ์ง€๋ง‰๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. BasicMaterial ๋ฐ Fog์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค ...

๋„ค, ๋ช‡ ๋ฒˆ ๋” ์‹œ๋„ํ•ด๋ณด์„ธ์š”...

1) https://5dcadbdfa8565d0008ff1af5--troika-examples.netlify.com/#text
2) https://5dcadfaac107620008043289--troika-examples.netlify.com/#text
3) https://5dcae02c8de52400077b3a8b--troika-examples.netlify.com/#text

์„ธ ๊ฐ€์ง€ ๋ชจ๋‘ BasicMaterial ๋ฐ Fog๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ์—๋งŒ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์–ด. ๋‚ด ๋ชจ๋“  ์ถ”์ธก์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์ธ๋‚ด์‹ฌ์„ ๊ฐ€์ ธ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋‚˜์—๊ฒŒ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ๊ฐ€์„ค ํ…Œ์ŠคํŠธ: https://5dcaea1c9bbf6e00074b3c7a--troika-examples.netlify.com/#text

np, ์ด๊ฒƒ์€ ํ•ญ์ƒ ์•ˆ๊ฐœ๊ฐ€ ์ผœ์ง€๊ณ  ๋ชจ๋“  ์žฌ๋ฃŒ์™€ ํ•จ๊ป˜ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

์ž ์‹œ ์‹œ๊ฐ„์ด ๋˜์‹œ๋ฉด ๋‹ค๋ฅธ ์˜ˆ์‹œ์—์„œ ์Šคํฌ๋ฆฐ์ƒท์„ ๋ช‡ ์žฅ ๋” ๊ฐ€์ ธ๋‹ค ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

1) "Double-Derived" ์…ฐ์ด๋”๊ฐ€ ์„ ํƒ๋œ https://troika-examples.netlify.com/#arcs
2) https://troika-examples.netlify.com/#ui
3) "๋Œ€์‹œ" ์˜ต์…˜์— ๋Œ€ํ•ด 0์ด ์•„๋‹Œ ๊ฐ’์ด ์žˆ๋Š” https://troika-examples.netlify.com/#bezier3d

์ด ์˜ˆ์ œ๋Š” ํ…์ŠคํŠธ ์กฐ๊ฐ ์…ฐ์ด๋”์™€ ์œ ์‚ฌํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋™์ž‘์— ๊ณตํ†ต์ ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

Bildschirmfoto von 2019-11-13 14-49-48
Bildschirmfoto von 2019-11-13 14-49-18
Bildschirmfoto von 2019-11-13 14-49-02

์Šคํฌ๋ฆฐ์ƒท ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๋“ค ์ค‘ ์ ์–ด๋„ ํ•˜๋‚˜๊ฐ€ ํ”„๋ž˜๊ทธ๋จผํŠธ ์…ฐ์ด๋”๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐ ์ •ํ™•ํžˆ ๋™์ผํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ…์ŠคํŠธ์™€ ๋น„์Šทํ•œ ๋ฐฉ์‹์œผ๋กœ ์‹คํŒจํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋“ค ์ค‘ ๋ˆ„๊ตฌ๋„ ์‹คํŒจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋งˆ๋„ ๊ทธ๊ฒƒ์€ ํ…์ŠคํŠธ glsl์— ํŠน์ •ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ…์ŠคํŠธ glsl์—์„œ ํ•˜๋‚˜์”ฉ ์ œ๊ฑฐ/์กฐ์ •์„ ์‹œ์ž‘ํ•˜๊ณ  ์ •ํ™•ํ•œ ํŠธ๋ฆฌ๊ฑฐ ๋ฒ”์œ„๋ฅผ ์ขํž ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ช‡ ๋ฒˆ์˜ ์‹œ๋„:
1) https://5dcc2b581b644200098d5e75--troika-examples.netlify.com/#text
2) https://5dcc302d78835c00089437e2--troika-examples.netlify.com/#text
3) https://5dcc31b70765f2000991ad0f--troika-examples.netlify.com/#text

ok all 1. 2. ๋ฐ 3. ๋ชจ๋“  ์žฌ๋ฃŒ์™€ ์•ˆ๊ฐœ ์œ ๋ฌด์— ๊ด€๊ณ„์—†์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!

๐Ÿ˜ฎ ๋†€๋ž๋‹ค!

๋งˆ์ง€๋ง‰์œผ๋กœ ํ•œ ๊ฐ€์ง€ ํ™•์ธํ•˜๊ณ  ์ตœ์ข… ์ˆ˜์ •์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ถฉ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
https://5dcc47d956b59f00070bea55--troika-examples.netlify.com/#text

๊ทธ๋ฆฌ๊ณ  Shadows ํ™•์ธ๋ž€๋„ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

ํ  ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค ... ์ด์ƒํ•ฉ๋‹ˆ๋‹ค :>
Bildschirmfoto von 2019-11-13 21-02-11
Bildschirmfoto von 2019-11-13 21-01-56
Bildschirmfoto von 2019-11-13 21-01-45

๊ทธ๊ฒƒ์€ ์‹ค์ œ๋กœ ์ข‹์€ ์†Œ์‹์ž…๋‹ˆ๋‹ค! ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ๋งค์šฐ ๊ตฌ์ฒด์ ์ธ ์กฐ๊ฑด์„ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

if (uTroikaSDFDebug) {
    gl_FragColor *= 0.5;
  } else {
    discard;
  }

์กฐ๊ฑด๋ฌธ์„ discard ๋กœ ๋ฐ”๊พธ๋ฉด ์ž‘๋™ํ•˜๊ธฐ ์‹œ์ž‘ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. uTroikaSDFDebug ๋Š” ์œ ๋‹ˆํผ์ด๋ฏ€๋กœ ํ•ญ์ƒ else ๋กœ ๊ฐ€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์–ด๋–ค ์ด์œ ์—์„œ์ธ์ง€ ๊ท€ํ•˜์˜ ์‹œ์Šคํ…œ์€ ๊ทธ๊ฒƒ์„ ์ข‹์•„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์กฐ๊ฑด๋ฌธ์„ ์ œ๊ฑฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. DEFINE์ด๋‚˜ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ๋‹ค์‹œ ๊ณต์‹ํ™”ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์–ด์จŒ๋“  ๊ทธ๋‹ค์ง€ ์œ ์šฉํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ์— ๋Œ€ํ•œ ์ตœ์ข… ์ˆ˜์ • ์‚ฌํ•ญ์œผ๋กœ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ•œ ๋ฒˆ ๋” ํ™•์ธํ•œ ๋‹ค์Œ ์ƒˆ ๋ฒ„์ „์„ ๊ฒŒ์‹œํ•˜๊ณ  aframe ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋ฃจ๋‚˜ ์ดํ‹€์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐํšŒ๊ฐ€ ์žˆ์„ ๋•Œ ํ…Œ์ŠคํŠธํ•  ๋งˆ์Šคํ„ฐ ๋นŒ๋“œ: https://troika-examples.netlify.com/#text

๋„ค, ์ด๊ฒƒ์€ ๋ชจ๋“  ๋จธํ‹ฐ๋ฆฌ์–ผ๊ณผ ์•ˆ๊ฐœ ์ผœ์ง/๊บผ์ง์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!

@arpu ์ด ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ์‹  ์‹œ๊ฐ„๊ณผ ์ธ๋‚ด์‹ฌ์— ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ด ์ˆ˜์ • ์‚ฌํ•ญ์€ 0.15.7์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๊ณ ์ • ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ„์ „ 0.1.2๋กœ aframe-troika-text ๋ฅผ ์˜ฌ๋ ธ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด์ „์— ์–ธ๊ธ‰ํ•œ ThreeJS r110์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

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