Category: coding (52)

STL ํŒŒ์ผ์„ ์˜ฌ๋ฆฌ๋ฉด 3D ํ”„๋ฆฐํŒ… ์‹œ๊ฐ„ยท์žฌ๋ฃŒยท๋น„์šฉ์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € ๋„๊ตฌ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค

STL ํŒŒ์ผ์„ ์˜ฌ๋ฆฌ๋ฉด 3D ํ”„๋ฆฐํŒ… ์‹œ๊ฐ„ยท์žฌ๋ฃŒยท๋น„์šฉ์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € ๋„๊ตฌ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค

STL ํŒŒ์ผ์„ ์„œ๋ฒ„๋กœ ์˜ฌ๋ฆฌ์ง€ ์•Š๊ณ  ๋ธŒ๋ผ์šฐ์ € ์•ˆ์—์„œ ๋ถ„์„ํ•ด 3D ํ”„๋ฆฐํŒ… ์˜ˆ์ƒ ์‹œ๊ฐ„, ํ•„๋ผ๋ฉ˜ํŠธ ์‚ฌ์šฉ๋Ÿ‰, ๋น„์šฉ๊ณผ ์ถœ๋ ฅ ์ฃผ์˜์‚ฌํ•ญ์„ ๊ณ„์‚ฐํ•˜๋Š” ๋„๊ตฌ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

๐Ÿ‘€ โ€”
GA4 ์กฐํšŒ์ˆ˜๋ฅผ ์‚ฌ์ดํŠธ์— ๊ทธ๋Œ€๋กœ ๋ณด์—ฌ์ฃผ์ง€ ์•Š๊ธฐ๋กœ ํ•œ ์ด์œ 

GA4 ์กฐํšŒ์ˆ˜๋ฅผ ์‚ฌ์ดํŠธ์— ๊ทธ๋Œ€๋กœ ๋ณด์—ฌ์ฃผ์ง€ ์•Š๊ธฐ๋กœ ํ•œ ์ด์œ 

GitHub Pages ๋ธ”๋กœ๊ทธ๋Š” ๊ทธ๋Œ€๋กœ ๋‘๊ณ , ๊ณต๊ฐœ ์กฐํšŒ์ˆ˜๋งŒ Cloudflare Worker์™€ D1์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. GA4 baseline์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ด์–ด ๋ถ™์ด๊ณ  ์ต๋ช… ์ค‘๋ณต์„ ์ œํ•œํ•˜๋Š” ๊ธฐ์ค€์„ ์ •๋ฆฌํ•œ๋‹ค.

๐Ÿ‘€ 10
๋‹ฌ๋ฆฌ๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ํƒ€์ž„์–ดํƒ์ด ๋˜์ง€ ์•Š์•˜๋‹ค - Apex Seoul์— ๊ฒฐ์Šน์„ ์„ ๋งŒ๋“œ๋Š” ๋ฒ•

๋‹ฌ๋ฆฌ๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ํƒ€์ž„์–ดํƒ์ด ๋˜์ง€ ์•Š์•˜๋‹ค - Apex Seoul์— ๊ฒฐ์Šน์„ ์„ ๋งŒ๋“œ๋Š” ๋ฒ•

Apex Seoul์— checkpoint split, best record, ๊ฐ€๋กœ๋“ฑ๊ณผ ฮ ํ˜• gate๋ฅผ ๋”ํ•˜๊ณ , ๊ณ ์ • ์นด๋ฉ”๋ผ์—์„œ๋„ ์ฐจ๋Ÿ‰์ด ๋„๋กœ ์œ„๋ฅผ ๊ณ„์† ๋‹ฌ๋ ค ์‚ฌ๋ผ์ง€๋Š” finish ์—ฐ์ถœ์„ ๋งŒ๋“  ๊ณผ์ •์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘€ 13
์ฝ”๋„ˆ์—์„œ ํ•ธ๋“ค์„ ๋†“์•˜๋Š”๋ฐ ์ฐจ๊ฐ€ ๋„๋กœ๋ฅผ ๋”ฐ๋ผ๊ฐ”๋‹ค - ์ž๋™ ์ถ”์ข…์„ ๊ฑท์–ด๋‚ธ ๊ธฐ๋ก

์ฝ”๋„ˆ์—์„œ ํ•ธ๋“ค์„ ๋†“์•˜๋Š”๋ฐ ์ฐจ๊ฐ€ ๋„๋กœ๋ฅผ ๋”ฐ๋ผ๊ฐ”๋‹ค - ์ž๋™ ์ถ”์ข…์„ ๊ฑท์–ด๋‚ธ ๊ธฐ๋ก

