äŸïŒ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ã¯æºããããããã»ã©ã§ã¯ãªã
äœãæ¡ã¯ïŒ
è¿œå æ å ±; ãã®ããã€ãã¯ãæåŸã®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ã«[email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
ãã£ããã-å€åã·ã§ãŒããŒã®ç²ŸåºŠïŒ
â
ãã®ã¹ã¬ããã«ãµãã¹ã¯ã©ã€ãããŠããããããããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/pixijs/pixi.js/issues/3742#issuecomment-280692953 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAipZJ8DLKkA3bRJQIOYcmTDpXZgfTehks5rdccygaJpZM4MDJtw
ã
roundPixelsã¯ããã©ã«ãã§falseã§ããç§ã¯ãã§ã«ããããã§ãã¯ããŸããã
åŸ ã£ãŠãåŸ ã£ãŠãããã¯ç§ã«æãåºãããïŒ
@ivanpopelyshev-ããã©ã«ãã®ã·ã§ãŒããŒã®ç²ŸåºŠãhighpã«å€æŽããããã«ç§ã«äŸé Œããæ¹æ³ãç¥ã£ãŠããŸãããäœãå€æŽãããŸããã§ããã ããŠãç§ã¯ããªããä»æç§ã«ãããããªãã®æ°ããããŒãžã§ã³ã§ãããè©ŠããŸããããããŠããã¯ãããä¿®æ£ããŸãïŒ
ããããŸãããããã¯å¥åŠã§ãã
ããã§ã
PRECISIONçšã®highpãåããçŸåšã®devãã©ã³ãã§ãæ©èœããŸãã ããã....
PIXI.settings.PRECISION = 'highp'
åäœããŸãã
pixi.jsã«çŽæ¥ã¢ã¯ã»ã¹ããŠãç·šéããå ŽåPRECISION: 'mediump',
ã«PRECISION: 'highp',
ãã®åŸãããã¯åäœããŸãã
ã ãããé«ç²ŸåºŠ+åã®å€ïŒ double->float->highpå€æã¯iphone/ipadã«ãšã£ãŠæªãããšã®ããã§ãã äžžããªãããã ãšæããŸãããå®éã¯ããªãåãæšãŠãŠããŸããŸãã
ã§ããããããã¯äœãããåé¡ãåãäžããããŠããªãèšå®ã®ããã§ã
ãã€ã¹ãã£ãã@themoonrat
kãä¿®æ£ããããŸãã ããã¯ãèšå®ãã€ã³ããŒãããã¹ã¿ã€ã«ã«ãããã®ã§ãã çŸåšã®æéã«åçã§ã¯ãªããæéãã€ã³ããŒãããããšãéçã«ããŸãã ããã«PRãäžãã
ãŸããFloat32Arrayã®ä»£ããã«Sprriteã§Float64Arrayã䜿çšããå¿ èŠããããŸããããã«ããããšã©ãŒãå°ãæžå°ããŸãã
ç·šéïŒããã¯ããŸããããä»ã®ããã€ãã®æ段ã§ããã¯ã§ããŸã:)
@ivanpopelyshevãã®ãŸãŸã§åé¡ãªããšæããŸããfloat32ãšããŠã¢ããããŒãããã®ã§ãå粟床ã§ä¿æããŠãæå³ããããŸããã
æ®å¿µãªãããç§ã¯ãŸã pixi4.4.1ãæèŒããiPadMini3ã§ããã€ããçµéšããŠããŸãã
PIXI.settings.PRECISION ='highp'ãæåã§èšå®ããŠããŸãããä»ã«äœãããå¿
èŠããããŸããïŒ
ã³ã³ãœãŒã«ã«éæšå¥šã®èŠåã衚瀺ãããŸããïŒ ã¯ãã®å Žåãå®éã«ã¯4.4.1ã䜿çšããŠããŸãã
ããªãã®ãŠãŒã¹ã±ãŒã¹ã¯äœã§ããïŒ ã¹ããŒãžå ã®ã»ãã®æ°åã®ã¹ãã©ã€ãïŒ
ã¯ããPIXI.settings.PRECISION_FRAGMENTã®éæšå¥šèŠåã䜿çšããŠãã ããã
ç§ã®ãã¹ãã§ã¯ã1ã€ã®AnimatedSpriteã24fpsïŒé床0.4ïŒã§åçãããŠããŸãã
ã¢ãã¡ãŒã·ã§ã³ã¯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'ãäœæããŸããããééã£ããã®ãéžæããå¯èœæ§ããããŸããïŒ ã²ãŒã ããmediumpãã«ããŠã³ã°ã¬ãŒãããããšã®æ¬ ç¹ã¯ãããŸããïŒ
pps-ã¬ã¬ã·ãŒã¢ãŒããæå¹ã«ãªã£ãŠããå Žåããhighpãèšå®ããmediumpãã«ããŠã³ã°ã¬ãŒããããããã«ããå¿
èŠããããŸããïŒ
åãåé¡ããããpixiv4.6.2ã䜿çšããŠããŸãã ããã¯ç§ã«ãšã£ãŠéåžžã«é倧ãªãã°ã§ãã @ivanpopelyshev ã誰ãããã®åé¡ã解決ããŸãããïŒ
PIXI.settings.PRECISION_FRAGMENT ='highp'
ã¬ã³ãã©ãŒãäœæããåã«
äžéšã®ããã€ã¹ã¯ããããµããŒãããŠããªãããšãå¿ããªãã§ãã ããããŠã©ããªã³ã°ãååšããç¹å®ã®ããã€ã¹ã§ã®ã¿highpãæå¹ã«ããããšããå§ãããŸãã
ãŸããå°æ°ã®ãªããžã§ã¯ãã®åé¡ãä¿®æ£ããå Žåã¯ãpixi-pictureãã©ã°ã€ã³ãšsprite.pluginName='picture'
ã䜿çšããŠãã ããã
åé¡ãIOSã§ã¹ãã©ã€ããããã€ãããŠããã ãã®å Žåã¯ããifiosã®å Žåã¯ç²ŸåºŠãã©ã°ã¡ã³ããé«ã«èšå®ããå®è¡ããŸãã
iOSã§ãªãå Žåã¯ãç»åãã©ã°ã€ã³ãå¿
èŠã«ãªãå ŽåããããŸãã ããããããã¯ç§ã®iOSã ãã®åé¡ã§ã¯ãããŸããã§ãã:)
@ivanpopelyshev ã @ themoonratããããšããããã¯åäœããŸãã
ãã®ã¹ã¬ããã¯ãéããããåŸãæè¿ã®ã¢ã¯ãã£ããã£ããªããããèªåçã«ããã¯ãããŠããŸãã é¢é£ãããã°ã«ã€ããŠã¯ãæ°ããåé¡ãéããŠãã ããã
æãåèã«ãªãã³ã¡ã³ã
åé¡ãIOSã§ã¹ãã©ã€ããããã€ãããŠããã ãã®å Žåã¯ããifiosã®å Žåã¯ç²ŸåºŠãã©ã°ã¡ã³ããé«ã«èšå®ããå®è¡ããŸãã
iOSã§ãªãå Žåã¯ãç»åãã©ã°ã€ã³ãå¿ èŠã«ãªãå ŽåããããŸãã ããããããã¯ç§ã®iOSã ãã®åé¡ã§ã¯ãããŸããã§ãã:)