Pixi.js: iOS์—์„œ ํ”๋“ค๋ฆฌ๋Š” ์Šคํ”„๋ผ์ดํŠธ์‹œํŠธ ์• ๋‹ˆ๋ฉ”์ด์…˜

์— ๋งŒ๋“  2017๋…„ 02์›” 16์ผ  ยท  29์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pixijs/pixi.js

์˜ˆ: http://moonrat.co.uk/html5/pixi-ios-animation-bug/

๋‹น์‹ ์ด ๋ณด๋Š” ๊ฒƒ์€ 3๊ฐ€์ง€ ํฌ๊ธฐ์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์ž…๋‹ˆ๋‹ค. ์ƒ๋‹จ์— x0.5, ์ค‘๊ฐ„์— x0.75, ํ•˜๋‹จ์— x1์ž…๋‹ˆ๋‹ค. ์™ผ์ชฝ์—๋Š” ์ผ๋ฐ˜ ๋ Œ๋”๋ง ๊ฒฝ๋กœ๊ฐ€ ์‚ฌ์šฉ๋˜๊ณ  ์˜ค๋ฅธ์ชฝ์—๋Š” 3๊ฐœ์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด pixi-picture๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ์ €๋Š” _WebGL ๋ชจ๋“œ์˜ iOS ๊ธฐ๊ธฐ์—์„œ๋งŒ ์ด ๋ฌธ์ œ๋ฅผ ๋ด…๋‹ˆ๋‹ค_. Mac์˜ Safari๋ฅผ ํฌํ•จํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์บ”๋ฒ„์Šค ๋ชจ๋“œ์˜ iOS, ์ ˆ๋Œ€์ ์œผ๋กœ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ WebGL์„ ์‚ฌ์šฉํ•˜๋Š” iOS(iPad ๋ฐ iPhone) ์žฅ์น˜๋Š”... ํ”๋“ค๋ฆฝ๋‹ˆ๋‹ค.

@ivanpopelyshev ๋Š” ๋” ์ •ํ™•ํ•œ ๋ Œ๋”๋ง์„ ์œ„ํ•ด pixi-picture๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ œ์•ˆํ–ˆ์œผ๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ์žฅ์น˜์—์„œ ๋„์›€์ด ๋˜์ง€๋งŒ ๋ชจ๋“  ์žฅ์น˜์—์„œ ๋„์›€์ด ๋˜์ง€ ์•Š์œผ๋ฉฐ ๋ฌธ์ œ๋ฅผ ๊ฑฐ์˜ ์ œ๊ฑฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋“  iOS ๊ธฐ๊ธฐ๊ฐ€ ์œ„์˜ ์˜ˆ์—์„œ ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€์— ๋Œ€ํ•œ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

iPad Mini 2: 10.0.2 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€ ์•Š์Œ
iPad 4: 8.4 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€๋งŒ ๋œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.
iPad Air: 10.2 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€ ์•Š์Œ
iPad Air: 10.3 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€ ์•Š์Œ
iPad Air2: 8.3 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€๋งŒ ๋œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

iphone 4s: 9.1 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€๋งŒ ๋œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.
iphone 4s: 9.2.1 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€๋งŒ ๋œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.
iphone 5: 9.1 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๋„ ํ”๋“ค๋ฆฝ๋‹ˆ๋‹ค.
iphone 5: 10.1 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๋„ ํ”๋“ค๋ฆฝ๋‹ˆ๋‹ค.
iphone 5s: 10.0.2 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€ ์•Š์Œ
iphone 6: 8.2 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€๋งŒ ๋œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.
iphone 6: 10.0.2 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€๋งŒ ๋œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.
iphone 6+: 8.4 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€๋งŒ ๋œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.
iphone 6+: 9.2.1 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€๋งŒ ๋œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.
iphone se: 10.2 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€ ์•Š์Œ
iphone 7: 10.2 - pixi๊ฐ€ ํ”๋“ค๋ฆฌ๊ณ  pixi-picture๊ฐ€ ํ”๋“ค๋ฆฌ์ง€๋งŒ ๋œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ์•„์ด๋””์–ด?

๐Ÿ’พ v4.x (Legacy)

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

