Programming Serendipity

プログラミングを中心に種々雑多に書き留めます

Unity5 メモ12

  • Unityで使える、商用利用可能で無料の、漢字を含んだ日本語フォント
    Noto Sans CJK
    M+ FONTS OUTLINE
    パズドラ・モンストはLETSのフォント(有料)を使っているとの情報あり
    ゲーム業界向けLETS

  • Canvas ScalerのMatch Mode
    縦にだけスクロールする画面の場合、Match Width Or HeightとしてMatchをHeightに振り切る(value=1)と、ズレが少ない。

  • OnClick()などのイベント系関数を動的に設定する
    スライダーのOnValueChangedなど、特定の動作が行われたら呼ぶ関数はエディタ側から設定できるが、
    スクリプトで動的に設定することもできる。

slider.onValueChanged.AddListener((value) => {  
    Debug.Log(value);  
});  
  • タッチした場所にparticle systemを発生させる
    ScreenToWorldPoint()は、Z座標がカメラの位置になるため、直接使うと見えない。
    Input.mousePositionのZを奥にやってから、そこにPlay On Awakeをオンにした
    Particle SystemをInstantiate()で生成すると期待通りの動作になる

  • CanvasのRender Modeを Screen Space - Cameraにしたときの注意点
    このとき、このキャンバス内のオブジェクトは座標を移動しても見た目は移動しない。

  • uGUIの上にエフェクトを発生させたい場合
    タッチした場所にパーティクルを出すとき、uGUIのパーツがかぶっていると、以下のように難題が多い。
    Screen Space - Overlayにしていると、UIが上に来てしまい、エフェクトが隠れる。
    Screen Space - Cameraにすると、前述のようにUIの移動ができない。
    そのため、world spaceにするしかないのだが、するとUIの配置を根本的に変え
    なければならない。