Apex Seoul์˜ ๋ฌด์ž…๋ ฅ ์ฐจ๋Ÿ‰์ด ์ฝ”๋„ˆ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋˜ ์›์ธ์„ road-relative ์ขŒํ‘œ์™€ passive yaw์—์„œ ์ฐพ๊ณ , world heading ๊ธฐ๋ฐ˜ ํšก์ด๋™, ์กฐํ–ฅ sprite ๋ถ„๋ฆฌ, ๊ฐ€๋“œ๋ ˆ์ผ contact lifecycle๊ณผ ์ฝ”๋„ˆ ์ถœ๊ตฌ ํšŒ์ „ ์ œํ•œ์œผ๋กœ ์กฐํ–ฅ์ด ํ•„์š”ํ•œ ์ฝ”๋„ˆ๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘€ 5
225km/h์ธ๋ฐ๋„ ์ฝ”๋„ˆ๊ฐ€ ๋А๋ ค ๋ณด์˜€๋‹ค - grip sprite์™€ ๋„๋กœ ์ง„ํ–‰ ๋ฐฐ์œจ์„ ๋‹ค์‹œ ๋‚˜๋ˆ„๊ธฐ

225km/h์ธ๋ฐ๋„ ์ฝ”๋„ˆ๊ฐ€ ๋А๋ ค ๋ณด์˜€๋‹ค - grip sprite์™€ ๋„๋กœ ์ง„ํ–‰ ๋ฐฐ์œจ์„ ๋‹ค์‹œ ๋‚˜๋ˆ„๊ธฐ

์ตœ๊ณ ์†๊ณผ ๊ฐ€๋“œ๋ ˆ์ผ์„ ๋งž์ถ˜ ๋’ค์—๋„ ์ฝ”๋„ˆ๋Š” ๋А๋ฆฌ๊ณ  ์ฐจ์ฒด๋Š” ๊ณผํ•˜๊ฒŒ ๊บพ์—ฌ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. grip๊ณผ drift์˜ sprite ์—ญํ• ์„ ๋ถ„๋ฆฌํ•˜๊ณ , ์ฝ”๋„ˆ ๋ฆฌ๋“ฌ๊ณผ near-field ํ‘œ์‹์„ ๊ณ ์นœ ๋’ค, ๋‹ค๋ฅธ pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„๊ณผ ํ™”๋ฉด ํ๋ฆ„์„ ๋น„๊ตํ•ด physical speed์™€ world progression ์‚ฌ์ด์— longitudinal scale์„ ๋„์ž…ํ•œ ๊ณผ์ •์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘€ 12
225km/h๊ฐ€ ์žˆ๋Š”๋ฐ 140km/h์—์„œ ๋ฉˆ์ท„๋‹ค - ์ตœ๊ณ ์†๊ณผ ๊ฐ€๋“œ๋ ˆ์ผ์„ ๋‹ค์‹œ ๊ณ ์นœ ์‹œํ–‰์ฐฉ์˜ค

225km/h๊ฐ€ ์žˆ๋Š”๋ฐ 140km/h์—์„œ ๋ฉˆ์ท„๋‹ค - ์ตœ๊ณ ์†๊ณผ ๊ฐ€๋“œ๋ ˆ์ผ์„ ๋‹ค์‹œ ๊ณ ์นœ ์‹œํ–‰์ฐฉ์˜ค

์ตœ๊ณ ์†์„ ๊ณ ์น˜์ž ๊ฐ€๋“œ๋ ˆ์ผ ์ถฉ๋Œ์ด ๋“œ๋Ÿฌ๋‚˜๊ณ , ์ถฉ๋Œ์„ ๊ณ ์น˜์ž ์ฐจ๋Ÿ‰์ด ํ™”๋ฉด ๋ฐ–์œผ๋กœ ๋ฐ€๋ ธ์Šต๋‹ˆ๋‹ค. Apex Seoul์˜ ์ž๋™ ์ฃผํ–‰ QA์—์„œ ์ด์–ด์ง„ ์‹คํŒจ์™€ ์ˆ˜์ • ๊ณผ์ •์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘€ 5
Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ํ—ค๋“œ๋ผ์ดํŠธ๋ฅผ ์‚ฌ๋‹ค๋ฆฌ๊ผด ํ•˜๋‚˜์—์„œ ๋‘ ๊ฐœ์˜ ๊ด‘์›์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ํ—ค๋“œ๋ผ์ดํŠธ๋ฅผ ์‚ฌ๋‹ค๋ฆฌ๊ผด ํ•˜๋‚˜์—์„œ ๋‘ ๊ฐœ์˜ ๊ด‘์›์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