๋ฌธ์ œ๊ฐ€ IOS์—์„œ ํ”๋“ค๋ฆฌ๋Š” ์Šคํ”„๋ผ์ดํŠธ๋ผ๋ฉด ์˜ˆ, "iOS๊ฐ€ ์žˆ์œผ๋ฉด ์ •๋ฐ€๋„ ์กฐ๊ฐ์„ ๋†’์Œ์œผ๋กœ ์„ค์ •"์„ ์ˆ˜ํ–‰ํ•˜์‹ญ์‹œ์˜ค.
ios๊ฐ€ ์•„๋‹ˆ๋ฉด ๊ทธ๋ฆผ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ๋‚ด ios๋งŒ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. :)

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

์ถ”๊ฐ€ ์ •๋ณด; ์ด ํ”๋“ค๋ฆผ์€ ๋งˆ์ง€๋ง‰ pixi v3์—์„œ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: http://moonrat.co.uk/html5/pixi-ios-animation-bug-v3/

v3๊ฐ€ ๋” ๋‚˜์€๊ฐ€์š”? ๊ทธ ํฅ๋ฏธ ๋กญ๊ตฐ์š”

์ผ๋ถ€ ๋ชจ์–‘์„ ํšŒ์ „ํ•  ๋•Œ๋งŒ iOS์—์„œ ๋™์ผํ•œ "ํ”๋“ค๋ฆผ" ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค(๊ฐ๋„๊ฐ€ 0์„ ์ค‘์‹ฌ์œผ๋กœ ์›€์ง์ผ ๋•Œ ๋ฐœ์ƒํ•จ). v3๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค ...

๋‚ด๊ฐ€ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ์ฐจ์ด์ ์€ ์ •์  ๋ฐ์ดํ„ฐ๋ฅผ v4์˜ float32 ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๊นŒ? ์ •๋ฐ€๋„ ๋ฌธ์ œ๊ฐ€ ์•„๋‹๊นŒ์š”?

@GoodBoyDigital ์˜ค๋Š˜ ํ…Œ์ŠคํŠธํ–ˆ๋Š”๋ฐ @themoonrat ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋ผ๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฉ‹์ง„ - ์•„๋งˆ๋„ ์…ฐ์ด๋” ์ •๋ฐ€๋„?

roundPixels๋ฅผ false๋กœ ์„ค์ •ํ•˜์—ฌ ์ค‘์ง€๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์ŠคํŠธํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

2017๋…„ 2์›” 17์ผ ๊ธˆ์š”์ผ 16:13 Mat Groves [email protected] ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

๋ฉ‹์ง„ - ์•„๋งˆ๋„ ์…ฐ์ด๋” ์ •๋ฐ€๋„?

โ€”
์ด ์Šค๋ ˆ๋“œ์— ๊ฐ€์ž…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/pixijs/pixi.js/issues/3742#issuecomment-280692953 ,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAipZJ8DLKkA3bRJQIOYcmTDpXZgfTehks5rdccygaJpZM4MDJtw
.

roundPixels๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ false์ด๋ฉฐ ์ด๋ฏธ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ž ๊น, ์ž ๊น, ๊ทธ๊ฒŒ ์ƒ๊ฐ๋‚ฌ์–ด!

@ivanpopelyshev - ๊ธฐ๋ณธ ์…ฐ์ด๋” ์ •๋ฐ€๋„๋ฅผ highp๋กœ ๋ณ€๊ฒฝํ•˜๋„๋ก ์š”์ฒญํ–ˆ์ง€๋งŒ ์•„๋ฌด ๊ฒƒ๋„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์€ ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธ€์Ž„, ๋‚˜๋Š” ๋‹น์‹ ์ด ์˜ค๋Š˜ ์•„์นจ์— ๋‚˜์—๊ฒŒ ์ค€ ๋‹น์‹ ์˜ ์ƒˆ ๋ฒ„์ „์—์„œ ๊ทธ๊ฒƒ์„ ์‹œ๋„ํ–ˆ๊ณ  ๊ทธ๊ฒƒ์€ _does_ ๊ทธ๊ฒƒ์„ ๊ณ ์ณค์Šต๋‹ˆ๋‹ค!

