ScriptableObjectのメンバリネーム
ScriptableObjectを使用している時に変数定義を変えたくなることがあると思います。
例えばpublicで定義していたけどやはりprivateのSerializeFieldにしてスクリプトからは読み込み専用にしたくなった等
その時は
[System.Serializable] public class Data { [SerializeField] [UnityEngine.Serialization.FormerlySerializedAs ("name")] private string _name; }
これで変数名の移行が行われます。
この状態でプロジェクトの保存を行うと_nameに値が移行されていることを確認することが出来ます。
全ての関連ファイルの変更が行われたことを確認できたらFormerlySerializedAs属性は消しても大丈夫です。
※これに限らないですがPrefabと同じようにSaveProjectを実行しないと見た目は差し替わっていてもファイルに書き込まれていないため、書き込まれていることを確認してから属性削除は行う必要があります。
ターゲットの周りをくるくる回るサンプル
なんとなく作ったので記事にします
gist.github.com
ターゲットの周りを常に一定間隔で回るサンプルです。カメラのコンポーネントに付けてみてください
クォータニオン先輩使えば回転量定義できて座標変換が簡単に実装できます。
UnityEditorのObjectFieldでフォルダのみ入れる
もっと簡単な方法あれば教えて下さい><
Object folder; var newFolder = EditorGUILayout.ObjectField (folder, typeof(Object), false); var path = AssetDatabase.GetAssetPath (newFolder); if (AssetDatabase.IsValidFolder (path)) { folder = newFolder; } else { folder = null; }
どこかにありそうですが、パッと見つからず、試しにそれっぽく使ってみたら上手く行ったのでメモとして残しました。
AssetBundleメモ
Unity5.1.0での話
- AssetBundle.CreateFromFileはエラーになって動かない
- ビルド時は出力フォルダの.manifestファイルを参照しているためファイルをリネームすると再ビルドが走る
- AssetBundle本体のファイルが存在しているかどうかのチェックはされていないのでリネームしても可
- AppendHashフラグを持たせるとファイル名の後にハッシュ値が付与されたファイル名になる。
MementoBeta使ってみた
Mementoというサービスを使用して適当なフィギュアから簡易的に3Dモデル化してみました。
WebPlayer版
Unity Web Player | Figure
Memento
少し前ですがMementoというサービスがベータ版で公開されたので少し試してみました。
Autodesk Memento
簡単に言うと複数の角度から写真を撮影し、アップロードするといい感じに3D化してくれるサービスです。www.youtube.com
(PVかっこいい)
と、いってもいい被写体がなかったので近くにあったフィギュアで試してみました。