読者です 読者をやめる 読者になる 読者になる

(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

フォントのフィルターモードを変えてドットフォントをくっきり表示【Unity】【uGUI】

Unity uGUI

この記事でのバージョン
Unity 5.5.1f1


はじめに

Unityのテクスチャは、デフォルトでは滑らかに表示されるようにフィルターが設定されています。



ドット絵などフィルターが必要がない場合は以下のように設定からFilterModeをPointにして、

補完しないようにしますが、


f:id:kan_kikuchi:20170305143602p:plain


なぜかFontにはRendringModeという項目はあるものの、FliterModeという項目はありません。


f:id:kan_kikuchi:20170305144038p:plain


残念ながらRendringModeではFilterModeのように完全に補完をなくす事は出来ません

なので、補完をなくしたい場合は以下のようにプログラムから

TextのFontのMaterialのTextureのFilterModeを変更する必要があります。

//textはText
text.font.material.mainTexture.filterMode = FilterMode.Point;


試しにFilterModeをPointにしたドットフォント(上)と、

そのままのフォント(下)を比べたものが以下のものです。


f:id:kan_kikuchi:20170305143617p:plain



親オブジェクトが無効になっている時にactiveSelfを見るとtrueが返ってくるという話【Unity】

Unity

この記事でのバージョン
Unity 5.5.1f1


はじめに

例えば親オブジェクト(Parent)は無効だけど、子オブジェクト(Child)は有効になっている場合、


f:id:kan_kikuchi:20170226122413j:plain


オブジェクトの状態を確認するためにactiveSelfを見てしまうと、

子オブジェクトはtrueが返ってきてしまいます。

Debug.Log("Parent activeSelf : " + Parent.activeSelf);
Debug.Log("Child activeSelf : "  + Child.activeSelf);

f:id:kan_kikuchi:20170226122542p:plain


なので、親子関係も含めたHierarchy上での状態を知りたい場合は

activeInHierarchyを使うと良いでしょう。

Debug.Log("Parent activeInHierarchy : " + Parent.activeInHierarchy);
Debug.Log("Child activeInHierarchy : "  + Child.activeInHierarchy);

f:id:kan_kikuchi:20170226122555p:plain


エディタ実行中だけ開くウィンドウの実装【Unity】【エディタ拡張】

Unity エディタ拡張


この記事でのバージョン
Unity 5.5.1f1


はじめに

今回はタイトル通り、エディタ実行中だけ開くウィンドウのご紹介!

イメージは以下の通り。


f:id:kan_kikuchi:20170222205516g:plain



再生ボタンを押した時に表示され、終了ボタンを押した時に非表示にされる感じです。


WindowWhenEditorExecuted

続きを読む

コンポーネントを重複してアタッチできないようにする 【Unity】【属性】

Unity 属性

この記事でのバージョン
Unity 5.5.1f1


はじめに

このコンポーネントは一つのGameObjectに複数付いてたら困る!

うっかり付けられないようにしたい!

今回はそんな時に役立つ記事です。


DisallowMultipleComponent

続きを読む

独自のショートカットキー(ホットキー)を作成する【Unity】【エディタ拡張】

Unity エディタ拡張


この記事でのバージョン
Unity 5.5.1f1


はじめに


エディタ拡張で便利な機能を作ったから、瞬時に呼び出せるようにしたい!

機能にショートカットキーを設定したい!

今回はそんな感じの記事です。


MenuItem

続きを読む

エディター上で選択しているオブジェクトを取得したり、任意のオブジェクトを選択したり【Unity】【エディタ拡張】

Unity エディタ拡張


この記事でのバージョン
Unity 5.5.1f1


はじめに

今回はエディターでの選択オブジェクトに関する諸々の話です。

選択しているオブジェクトの情報を取得したい、任意のオブジェクトを選択したい

そんな感じの時に役立つはずです!


Selection

続きを読む

SpriteRendererで9Slice【Unity】

Unity

この記事でのバージョン
Unity 5.5.1f1


はじめに

今回はSpriteRendererで9Sliceをしてみようという記事です。

以下はイメージで、左がそのままスケールしたもの、右が9Sliceしてスケールしたものです。


f:id:kan_kikuchi:20170301122304g:plain


使用している画像は以下のものです。



なお、Unity5.6で追加される(されている?)公式のものではありませんのであしからず。





9スライスとは

続きを読む

OnDisableやOnDestroyをエディタを止めた時には実行しないようにする【Unity】

Unity

この記事でのバージョン
Unity 5.5.0p1


はじめに

MonoBehaviourには無効になったときに呼ばれるOnDisableと、



破棄される時に呼ばれるOnDestroyという関数があります。



なお、GameObjectを削除すると両方呼ばれます。

イメージとしては以下のような感じ。

using UnityEngine;

public class NewBehaviourScript : MonoBehaviour {

  private void OnDisable () {
    Debug.Log("OnDisable");
  }

  private void OnDestroy(){
    Debug.Log("OnDestroy");
  }

}

f:id:kan_kikuchi:20170201101539g:plain


ただし、これらの関数はエディタを止めた時にも実行されてしまいます。


f:id:kan_kikuchi:20170201101807g:plain


今回はエディタを止めた時にこれらを実行しない方法のご紹介です!


OnApplicationQuit

続きを読む

Hierarchyの変更を検知する【Unity】【エディタ拡張】

Unity エディタ拡張

この記事でのバージョン
Unity 5.5.0p1


はじめに

今回はHierarchyの変更を検知する方法のご紹介。

なお、エディタ上だけの方法なのであしからず


EditorApplication.hierarchyWindowChanged

続きを読む