ã³ãã¥ããã£ã¯ãããèšã£ãŠããŸã-Pixiã®ããã¹ãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã¯æ¹åããå¿ èŠããããŸãã ãã®åé¡ã¯ãç§ãã¡ãã©ã®ããã«æ¹åã§ãããããããŠç§ãèãããã®ãæäŸããããã®æè¯ã®æ¹æ³ã§ããããšã«å°å¿µããŠããŸãã
笊å·ä»ãè·é¢ãã£ãŒã«ãïŒãã®ææ³ã¯ãããã¹ãããã¯ã¹ãã£ã«ã¬ã³ããªã³ã°ãïŒCanvas 2D APIã䜿çšïŒãè·é¢å€æãé©çšããŸãã ç°¡åã«èšããšãè·é¢å€æã¯ãåºåãã¯ã¹ãã£ã®åãã¯ã»ã«ã®å€ããå ¥åãã¯ã¹ãã£ã®ããã¹ãã®æãè¿ãã¢ãŠãã©ã€ã³ãŸã§ã®ãã®ãã¯ã»ã«ã®è·é¢ã«èšå®ããŸãã pixi-sdf-textã¯ãã®äžäŸã§ãïŒ https ïŒ
VTMïŒãã¯ã¿ãŒãã¯ã¹ãã£ãããã¯ããã¯ã¹ãã£ã®ãã¯ã»ã«ã¬ãã«ã§æ²ç·ã®äžé£ç¶æ§ããšã³ã³ãŒãããŸãã
æ£ç¢ºãªããžã§æ²ç·ã¬ã³ããªã³ã°ïŒããã¯ãæ²ç·ä»¥å€ã®ãã¹ãŠãããã»ã¬ãŒã·ã§ã³ããããšã«ããããã©ã³ãããçŸç¶ã®ãŸãŸãã¬ã³ããªã³ã°ããŸãã ã«ãŒãã¯ãç¹å¥ãªãã©ã°ã¡ã³ãã·ã§ãŒããŒã䜿çšããŠã¬ã³ããªã³ã°ãããŸãïŒã«ãŒãã®ãµã³ããªã³ã°ã¯è¡ããããã¢ã³ããšã€ãªã¢ã¹ã䜿çšããŠGPUäžã§æ£ç¢ºã«ã¬ã³ããªã³ã°ãããŸãïŒïŒ https ïŒ https ïŒ
@bigtimebuddyãšç§ã¯ãããã®æ¹æ³ã«ã€ããŠè©±ãåããŸãããã次ã®çç±ãã3çªç®ã®ã¢ãããŒããæé©ã ãšèããŸããã
SDFã«ã¯ãäºåã«çæãããã¢ãã©ã¹ãå¿ èŠã§ãã ãã«ããã£ãã«SDFã®çæã¯éåžžã«è€éã§ãïŒå®è¡æã«å®è¡ããå ŽåïŒã
VTMã¯ããã©ã³ãã ãã§ã¯è€éãããŸãã
æ£ç¢ºãªããžã§æ²ç·ã§ã¯ãã°ã©ãã£ãã¯ã¹ã®ä»ã®ãã¹ãŠã®ããã«ãã©ã³ãããã¹ãšããŠã¬ã³ããªã³ã°ããå¿ èŠããããŸãã
ã³ã¢ã«ããã¹ãã§ã¯ãããŸããã
ããã¯éãããã±ãŒãžã§ãããã¡ã€ã³ããã±ãŒãžã®å€éšã«å®è£
ããå¿
èŠããããŸããã³ã¢ããŒã ã¯ããã®å®è£
ã«ã€ããŠå¿é
ããå¿
èŠã¯ãããŸããã
PixiSDFã¯ãã®æ£ããäŸã§ãã
PlzãPIXIããPhaserãäœæããããšããªãã§ãã ãã
ããå°ãã³ã³ããã¹ãã説æããããšæããŸãã @SukantPalã«ãããŸããŸãªãã¬ãŒããªããæã€ä»£æ¿ã®Text / BitmapTextã¢ãããŒãã調æ»ããããã«äŸé ŒããŸããã ç¹ã«ãããã¹ããããããã©ãŒãã³ã¹ãé«ããèŠæ ãã®ãããã®ãèŠã€ããããšãã§ããã°ã
ããã«ã¯ããã€ãã®ã¢ãããŒãããããšæããŸãã ãµãŒãããŒãã£ã®ãã©ã°ã€ã³ãšããŠé©åãªãã®ãããã°ããªããžããªã«å«ãŸããŠããããã³ãã«ãããŠããªããã®ããããçŸåšã®APIã眮ãæã/æ¡åŒµãããã®ããããŸãã ããã©ãŒãã³ã¹ãæé©åããããBitmapTextãšã®ãã¬ãŒããªããå°ãªããæãæçãªããã¹ãã¬ã³ããªã³ã°ã¢ãããŒããç解ããŸãããã
è¯ãããã¹ã衚瀺ãªããžã§ã¯ããå€æããããã«äœ¿çšããåºæºãããã€ããããŸãã
| | ããã©ãŒãã³ã¹| ã¡ã¢ãª| äŸåé¢ä¿| å¿ å®åºŠ| ã¹ã¿ã€ãªã³ã°| CJK | Context2d |
|-|-|-|-|-|-|-|-|
|ããã¹ã| ð| ð| ð| ð| ð| ð| ð| ð|
|ããããããããã¹ã| ð| ð| ð| ð| ð| ð| ð|
Okã
fragment interpolation
ãšãã¹ãŠã®éãã€ãã£ãå®è£
ã«ã€ããŠèª¬æããŸãã
@eXponenta
ããã¹ãã¯ãããåŠçã§ããŸãããã°ã©ãã£ãã¯ã¹ãªã©ã®ä»ã®ãã®ã§ã¯ãããåŠçã§ããŸããã
çŸåšã®ããã¹ãå®è£ ã¯ãåã°ãªããè€æ°åãã£ãã·ã¥ããŸãïŒæåãè€æ°ã®PIXI.Textã§è€æ°å䜿çšãããŠããå ŽåïŒã ã°ãªãããšã«1ã€ã®ãžãªã¡ããªã䜿çšããæ¹ãé©åã§ãã ãŸããç°ãªããã©ã³ããµã€ãºã§ãã£ãã·ã¥ããå¿ èŠã¯ãããŸããã
ãžãªã¡ããªãåæ§ç¯ããå¿ èŠã¯ãããŸãããããã¹ãå ã®æåãå€æŽãããå Žåã¯ãã°ãªããžãªã¡ããªããŒãã«ããå床ãã§ããããå¿ èŠããããŸãã å€æãå€æŽãããå Žåã¯ã1ã€ã®ãŠããã©ãŒã ãå€æŽããã ãã§ãã
ãã©ã³ã解æã«ã©ã€ãã©ãªã䜿çšã§ããŸãã ãžãªã¡ããªãžã®å€æã¯ç°¡åã§ãã
ã°ãªãé£çµèŠåãäœã§ãããããããŸããã 説æããŠããããŸããïŒ
å·Šããå³vså³ããå·Š-æåãéã«ãããå Žåã¯ãã§ããŸãã é¡åãå¿
èŠãªå Žåã¯ãå
éšã§scale.x=-1
èšå®ããŸãã
ããã¹ãã®ã¹ã¿ã€ã«èšå®ã§ã¯ãã·ã§ãŒããŒã«åŒæ°ãè¿œå ãããŸããã ãžãªã¡ããªãå€æŽãããŸãã çŸåšãã°ãªãããžãªã¡ããªãšããŠä¿åãããšããã¯ã¹ãã£ã«ãã£ãã·ã¥ãããããã¡ã¢ãªãå°ãªããŠæžã¿ãŸãã
APIãããã§ããããããã©ã³ããã¡ã€ã«ã¯ããŠãŒã¶ãŒã®ãã·ã³ã«ãã£ãã·ã¥ããå¿ èŠããããŸãã
éåžžã«çŽ æŽã§ãïŒ
isMobile
ãŸãã¯resource-loader
ãšåãåé¡ã«ãªããããå€éšäŸåé¢ä¿ã䜿çšããããšã¯ã§ããŸããã
ã³ã¢ã¯ãããã§ãªããã°ãªããŸããã æå°éã®å€éšäŸåé¢ä¿ã
@eXponenta
æ··åã¬ã€ã¢ãŠãïŒltrãšrtlã®çµã¿åããïŒã¯ãé«æ§èœãããåªå 床ãäœããªããŸãã ãã€ã§ãçŸåšã®ã¢ã«ãŽãªãºã ã«ãã©ãŒã«ããã¯ã§ããŸãã ããŒãããŒã¬ãªãŒã«ã€ããŠãåæ§ã§ãã ã°ã©ããŒã·ã§ã³ã¹ããããªã©ã®ç¹å¥ãªæ©èœã«ããã©ãŒã«ããã¯ãå¿ èŠã§ãã
ãã¯ã¹ãã£ããªããŠããããåŠçãç°¡åã«ãªããããããã§ãããåŠçãè¡ãããšãã§ããŸãã CanvasGraphicsRenderer
ãããªãã©ã°ã€ã³ãäœæã§ããŸãã
Okã Uãåã¡ãŸãã ããã ããããã³ã¢ã®å€åŽã§ã¯ãããã調ã¹ãŠã次ã«äœããã¹ããã決å®ããŸãã
ãããã倧ããªäŸåé¢ä¿ã¯ãããŸããã
@eXponentaã¯ãããªã«æµå¯Ÿçã§ããããšããããŠãã ããã ç§ãã¡ã¯ããŸã äœããã£ããããŠããªãã¢ãããŒãã暡玢ããŠããŸãã 建èšçã§ããã䟮蟱ã䜿çšããªãã§ãã ããã
@eXponentaçŸåšãå³ããå·Šãžã®ããã¹ãããµããŒãããŠããŸããïŒ
ç§ãã¡ãèããŠãããã1ã€ã®ã¢ãããŒãã¯ããã£ââã³ãã¹2DïŒçŸåšãšåãïŒã䜿çšããŠåã°ãªããåå¥ã«ã¬ã³ããªã³ã°ããããããã¢ãã©ã¹ã«ãã£ãã·ã¥ããããšã§ãã ã¢ãã©ã¹ã¯ããã¹ãŠã®PIXI.Text
ã€ã³ã¹ã¿ã³ã¹ã§ã°ããŒãã«ã«åå©çšã§ããŸãã åã°ãªã+ãã©ã³ããµã€ãº+ãã©ã³ãã¹ã¿ã€ã«ã®çµã¿åããã¯åå¥ã«ãã£ãã·ã¥ãããŸãã
ãããã³ã¢ã«åãå ¥ããããšã«ã€ããŠã©ãæããŸããïŒ
ã¡ãã£ãšèŠããŠãããã¯ããŒãã«ã§ãããã®æ°ããã¢ãããŒããèãã®ã¯æ¬åœã«ãšããµã€ãã£ã³ã°ã§ãã @eXponentaã¯ã@bigtimebuddyãšã³ãŒãã®ã¯å»ºèšçãªããšãããŠãã ããããŒãããŸãããã ããªãã¯æããã«ãæ°ããææ¡ãããã¢ãããŒãã«ã€ããŠããã€ãã®è¯ãæŽå¯ãæã£ãŠããŸãããæèµ·ãããåé¡ã軜æžãããããå奜çã«ä¿ã€ããšãã§ãããã©ããã確èªããããšãç®æããŸããã:)
ããã¹ãã§ã¯ãããã«ç§ã®2ã»ã³ãïŒãã³ã¹ïŒïŒããããŸãã
å人çã«ã¯ãããããããããã¹ãã®é床ãšããã©ãŒãã³ã¹ãåäžãããããšãæã䟡å€ã®ããã¢ãããŒãã ãšæããŸãããäºåã«å®éã«ãããããããã©ã³ããäœæããå¿ èŠã¯ãããŸããã å¿ èŠã«å¿ããŠãåçãªãããããããã¯ã¹ãã£ã®æ§ç¯ïŒ
åçãããããããã©ã³ã
ãã
const textStyle = new TextStyle({
font:'comic sans',
fill:'bright green'
});
const bitmapFont = new BitmapFont(textStyle);
çæ
ã¢ã€ãã¢
èªè¡é
SDFã¯äžèšã®ã¢ãããŒãã®æ¡åŒµã«ãªãããšãã§ããŸããïŒ ãã®ãã¯ã¹ãã£ãåçã«çæããã®ã¯ã©ãã»ã©è€éã§ããããïŒ ããã¯è¶
ãžã£ã³ããŒã§ããããïŒ ã³ãŒãããŒã¹ã倧å¹
ã«å¢ããããšã話ããŠããã®ã§ããããïŒ
ã»ãšãã©ã®äººã¯ãããäœã§ãããããããªãã®ã§ãçæ³çã«ã¯é ãå¿ èŠããããŸãã SDFãã£ãŒã«ããå€éšã§çæããå¿ èŠãããå ŽåããŸãã¯çæã«å¿ èŠãªã³ãŒãã倧ãããããè€éãããå Žåã¯ããã©ã°ã€ã³ãšããŠèªå® ã§äœ¿çšããæ¹ã確å®ã§ãã
const textStyle = new TextStyle({
font:'comic sans',
fill:'bright green',
sdf:true, <----- how sweet would this be, maybe rename to more user friendly like 'cleanEdges'
});
const sdfFont = new BitmapFont(textStyle);
ããã¯ç¢ºãã«èå³æ·±ãã¢ãããŒãã§ãïŒ ç§ã¯éå»ã«ããã調ã¹ãŠãã¬ã³ããªã³ã°ã«ãŒãã«å°å ¥ãããã·ã§ãŒããŒã¹ã€ãããšå¿ èŠãªè¿œå ã®ããã»ã¬ãŒã·ã§ã³ã«ã¯å€§ããªãªãŒããŒãããããããšå€æããŸããã @SukantPal ãããªãã¯ç§ãä»ããããã®èãã«è¿ãã®ã§ãç§ã®æžå¿µã«ã€ããŠããªãã®
ããã¯èšã£ãŠããç§ãã¡ã®æèãæ€èšŒããããã«ãã¹ãããŠå°ãããã·ã³ã°ã§ãããããã¿ã€ããäœæãã䟡å€ãããã®ã§ã¯ãªãã§ããããã
ããã¹ãã®ãšããµã€ãã£ã³ã°ãªæéïŒD
SDFã¯äžèšã®ã¢ãããŒãã®æ¡åŒµã«ãªãããšãã§ããŸããïŒ ãã®ãã¯ã¹ãã£ãåçã«çæããã®ã¯ã©ãã»ã©è€éã§ããããïŒ ããã¯è¶ ãžã£ã³ããŒã§ããããïŒ ã³ãŒãããŒã¹ãå€§å¹ ã«å¢ããããšã話ããŠããã®ã§ããããïŒ
SDFã®çæã«ã¯ã³ã¹ãããããããããã³ã°æéããããŸããïŒã¢ãã©ã¹ã«ããŸããŸãªãã©ã³ããããã¯ããå ŽåïŒãã¯ã©ã€ã¢ã³ãã«ãã£ãã·ã¥ã§ããŸãïŒä»ã®ãã¹ãŠã®ããªã¢ã³ããšåæ§ïŒã
ããã®ãã£ã³ãã¹ïŒheheïŒå®è£
ããããŸãïŒ
https://github.com/mapbox/tiny-sdf
ãã ããSDFã³ã³ãã€ã«ã¯å®å
šã«ã¯æ£ãããããŸããïŒãã©ã³ããµã€ãºãå¢æžãããšã°ãªããå€æŽãããŸãïŒ
䟿å©ããã«èŠããŸãããMSDFã®å Žåã¯3åïŒãã£ãã«ããšã«ïŒå®è¡ããå¿
èŠããããŸãã
ãããããã¯ã»ãã®å°ãã®ã³ãŒãã§ãïŒ ã·ã§ãŒããŒãå®è¡ããã®ã«çããŠããããã«èŠããŸãïŒ
@GoodBoyDigital tiny-sdfããã±ãŒãžã¯ãåäžãã£ãã«è·é¢ãã£ãŒã«ããçæããŸãã å°ãããã©ã³ããµã€ãºã§ããã¹ãããã£ãã·ã¥ããå Žåãã·ã£ãŒããªã³ãŒããŒã¯çæãããŸããã ããã¯ãã¬ã³ããªã³ã°ãããåããã©ã³ããµã€ãºã§ãã£ãã·ã¥ããããšã§è»œæžã§ããŸãã
ã·ã³ã°ã«ãã£ãã«SDFã®çæã¯ããã»ã©æªããªãã¯ãã§ãã ãã«ããã£ãã«SDFã¯ãè€éãããããšãé€ãã°åªããŠããŸãã Chumsklyãã©ã®ããã«ã³ãŒããŒããšã³ã³ãŒãããŠãããç解ã§ããŸããã§ããã
çŸåšãç§ãã¡ãæ€èšããŠãããã®ã¯ãã¹ãŠãrtlãšLtrã®æ··åã¬ã€ã¢ãŠãããµããŒãããŠããŸããïŒ @eXponentaãæ£ããææããŠããããã«ïŒã ã§ããä»ã¯æ£åŒã«ãµããŒãããŠãããšã¯æããŸããã
æ£ç¢ºãªã¢ãããŒãã«ã¯2ã€ã®å©ç¹ããããŸãããã£ãã·ã¥ãµã€ãºãå°ããïŒãã¹ãŠã®ãã¯ã»ã«ã§ã¯ãªãé ç¹ããã£ãã·ã¥ããŠããïŒããã¢ã³ããšã€ãªã¢ã¹ãèšå®ããªãã«ãªã£ãŠããå Žåã§ãã¢ã³ããšã€ãªã¢ã¹ïŒããã¹ãã¯åžžã«ã¢ã³ããšã€ãªã¢ã¹ããããšäºæ³ãããŸããçŸåšã®å®è£ ã§ã¯ãã£ã³ãã¹ã䜿çšããŠãããè¡ã£ãŠããŸãã 2DïŒã
ãã¢ã«ã€ããŠã¯ãç§ã®äºæ¬¡ããžã§æ²ç·ã®ãã¢ãèŠãŸãããïŒ https://codepen.io/sukantpal/pen/GRJawBg?editors=0010
-
ç§ãš@bigtimebuddyãæãç°¡åãªè§£æ±ºçãšããŠè©±ãåã£ããã1ã€ã®ããšã¯ããã£ã³ãã¹2Dã䜿ãç¶ããã°ãªãããã¯ã¹ãã£ã«ãã£ãã·ã¥ããããšã§ããã ã°ãªãã¯ã¯ã¯ãããšããŠã¬ã³ããªã³ã°ã§ããŸãã ãã£ãã·ã¥ã¢ãã©ã¹ã¯ãããã¹ãéã§åå©çšã§ããŸãã ãã¡ãããããã¯å€§ããªããã¹ããåããµã€ãºã§ãã£ãã·ã¥ãããŠããããšãæå³ããŸãããããã£ãŠã倧éã®ããã¹ããã¬ã³ããªã³ã°ãããŠãããããã®äžéšïŒPDFã®çŸåšã®ããŒãžãªã©ïŒã®ã¿ã衚瀺ãããŠããå Žåã¯ãã¡ã¢ãªäœ¿çšéã倧ãããªããŸãã
è¯ãã
ã¯ããçŸåšã®æ¹æ³ã§åžžã«å©çšå¯èœã§ããããã¹ãŠã®ã«ã¹ã¿ã ããã¹ãã¬ã³ããªã³ã°æè¡ãåŸæ¥è§£æ±ºããå¿
èŠãããåé¡ã§ããrtlãŸãã¯ltrã«ã€ããŠã®å¿é
ã¯ãããŸããã
ãããã®æ±ºå®ã çæ³çã«ã¯ãã¡ã¢ãªæ¶è²»ãšå®è¡æã®ããã©ãŒãã³ã¹ã«çŠç¹ãåœãŠãå¿
èŠããããŸãã
ããžã§ãã¢ã¯ãã£ãããã§ãããå šæãã¬ã³ããªã³ã°ããå Žåã«é ããŠããå¯èœæ§ã®ããçã®è€éããç解ããã«ã¯ååã§ã¯ãªããšæããŸãã
äžèšã®åçãããããããã©ã³ãã«ã€ããŠç§ãæžãããã®ã¯ãã°ãªããã£ãã·ã³ã°ã«ã€ããŠããªããèšã£ãããšãšã»ãŒåãã§ãã ããã¯ééããªãéããã®ã«äŸ¿å©ãªã«ãŒãã ãšæããŸãïŒ
èŠçŽããã°ïŒ
ããžã§æ²ç·ãœãªã¥ãŒã·ã§ã³ïŒããã¯è¯ãã«ãŒããããããŸããããå®éã®æ¬çªãŠãŒã¹ã±ãŒã¹ã«ã©ã®ããã«é©åããããç解ããã«ã¯ãããã«ç 究éçºãå¿ èŠã ãšæããŸãã
éåžžã®ãã©ã³ãããã®åçãããããããã©ã³ãïŒããã¯ãAPIãã·ã³ãã«ã«ä¿ã¡ãªãããåªããããã©ãŒãã³ã¹ãæäŸããããšãããã£ãŠããããã確å®ã«èª¿æ»ããå¿ èŠããããŸãã ç§ã®ãæ°ã«å ¥ãïŒD
ã·ã³ã°ã«ãã£ãã«SDFãã«ããã£ãã«SDFã»ã©åªããŠããªãããšãç解ããŠããŸããããã¢ã¯ç§ã«ã¯ããªãè¯ãããã«èŠããŸããã ããã¹ããé©åã«æ¡å€§çž®å°ã§ãããã©ã³ãããšã«1ã€ã®ãã¯ã¹ãã£ã䜿çšã§ããå Žåã¯ããã®ã«ãŒãã調æ»ãã䟡å€ããããšæããŸãã
@GoodBoyDigitalãã¢ã«ã¯ããªãè¯ãããã¹ãããããšæããŸãã ãããã詳现ãæ¢ãããšãããšãç®ã«èŠããéãããããŸãã
äžéšã®ããã¹ãã¯ã·ã£ãŒãã§ã¯ãããŸãã-ãšããžã«æºãããããŸãã åãã©ã³ã+ïŒãã©ã³ããµã€ãºã®çŽ12ã15ãã¯ã»ã«ã®éãïŒã®çµã¿åããã¯ãåå¥ã«ãã£ãã·ã¥ããå¿ èŠãããå ŽåããããŸãã
ãããã®å°å»ã¿ã«åãããšãéèŠã§ãªãå ŽåããŸãã¯è€æ°ã®ãã©ã³ããµã€ãºã§ãã£ãã·ã¥ã䜿çšã§ããå Žåã¯ãSDFã䜿çšããŠããŸã£ããåé¡ãããŸããã
æãç°¡åãªè§£æ±ºçãç§ã«ãšã£ãŠã¯åé¡ãããŸããð¯tbhïŒ
ããã¿ããªã
ç§ã¯Pixiã®ãã¹ãŠã«ç²ŸéããŠããŸãããããã¯ãšã³ããšããŠPixiã䜿çšããGDevelopã®ãŠãŒã¶ãŒã§ãããGDevelopã«ããPixiJSã®å®è£ ãšããã¹ãã¬ã³ããªã³ã°ã®ããã«ãã°ãããããæãäžããŠããŸããã ç§ãåãçµãã§ããããã¹ããããããããã²ãŒã ã«ãšã£ãŠãããã¯å®éã«åœ±é¿åããããŸãã ïŒGDevelopã«æçš¿ããåé¡ã§ç§ã®ç 究/äŸãèŠãããšãã§ããŸãïŒhttpsïŒ//github.com/4ian/GDevelop/issues/1449ïŒ
ç§ãèŠã€ãããªãã·ã§ã³ã®1ã€ã¯ãããã¹ãã®ã¹ã±ãŒãªã³ã°ã®åé¡ãå®å šã«ç¡èŠããåžžã«ããã¹ãã®ã¹ã±ãŒã«ã100ïŒ ã®ãŸãŸã«ããŠã代ããã«ããã¹ãã®ãã©ã³ããµã€ãºãã¹ã±ãŒãªã³ã°ããããšã§ãããããå®å šã«æé€ããããšã«çŠç¹ãåœãŠãŠããŸããã ããã¯ãã©ã³ãã«äŸåããããã¹ãŠã®ãµã€ãºã§æ©èœããããã§ãã
ãããPixiã䜿çšããŠè¡ãããŠããã³ãŒãäŸã§ãïŒ https ïŒ
ç§ã¯ãã®ã¹ã¬ããã§ãããèŠã€ããŸããïŒ https ïŒ
誰ããGDevelopã®PixiTextæ¡åŒµæ©èœãå€æŽã§ããããšãæãã§ããã®ã§ãå®éã«ã¯ãã®åé¡ã«æµãŸããŠããŸãããïŒç§ã¯çŽ 人ãªã®ã§ïŒãããPixièªäœã®ã¯ããã«å€§ããªåé¡ã§ããããšã«æ°ã¥ããŠããŸããã§ããã
ãã®æ¹æ³ã«æœåšçãªåé¡ããããã©ããã¯ããããŸããããsdf / msdf / etcã®ããã©ãŒãã³ã¹ã®åé¡ããã¹ãŠåé¿ã§ããããã§ãã
@ Silver-Streakããã¹ããã£ã¹ãã¬ã€ãªããžã§ã¯ãã«é©çšãããã¹ã±ãŒã«ã§ãã©ã³ããµã€ãºã倧ããããããšãæå³ããå Žåãããã©ãŒãã³ã¹ã®èŠ³ç¹ããã©ã®ããã«åªããŠããã§ããããã SDFã®ãã®ã¯ã倧ããªãã©ã³ããµã€ãºã§åã¬ã³ããªã³ã°ããªããããããã©ãŒãã³ã¹ã«åœ¹ç«ã¡ãŸãã
@ Silver-Streakãã¡ãããããªãã®ææ¡ã¯_å質_ãæ¹åããŸããããããã©ã®ããã«ããã©ãŒãã³ã¹ãæ¹åãããã¯ããããŸããã
@ Silver-Streakãã¡ãããããªãã®ææ¡ã¯_å質_ãæ¹åããŸããããããã©ã®ããã«ããã©ãŒãã³ã¹ãæ¹åãããã¯ããããŸããã
誀解ããªãéãããã©ã³ããµã€ãºãå€æŽãããšããªããžã§ã¯ãå šäœãã¹ã±ãŒãªã³ã°ããããå¥ã®ã¬ã³ãã©ãŒã«èªã¿èŸŒãã ããããããå°ãªããªãœãŒã¹ã䜿çšããŸãããïŒ ç¹°ãè¿ãã«ãªããŸãããPixiã®ã¹ã±ãŒãªã³ã°ãå®éã«ã©ã®ããã«æ©èœãããã«ã€ããŠã¯ãç§ã¯éåžžã«çŽ 人ã§ãããã©ã³ãããã€ãã£ã解å床ã®ãŸãŸã«ããŠãããã¹ããµã€ãºãå€æŽããã ãã§ãã¹ã±ãŒãªã³ã°ãããããé«éã«ãªãããšã¯çã«ããªã£ãŠããŸãã ãããæ£ãããªãå Žåã¯ãæ°ãæ£ããããšããè©«ã³ããŸãã
@ Silver-StreakScalingã¯å€æãšããŠå®è£ ãããŸãã å€æè¡åãããããã®è¡åã®ã¹ã±ãŒã«ãå€æŽããã®ã¯ç°¡åãªæäœã§ãã
çŸåšã®ãšãããããã¹ãã¯Canvas 2DAPIã䜿çšããŠãã£ã³ãã¹ã«ã¬ã³ããªã³ã°ãããŸãã 次ã«ãç»é¢ã«ã³ããŒãããŸãã ã¹ã±ãŒã«ãå€æŽãããšããã£ã³ãã¹å ã®ããã¹ããããããããŠããç»é¢åº§æšãå€æŽãããã ãã§ãã
ãããããã¯çã«ããªã£ãŠããŸãã æ®å¿µãªãããç§ã®åé¡ã¯ãæ¡å€§çž®å°åŸã«ãã©ã³ãã®ã°ã©ãã£ãã¯ã¬ã³ããªã³ã°ããŒãããŠããŸãããšã§ãããããã©ãŒãã³ã¹ãåäžãããšæããŸããã
äžè¬çãªããã¹ãå質ã®åé¡ãä¿®æ£ããããã«èª°ãããããå®è£ ããããšã楜ãã¿ã«ããŠããŸãããããã©ãŒãã³ã¹ãæ¹åããããšæã£ãŠããããšã¯å®å šã«ç解ã§ããŸãã
ãããéããŠç§ãšè©±ããŠãããŠããããšãã
@ Silver-Streakåé¡ãããŸããã ãã ããå質åªå ã®ããã¹ããå®è£ ããããšã¯ãWebGLã§ãé£ããããšã§ã¯ãããŸããã äžéšã®ã¢ããªã±ãŒã·ã§ã³ã¯ãç¬èªã«ã¡ãã·ã¥ãäœæããŠããã¹ããå®è£ ããŠããŸãã ãã©ã³ããã¡ã€ã«ã解æããé ç¹ã®ãªã¹ããäœæããŠãããã»ã¬ãŒã·ã§ã³ããããšãã§ããŸãã ãããã®é ç¹ã¯ãã¡ãã·ã¥ãä»ããŠã¬ã³ããªã³ã°ã§ããŸãã
é«ã¹ã±ãŒã«ã§ã¯ãããã«ããããããªããšããžããçºçããå¯èœæ§ããããŸããæçµçã«ã¯ãããã¹ããäžè§åœ¢ãšããŠã¬ã³ããªã³ã°ããããã§ãã ããã«é«å質ã«ããããã«ããã®ã¹ã¬ããã§èª¬æãããæ£ç¢ºãªããžã§æ²ç·ãã·ã§ãŒããŒã䜿çšã§ããŸããããã«ãããæ²ç·ãäžè§åœ¢ã§ã¯ãªãæ²ç·ãšããŠã¬ã³ããªã³ã°ãããŸãã
ããã¹ãã®å質ã«ã€ããŠãµããŒããå¿ èŠãªå Žåã¯ãç§ããæäŒãããŸã:)
@SukantPalç§ã¯ééããªãGDevelopã®è²¢ç®è ã§ã¯ãããŸããïŒç§ããããªããããããŸãããç§ã¯äž»ã«ããžãã¹ã·ã¹ãã ã¢ããªã¹ã/ DevOpsã§ãããéçºè ã§ã¯ãããŸããðïŒãç§ã¯ãã®ãããžã§ã¯ãã倧奜ãã§ãã³ãã¥ããã£ã§æŽ»åããŠããŸãã ã ãŸããã³ãã¥ããã£ã®ä»ã®ã¡ã³ããŒããã¹ã±ãŒãªã³ã°ãããããã¹ãå質ã®ãœãªã¥ãŒã·ã§ã³ãèŠãããšæã£ãŠããããšãç¥ã£ãŠããŸãã
ãã ããæçš¿ã®åé¡ã確èªãããå Žåã¯ãBountysourceã«ããã®æ©æµãããããã¹ãŠã®äººã«éæŸãããŠããŸãã ãã ããããã§ã¯ãã以äžãããã¹ããŒã¹ãåãäžããããããŸãããäžè¬çã«ãPixiã®åšãã§ã¯ããã«æ·±ãäŒè©±ãè¡ãããŠããããšã¯æããã§ãããç§ã®ææ¡ã¯æã£ãã»ã©ç確ã§ã¯ãããŸããã§ããã
@ Silver-Streakã³ããã·ãŒãºã³ã§ããã¹ãããšã¯äœããªãã®ã§ãèŠãŠã¿ããããããŸãã
ãããã¯ããŒãºãã¹ã¬ããã§ããããšã¯ç¥ã£ãŠããŸãããããã¹ãã¬ã³ããªã³ã°ãæ¹åããããã®æè¯ã®æ¹æ³ã誰ãããŸã æ¢ããŠãããšç¢ºä¿¡ããŠããŸãã ç§ã¯èª°ããPixiv5ã§åäœããmsdfå®è£ ãæã£ãŠããããšã«æ°ã¥ããŸããã https://github.com/cjsjy123/pixi-msdf-text-v5èããç§ã¯èå³ã®ãã人ã«ããã«ã€ããŠèšåããããšæã
ãã®ã¹ã¬ããã¯ç¢ºå®ã«å床éããŠåç¶ãããå¿ èŠããããŸãããŸãã¯ãããã¯æãæ€çŽ¢ãããŠããåé¡ã®1ã€ã§ãããããå°ãªããšãé »ç¹ã«äœããã®æŽæ°ãè¡ãå¿ èŠããããŸãã
æãåèã«ãªãã³ã¡ã³ã
@eXponentaã¯ãããªã«æµå¯Ÿçã§ããããšããããŠãã ããã ç§ãã¡ã¯ããŸã äœããã£ããããŠããªãã¢ãããŒãã暡玢ããŠããŸãã 建èšçã§ããã䟮蟱ã䜿çšããªãã§ãã ããã