์ข‹์•„, ์ด๊ฒƒ์€ ์ด์ƒํ•˜๋‹ค.
๊ทธ๋ž˜์„œ.
PRECISION์šฉ highp๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ˜„์žฌ dev ๋ถ„๊ธฐ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ....

PIXI.settings.PRECISION = 'highp'
์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
pixi.js์— ์ง์ ‘ ๋“ค์–ด๊ฐ€์„œ ํŽธ์ง‘ํ•˜๋ฉด
PRECISION: 'mediump',
์—๊ฒŒ
PRECISION: 'highp',
๊ทธ๋Ÿฌ๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ, ๋†’์€ ์ •๋ฐ€๋„ + ์ด์ค‘ ๊ฐ’? double->float->highp ๋ณ€ํ™˜์€ iphone/ipad์— ์ข‹์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๋‘ฅ๊ธ€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๋ฌผ๊ฑด์„ ๋งŽ์ด ์ž˜๋ฆฝ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ๊ฒƒ๋ณด๋‹ค ๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ ์„ค์ •์ด ์„ ํƒ๋˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ข‹์€ ์บ์น˜ @themoonrat

k, ์ˆ˜์ • ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์ •์„ ๊ฐ€์ ธ์˜ค๋Š” ์Šคํƒ€์ผ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ฐ€์ ธ์˜ค๊ธฐ ์‹œ๊ฐ„์„ ํ˜„์žฌ ์ƒํƒœ์— ๋™์ ์œผ๋กœ ์ ์šฉํ•˜์ง€ ์•Š๊ณ  ์ •์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ณง PR ์˜ฌ๋ฆฌ๊ธฐ

๋˜ํ•œ Sprrite์—์„œ Float32Array ๋Œ€์‹  Float64Array๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ์•ฝ๊ฐ„ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

ํŽธ์ง‘: ๊ทธ๋ ‡์ง€๋Š” ์•Š์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์กฐ์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. :)

@ivanpopelyshev ๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค - ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ๋“ค์„ float32๋กœ ์—…๋กœ๋“œํ•˜๋ฏ€๋กœ ๋ฐฐ์ •๋ฐ€๋„๋กœ ๊ทธ๊ฒƒ๋“ค์„ ์žก์„ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค..

๋ถˆํ–‰ํžˆ๋„ pixi4.4.1์ด ์„ค์น˜๋œ iPad Mini3์—์„œ ์—ฌ์ „ํžˆ ํ”๋“ค๋ฆผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
PIXI.settings.PRECISION = 'highp'๋ฅผ ์ˆ˜๋™์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์ฝ˜์†”์— ์‚ฌ์šฉ ์ค‘๋‹จ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ์‹ค์ œ๋กœ 4.4.1์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‹น์‹ ์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์Šคํ…Œ์ด์ง€์— ์Šคํ”„๋ผ์ดํŠธ๊ฐ€ ๋ช‡ ๊ฐœ๋ฟ์ธ๊ฐ€์š”?

์˜ˆ, PIXI.settings.PRECISION_FRAGMENT ์ง€์› ์ค‘๋‹จ ๊ฒฝ๊ณ ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
๋‚ด ํ…Œ์ŠคํŠธ์—๋Š” 24fps(์†๋„ 0.4)์—์„œ ์žฌ์ƒ๋˜๋Š” 1๊ฐœ์˜ AnimatedSprite๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.
์• ๋‹ˆ๋ฉ”์ด์…˜์€ TexturePacker๋กœ ์ƒ์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๊ธฐ๋ณธ ํ…์Šค์ฒ˜ ํฌ๊ธฐ๋Š” POT(2048x2048)์ž…๋‹ˆ๋‹ค.
4.4.1์—์„œ ๊ทธ๋Š” ์ด์ „๋ณด๋‹ค ๋œ ํ”๋“ค๋ฆฌ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ˆˆ์— ๋„๋Š” ์ง€ํ„ฐ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์„ ์œ„ํ•ด pixi-picture ๋ Œ๋”๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? https://github.com/pixijs/pixi-picture/tree/master/bin ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค.

sprite.pluginName = 'picture';

