【Unity】 An asset is marked with HideFlags.DontSave but is included in the build

Android用のbuildを作成しようとしたところ、
イカのようなエラーが発生しました。

[Console Log]

An asset is marked with HideFlags.DontSave but is included in the build:
Asset: 'Assets/3rd/Haste/Editor/InternalResources/Fonts/FiraSans-Regular.ttf'
(You are probably referencing internal Unity data in your build.)
UnityEditor.HostView:OnGUI()
Building - Failed to write file: 9170265a378484403a3d3293bf984429
UnityEditor.HostView:OnGUI()
Error building Player: Couldn't build player because of unsupported data on target platform.


エラーメッセージをみてみると、
Haste ProというAssetを購入して
使用しているのですが、どうやらそのせいみたい?

FiraSans-Regular.ttfがHideFlags.DontSaveが指定されているのに
ビルドに含まれてるぜ!って言ってます。

ぐぐったところ、同様の現象がおきている方がいるみたい。

webhoric.com

baba-s.hatenablog.com

forum.unity3d.com

d.hatena.ne.jp

上記のうち、Project Settingsがぶっ壊れてるよん。
消したら大丈夫だよん。って言ってるのを信じて(いちおうバックアップをとって)
ビルドしてみたら、エラーはでませんでした。

ただし、もう一度ビルドすると再発。。

根本的な解決にはなってないのかも
ttfに対してもHideFlagsが設定できればええんかなあ。

【Unity】 アニメーションイベントでメソッドが選択できない問題の解決方法

転職とかいろいろあってさぼってました。
すいません!
いろいろあって晴れてUnityエンジニアになることができました。わっしょい!


記事を書く気力が戻ってきたので、tipsを残していこうかなと思います。

タイトルの件ですが、
結論からいうとオーバーロードしたメソッドが選択できなくなるみたい。

アニメーションのイベントについてはこちらdocs.unity3d.com


おもむろに以下のようなコンポーネントを作ってみても。。。

using UnityEngine;
using System.Collections;

public class AnimationOneShot : MonoBehaviour {

    public void OnEnd(int param) {
        // なんか処理
    }
    public void OnEnd() {
        // なんか処理
    }
}


No Function Selected。。。だと。。
選ばせてくれえ。
f:id:kasugayu:20150624143848p:plain


ようは同じ名前のメソッド複数あると選択できなくなるので、
こんな感じに修正すると、、

using UnityEngine;
using System.Collections;

public class AnimationOneShot : MonoBehaviour {

    public void OnEndWithParam(int param) {
        // なんか処理
    }
    public void OnEnd() {
        // なんか処理
    }
}


なんということでしょう。
やりましたね!

f:id:kasugayu:20150624175641p:plain


この現象が発生したのはUnity4.6.5f1ですが、
検証してみたところ現在の最新版Unity5.0.2f1でも修正されてないみたいです。

【Unity】The name `変数名' does not exist in the current context

Unityを使ってるとソース上問題がないのに、 以下のようなエラーが出ることがある。

The name `変数名' does not exist in the current context

そういう場合は、直前の日本語のコメントなどが問題らしい 日本語コメントの末尾に半角スペースを入れると解決します。

うちはSublimeText3でおこったけど、MonoDevelopでもおこるぽい? 何にせよちょい不便ですね(´・_・`)

【Unity】 NGUI UIGridの使い方

すごく今更ですが、さわってみたので記事にしてみます( ´ ▽ ` )ノ

UIGridとは

ざっくりいうと、

UIGridは要素を均等にならべたり、

リストビューなどを作るのに適したコンポーネントです。

リファレンスはこちら。

 

さっそく使い方

こんな感じでGridに子要素がたくさん用意しときます。

f:id:kasugayu:20141029151716p:plain

 

実行するとこんなかんじに

f:id:kasugayu:20141029151812p:plain

 

主要なプロパティだけ簡単に説明しくと、以下のようになります。

Arrangement

リストの方向を設定します。

Horizontal 横方向
Vertical 縦方向

 

Sorting

並べ替えを行うかどうか。

none 並べ替えを行わない
Alphabetic GameObject.nameで並べ替える
Horizontal x座標で並べ替える
Vertical y座標で並べ替える
Custom カスタムで並べ替え
利用する場合はUIGridを継承してオーバーライドする
Pivot

グリッド内の配置

Max Per Line

何個で折り返すか

Cell Width

子要素の横幅

Cell Height

雇用その縦幅

animateSmoothly

Reposition()時にアニメーションするかどうか

 

UIGridのから要素を削除してReposition

 

要素を削除したときは、

1)子要素をDestroy

2)Grid.Reposition()

 

だけではだめで、

Transform.parentにnullをぶっこんで親子関係を切っておく必要があります。

 

ソースにするとこんな感じ。

target.gameObject.transform.parent = null;
Destroy(target);
grid.Reposition();

 

ではでは。

 

 

WindowsでLinuxコマンドを使う

職場で割り当てられたPCがWindowsで不便に感じたので、

Linuxコマンドを使えるようにならないかなーと思って探してみました。

 

これまではCygwinを使ってたんですが、

すごく時間がかかる上に要領も食うのでほかの方法を探してみたところ、

どうやらGowというものがあるらしい。。。

 

こちらをダウンロードしてインストールするだけで環境変数の登録なども

やってくれるみたいです。

 

gow -lで追加されたコマンドが確認できます。

便利だ!

C:\>gow -l
Available executables:

awk, basename, bash, bc, bison, bunzip2, bzip2, bzip2recover, cat,
chgrp, chmod, chown, chroot, cksum, clear, cp, csplit, curl, cut, dc,
dd, df, diff, diff3, dirname, dos2unix, du, egrep, env, expand, expr,
factor, fgrep, flex, fmt, fold, gawk, gfind, gow, grep, gsar, gzip,
head, hostid, hostname, id, indent, install, join, jwhois, less,
lesskey, ln, ls, m4, make, md5sum, mkdir, mkfifo, mknod, mv, ncftp, nl,
od, pageant, paste, patch, pathchk, plink, pr, printenv, printf, pscp,
psftp, putty, puttygen, pwd, rm, rmdir, scp, sdiff, sed, seq, sftp,
sha1sum, shar, sleep, sort, split, ssh, su, sum, sync, tac, tail, tar,
tee, test, touch, tr, uname, unexpand, uniq, unix2dos, unlink, unrar,
unshar, uudecode, uuencode, vim, wc, wget, whereis, which, whoami,
xargs, yes, zip

【Unity】 Scenes In Build UnityからSceneを削除する。

作成中のプロジェクトに

購入した完成プロジェクトをうっかりImportしちゃって

[Scenes In Build Unity]からシーンが消せない。。

そんなことありますよね!

 

ぼくはありまぁす!!!

 

そんなときは[Delete]キー押したら消せます!

 

f:id:kasugayu:20141010153028p:plain

 

てや!

f:id:kasugayu:20141010153122p:plain

 

消えた!

これですっきりですね。

 

ではでは。