Apex Seoul์˜ ์•ผ๊ฐ„ ํ—ค๋“œ๋ผ์ดํŠธ๊ฐ€ ์กฐํ–ฅ๊ณผ ๊ณ ์ €์ฐจ์—์„œ ์–ด์ƒ‰ํ•ด์ง„ ์ด์œ ๋ฅผ ์ขŒํ‘œ๊ณ„ยท์ฐจ๋Ÿ‰ sprite ๋ฐฉํ–ฅยท๋น› ํ•ฉ์„ฑ์œผ๋กœ ๋‚˜๋ˆ  ์ถ”์ ํ–ˆ์Šต๋‹ˆ๋‹ค. camera ๊ธฐ์ค€ cone, ๋‹จ์ผ ํšŒ์ „ ์‚ฌ๋‹ค๋ฆฌ๊ผด, ๊ณผ๋„ํ•œ ์ค‘์‹ฌ ์ˆ˜๋ ด, ์ž˜๋ชป๋œ lift๋ฅผ ๋ฒ„๋ฆฌ๊ณ  ์‹ค์ œ ๋žจํ”„ ์œ„์น˜์—์„œ ์‹œ์ž‘ํ•˜๋Š” ๋‘ ๊ด‘์› ๊ตฌ์กฐ์™€ terrain๋ณ„ ์œ„์น˜ ๊ฒ€์ฆ์œผ๋กœ ์ •๋ฆฌํ•œ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.

๐Ÿ‘€ 19
Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ์ˆฒ, ์–ด๋‘ , ๋‘ ๊ฐœ์˜ ํ—ค๋“œ๋ผ์ดํŠธ๋ฅผ ๋‹ค์‹œ ๋งž์ถ”๊ธฐ

Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ์ˆฒ, ์–ด๋‘ , ๋‘ ๊ฐœ์˜ ํ—ค๋“œ๋ผ์ดํŠธ๋ฅผ ๋‹ค์‹œ ๋งž์ถ”๊ธฐ

Apex Seoul์˜ ๋ฐค ๋‹ค์šดํž์„ ์‹ค์ œ ์ฃผํ–‰ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์‹œ ๋ณด๋ฉฐ, ์ˆ˜ํ‰์„ ์— ์ž˜๋ฆฌ๋˜ ์ˆฒ์„ SVG ๊ตฐ์ง‘์œผ๋กœ ๊ต์ฒดํ•˜๊ณ , road์™€ roadside๋ฅผ ๊ฐ™์€ ์–ด๋‘ ์œผ๋กœ ์ˆ˜๋ ด์‹œํ‚ค๊ณ , ์ฐจ๋Ÿ‰ ์ „๋ฐฉ์˜ ๋‘ ํƒ€์› ํ—ค๋“œ๋ผ์ดํŠธ์™€ FT86ํ˜• ํŒŒ์›Œ๋ฐด๋“œ๋ฅผ ์‹œํ–‰์ฐฉ์˜ค ๋์— ์ •๋ฆฌํ•œ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.

๐Ÿ‘€ 18
Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ๊ฐ€๋“œ๋ ˆ์ผ, ์ €์† ์กฐํ–ฅ, 0-100km/h๋ฅผ ๋‹ค์‹œ ์žก๊ธฐ

Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ๊ฐ€๋“œ๋ ˆ์ผ, ์ €์† ์กฐํ–ฅ, 0-100km/h๋ฅผ ๋‹ค์‹œ ์žก๊ธฐ

Apex Seoul์˜ ๋ฐค ๋‹ค์šดํž ๋น„์ฃผ์–ผ์„ ์™ผ์ชฝ ์ ˆ๋ฒฝยท๊ฐ€๋“œ๋ ˆ์ผ, ์˜ค๋ฅธ์ชฝ ์˜น๋ฒฝยท์ˆ˜๋ชฉ ๊ตฌ์กฐ๋กœ ์žฌ์ •๋ฆฌํ•˜๊ณ , ๊ฐ€๋“œ๋ ˆ์ผ ์ถฉ๋Œ, ์ €์† ์กฐํ–ฅ pose, standing start ํŒŒ์›Œ๋ฐด๋“œ๊นŒ์ง€ ์ฃผํ–‰ ๋กœ๊ทธ์™€ ์ž๋™ QA๋กœ ๋‹ค์‹œ ๋งž์ท„์Šต๋‹ˆ๋‹ค.