์—„์ฒญ๋‚œ! pixi-picture๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์™„๋ฒฝํ•˜๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค :)
์ด๊ฒƒ์ด ๋Œ€์ฒด ์Šคํ”„๋ผ์ดํŠธ ๋ Œ๋”๋Ÿฌ์ž…๋‹ˆ๊นŒ?
์–ด๋–ค ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? (์ด ๋ช…๋ฐฑํ•œ ๊ฒฝ์šฐ ์™ธ์—). ์ผ๋ฐ˜ ๋ Œ๋”๋Ÿฌ(๋‹ค์ค‘ ํ…์Šค์ฒ˜ ์ผ๊ด„ ์ฒ˜๋ฆฌ ์ง€์›)๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ํŠน์ • ๋ชฉ์ ์— ๋” ๊ฐ€๊น์Šต๋‹ˆ๊นŒ?

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฉ”์ธ ์Šคํ”„๋ผ์ดํŠธ ๋ Œ๋”๋Ÿฌ์— ๋ฌด์—‡์ด ๋ฌธ์ œ์ธ์ง€ ์••๋‹ˆ๋‹ค. Pixi ์‚ฌ์ง„์€ ์ผ๊ด„ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๋Š” ์–ด๋ฆฌ์„์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฒฝ๊ณ„ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ค„์ด๊ณ  ์˜ค๋ฒ„๋ ˆ์ด/ํ•˜๋“œ๋ผ์ดํŠธ ํ˜ผํ•ฉ ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ์ฐจ์ด์ ์€ UV ์ขŒํ‘œ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ฉ”์ธ ์Šคํ”„๋ผ์ดํŠธ ๋ Œ๋”๋Ÿฌ๋Š” Uint16์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด, ๋‹ค๋ฅธ ๋ชจ๋“  ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ๊ฐ™์€ ๊ทธ๋ฆผ์€ Float๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ:
PIXI.settings.PRECISION_FRAGMENT = 'highp';
ํ”Œ๋Ÿฌ๊ทธ์ธ ์—†์ด ํ”๋“ค๋ฆฌ๋Š” iOS ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

ps - @ivanpopelyshev , ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ PRECISION_VERTEX 'highp'๋ฅผ ์„ค์ •ํ–ˆ๋Š”๋ฐ ์ž˜๋ชป๋œ ๊ฒƒ์„ ์„ ํƒํ–ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ๊ฒŒ์ž„์„ '์ค‘๊ฐ„'์œผ๋กœ ๋‹ค์‹œ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๋ฐ ์–ด๋–ค ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๊นŒ?
pps - ๋ ˆ๊ฑฐ์‹œ ๋ชจ๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ 'highp' ์„ค์ •์ด 'mediump'๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๋˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ pixi v4.6.2๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ €์—๊ฒŒ๋Š” ๋งค์šฐ ์ค‘์š”ํ•œ ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค. @ivanpopelyshev , ์•„๋ฌด๋„์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ–ˆ์Šต๋‹ˆ๊นŒ?

PIXI.settings.PRECISION_FRAGMENT = '๋†’์Œ'
๋ Œ๋”๋Ÿฌ๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์—

์ผ๋ถ€ ์žฅ์น˜๋Š” ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ํ”๋“ค๋ฆฌ๋Š” ํŠน์ • ์žฅ์น˜์—์„œ๋งŒ highp๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ ์€ ์ˆ˜์˜ ๊ฐœ์ฒด์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด pixi-picture ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ sprite.pluginName='picture' ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

๋ฌธ์ œ๊ฐ€ IOS์—์„œ ํ”๋“ค๋ฆฌ๋Š” ์Šคํ”„๋ผ์ดํŠธ๋ผ๋ฉด ์˜ˆ, "iOS๊ฐ€ ์žˆ์œผ๋ฉด ์ •๋ฐ€๋„ ์กฐ๊ฐ์„ ๋†’์Œ์œผ๋กœ ์„ค์ •"์„ ์ˆ˜ํ–‰ํ•˜์‹ญ์‹œ์˜ค.
ios๊ฐ€ ์•„๋‹ˆ๋ฉด ๊ทธ๋ฆผ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ๋‚ด ios๋งŒ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. :)

@ivanpopelyshev , @themoonrat ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด ์Šค๋ ˆ๋“œ๋Š” ๋‹ซํžŒ ํ›„ ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์ž ๊ฒผ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ฌ์‹ญ์‹œ์˜ค.

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