(:3[kanのメモ帳]

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

「神巫女 -カミコ-」発売開始!【新作】【Unity】【NintendoSwitch】

神巫女 -カミコ-

次の新作はピコンティアの予定でしたが、なんやかんやありまして、

別の新作 「神巫女 -カミコ-」の発売が開始されました!

プラットフォームはなんとNintendo Switch!Nintendo Switch!!

ダウンロード専用で、お値段は500円です!



続きを読む

サブスクリプション新規購入すると今だけ人気アセット3つが無料!【Unity】

はじめに

タイトル通り、今Unity PlusまたはProサブスクリプションを新規購入すると、

3つの有料アセットが無料で付いてくるそうです!


f:id:kan_kikuchi:20170409154950p:plain
Accelerator Pack


対象アセット

続きを読む

画像のmetaファイルに関するTips【Unity】

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


はじめに

Unityではプロジェクト内で何らかのファイルを生成すると、一緒にmetaファイルが生成されます。


f:id:kan_kikuchi:20170330141423p:plain


今回はそんなmetaファイル(主に画像)に関するTipsです。


違う画像の情報をコピー

続きを読む

Listを反転させる【C#】

今回はListの小ネタで、中身を反転させる方法のご紹介です!

やり方は簡単、Reverseというメソッドを使うだけです。

//リストを作成
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);

//中身を列挙
foreach (int num in list) {
  print(num);
}

//反転
print("反転");
list.Reverse();

//反転した中身を列挙
foreach (int num in list) {
  print(num);
}

1
2
3
反転
3
2
1



SpriteModeがMultipleのTextureから、設定したSpriteの画素値だけを取得する【Unity】

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


はじめに

Unityでは、Textureの設定でRead/Writeを有効にすると、

GetPixelsを使う事でTextureの画素値を取得する事が出来るようになります。


f:id:kan_kikuchi:20170305151032j:plain

//テクスチャの全画素値を取得
Color[] pixels = texture.GetPixels();


しかし、SpriteModeがMultipleの場合、元の大きな画像の画素値を取得してしまいます。


例えば以下のように128×128のSpriteを設定し、


f:id:kan_kikuchi:20170305151835p:plain


このSpriteの全画素値(128×128=16384)を取得しようと思い、GetPixelsを使っても、

元画像の全画素値(2048×1024=2097152)を取得してしまいます。

//画素数をログ表示
Debug.Log("画素数 : " + GetComponent<SpriteRenderer>().sprite.texture.GetPixels().Length);

f:id:kan_kikuchi:20170305151955p:plain


なので、設定したSpriteのみの全画素値を取得するメソッドを作りました!

今回はそれをご紹介!


GetPixelList

続きを読む

フォントのフィルターモードを変えてドットフォントをくっきり表示【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 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 5.5.1f1


はじめに

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

イメージは以下の通り。


f:id:kan_kikuchi:20170222205516g:plain



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


WindowWhenEditorExecuted

続きを読む

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

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


はじめに

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

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

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


DisallowMultipleComponent

続きを読む