๐Ÿ‘€ 52
Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ๋‚ด๋ฆฌ๋ง‰ ๊ณ ์† grip์— ๋น„์šฉ์„ ๋งŒ๋“œ๋Š” ๋ฒ•

Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ๋‚ด๋ฆฌ๋ง‰ ๊ณ ์† grip์— ๋น„์šฉ์„ ๋งŒ๋“œ๋Š” ๋ฒ•

Apex Seoul์—์„œ 200km/h grip ์ฃผํ–‰์ด ๋„ˆ๋ฌด ์‰ฝ๊ฒŒ ๋А๊ปด์ง„ ์ด์œ ๋ฅผ ์ฃผํ–‰ ๋กœ๊ทธ๋กœ ๋ถ„ํ•ดํ•˜๊ณ , ์ฝ”์Šค ๊ณก๋ฅ ์„ ๋ฐ”๊พธ์ง€ ์•Š์€ ์ฑ„ ํ•˜ํ–ฅ ์ฝ”๋„ˆ ์†๋„ ์˜ˆ์‚ฐยทundersteerยท์•ˆ์ „ ์—ฌ์œ  ๋น„์šฉยท์ž๋™ ๊ฒ€์ฆ์œผ๋กœ ๋‹ค์šดํž์˜ ์„ ํƒ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘€ 25
Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ๋“œ๋ฆฌํ”„ํŠธ๋ฅผ ์ƒํƒœ์™€ ๋กœ๊ทธ๋กœ ํŠœ๋‹ํ•˜๊ธฐ

Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ๋“œ๋ฆฌํ”„ํŠธ๋ฅผ ์ƒํƒœ์™€ ๋กœ๊ทธ๋กœ ํŠœ๋‹ํ•˜๊ธฐ

Apex Seoul์— ์ŠคํŽ˜์ด์Šค ๋ธŒ๋ ˆ์ดํฌ ๊ธฐ๋ฐ˜ ๋“œ๋ฆฌํ”„ํŠธ์™€ ์นด์šดํ„ฐ ์Šคํ‹ฐ์–ด๋ฅผ ๋„ฃ๊ณ , ์ž…๋ ฅ์„ ๋†“์•˜์„ ๋•Œ์˜ ๋ณต๊ท€ยท์ „ํ™˜์„ ๋ณ„๋„ ์ƒํƒœ๋กœ ๋ถ„๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฃผํ–‰ ๋กœ๊ทธ์™€ ์ž๋™ ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ๊ฐ๊ฐ์„ ์ˆ˜์น˜ํ™”ํ•˜๋ฉฐ, ์Šคํ•€์€ ์•„์ง ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ธฐ๋กœ ํ•œ ์ด์œ ๋„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘€ 12
Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ๋‹ค์šดํž ์ง„ํ–‰ ๊ตฌ์กฐ์™€ RPM ๊ณ„๊ธฐํŒ ๋งŒ๋“ค๊ธฐ

Phaser 4 Pseudo 3D ๋ ˆ์ด์‹ฑ ๊ฒŒ์ž„ - ๋‹ค์šดํž ์ง„ํ–‰ ๊ตฌ์กฐ์™€ RPM ๊ณ„๊ธฐํŒ ๋งŒ๋“ค๊ธฐ

Apex Seoul์„ ํ•œ ๋ฒˆ ๋‚ด๋ ค์˜ค๋Š” ๋‹ค์šดํž ๋Ÿฐ์œผ๋กœ ์ •๋ฆฌํ•˜๊ณ , ๊ณ ์† ์กฐํ–ฅ๊ณผ ์ฝ”๋„ˆ ๊ฐ์†์„ ์‹ค์ œ ์ฃผํ–‰ ๋กœ๊ทธ๋กœ ๋‹ค์‹œ ํŠœ๋‹ํ•œ ๋’ค, FT86 ๊ธฐ๋ฐ˜ Raven Coupe์— NA ๊ณ ํšŒ์ „ RPM, ๊ธฐ์–ด, ํ† ํฌ ๊ณก์„ , fuel cut ์ƒํƒœ๋ฅผ ๋ถ™์˜€์Šต๋‹ˆ๋‹ค.

๐Ÿ‘€ 20
๊ฐ์ฃผ