けいごのなんとか

Unityユーザーとしてのブログ。ギリギリ路線走ってます。

Unity5.6b2で追加されたTreeViewを使ってみる

2016年12月20日にUnity5.6b2がリリースされました。 unity3d.com このバージョンでツリー階層を表現するためのTreeViewの機能が追加されています。 リリースノートより。 Editor: TreeView IMGUI Control, which can display hierarchical data that can be …

Unityまとめを作成したキッカケ

Unity系の技術エントリーをまとめたWebサービス「Unityまとめ」をリリースしました。 Unityまとめの使い方は別エントリーで紹介しています。 anchan828.hatenablog.jp Unityまとめを作成するキッカケ Unityまとめを作るに至った経緯をつらつらと書いていきま…

Unityまとめの使い方

Unity系の技術エントリーをまとめたWebサービス「Unityまとめ」をリリースしました。 unity-matome.com Unityまとめを作成するに至ったキッカケは別エントリーで紹介しています。 anchan828.hatenablog.jp Unityまとめとは ネット上にある、Unity系のエント…

エディター拡張入門のWeb版を無償公開しました

エディター拡張入門を2015年の夏コミで販売開始してから7ヶ月が過ぎました。 anchan828.github.io 最近の売上について語ると、今までで700部ほど売れました。今は1日に1部は売れています。 売上スピードが鈍化してきている今、必要としている人たちにはある…

ビルド後にHierarchyウィンドウのツリーの開閉がすべてリセットされてしまう問題をどうにかする

ビルド後にHierarchyウィンドウのツリー状態がすべて閉じてしまう問題 以下の仕様によって起こっている問題 ヒエラルキーのツリー状の開閉状態はインスタンスIDで管理されている。 シーンファイルを開き直すとゲームオブジェクトのインスタンスIDは変更され…

UnityEditor上でEditorWindowごとにスクショ (Mac)

こんなふうにEditorWindowまるごとスクショを撮る 表示されているEditorWindow全部スクショ ScreenCapture.Capture<EditorWindow> (); 表示されているHogeWindowスクショ ScreenCapture.Capture<HogeWindow> (); なんかEditorWindow.positionがずれてる値持ってる時があるんだけどなん</hogewindow></editorwindow>…

あれ?Application.LoadLevelAdditiveAsyncで複数シーンの非同時ロードが可能になってる?

検証で試したコード Unity4.5ではasyncOperation2.progressは0を返し続けるけど、Unity5だと0.9を返す。 using UnityEngine; using System.Collections; public class NewBehaviourScript : MonoBehaviour { AsyncOperation asyncOperation1; AsyncOperation…

特定のステートのみ実行されるコルーチン

こんな感じになるのかなー

IsDirty

EditorUtility.SetDirtyによってDirtyフラグが立ったかどうかのチェック internalだけどEditorUtilityクラス内にあった。 static bool IsDirty (int instanceID) { var isDirty = typeof(EditorUtility).GetMethod ("IsDirty", BindingFlags.Static | Bindin…

スクリプトからスプラッシュ画像を設定

SerializedObject経由で設定することが可能です。 プロパティ名 iPhoneSplashScreen iPhoneHighResSplashScreen iPhoneTallHighResSplashScreen iPhone47inSplashScreen iPhone55inPortraitSplashScreen iPhone55inLandscapeSplashScreen iPadPortraitSplash…

property-drawer-collectionをモジュール化

こういうのがモジュール化に向いていると思う。 使い方 kyusyukeigoフォルダを下記の場所に置く Macだと Unity.app/Contents/UnityExtensions Windowsだと Unity/Data/UnityExtensions <- うろ覚え anchan828/property-drawer-collection anchan828/property…

monodevelop-code-template-unity Unity4.6対応

もうすぐでUnity4.6対応っぽいのでUnity4.6でMessageに相当する24個を追加しました。 UnityEngine.EventSystems OnBeforeTransformParentChanged OnCanvasGroupChanged OnDidApplyAnimationProperties OnRectTransformDimensionsChange OnTransformParentCha…

Module Managerを使って自作ライブラリを読み込んでみた

[注意1] これはドキュメントに無く、推奨されていない使い方です。 [注意2] DLLを扱う方法しか調べてません。 Module Managerって? Add-On系のパッケージ(Android、iOS、WebGL...)を今後モジュールとして管理しましょうということで実装された機能 だけど…

Unity5からは"Assets/Plugins"フォルダは不要

今までは「PluginsフォルダがAssetsフォルダ直下にないといけない」仕様でした。これにより作成するプラグインのアセットが1つのフォルダ内に収まりきらずに少し残念な気持ちになったものです。 "Assets/Plugins/iOS/SocialConnector.mm" と "Assets/SocialC…

俺俺ScriptTemplate

anchan828/ScriptTemplates · GitHub ScriptTemplates スクリプトファイルのテンプレート集 ダウンロードしたtxtファイルを{Unity.app}/Contents/Resources/ScriptTemplatesフォルダに配置します。 作成するテンプレートファイルは以下の構成のファイル名に…

メインスレッド以外(外部からのアクセスも含む)でコンパイル中かどうかを判断する

{UnityプロジェクトROOT}/Library/ScriptAssembliesを見る。 CompilationCompleted.txtがなければコンパイル中。あればコンパイル完了済み。

PolymerでUnityWebPlayerを表示するやつ作ったよ

2行(Web Componentsをサポートしてないブラウザでは3行)でWebPlayerを埋め込めるように。 <html> <head> <meta charset="UTF-8"> <title>unity-webplayer</title> <script src="//cdnjs.cloudflare.com/ajax/libs/polymer/0.3.3/platform.js"></script> </head> <body> </body></html>

WebPlayerでの公開をかっこ良く - WebPlayerTemplateを使う

みなさん、ユニティちゃんのunitypackageに「WebPlayerTemplates」が含まれているのをご存知ですか? WebPlayerTemplatesを使用すると下記URLのようなHTMLページがすぐ作れちゃいます。 http://unity3d-jp.github.io/unitychan2d/ できること シェアボタン T…

AssetDatabase.StartAssetEditing

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です まとめて編集&再インポートに使用する インポート中にダイアログを表示させるのには「EditorUtility.Dis…

コンポーネントの順番を変更する「Component Move Up」「Component Move Down」をコードで管理する

何度も「Move Up」とか押しまくるの疲れたので作ってみた Github - https://github.com/anchan828/ComponentOrderAttribute コンポーネントの「Move Up」「Move Down」をコードで自動管理 ComponentOrderAttribute ComponentOrderAttribute(uint order) 指定…

タグ、レイヤー、シーン、インプット名を定数で扱う

結構前にシーン名とタグ名をタイプセーフに扱いたかったので作ってました。 スクリプトでシーン名を扱うのをタイプセーフにしてみた http://anchan828.tumblr.com/post/37544410340 Tag名を定数で扱えるように https://gist.github.com/anchan828/3cf9014a84…

コンソールのログを消す

gist9024678

テンプレートファイルにカスタムキーワード追加

Unity.app/Contents/Resources/ScriptTemplatesにあるテンプレートファイルに自由にReplaceできるキーワードを追加する デフォルトでサポートされているのは key 説明 #NAME# 拡張子なしのファイル名に変換 #SCRIPTNAME# 半角スペース無しで拡張子無しのファ…

ゲームオブジェクトのスクリプトが「Missing」になった時のリカバリー

このような時に出来るだけ素早く元に戻す。 まずこのような事になる場合 Unityの管理外でスクリプト名の変更をした Unityの管理外でスクリプトファイルの階層構成を変更した が挙げられます。つまり、Unityが把握してない所で変更したら「誰だお前!?」とな…

EditorMonoBehaviour作ってみた

MonoBehaviourと同じような使い方すると理解されやすいんじゃないかと思って。 EditorMonoBehaviourを継承して使用します。 最初はEditorApplicationのラッパーになりそう。 便利で実装ややこしいと思ったものは追加していきます。

AssetPostprocessor

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です スクリプトファイルを生成した時に呼び出されるOnGeneratedCSProjectFiles ドキュメント化されてないけど…

TextureImporterSettings.spriteExtrude

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です spriteExtrudeが1の時 spriteExtrudeが16の時

Hierarchyをカスタマイズ(新しくHierarchyを作る)

虫眼鏡のところに「お気に入り」を選択できるようにしてみました。 お気に入り機能は本来はUnityプロジェクト内のアセット検索に使用されますが、特に使ってない問題ないのでHierarchyの検索でも使用します。 使い方 まずお気に入り登録しましょう そうする…

痛Monodevelop

2015年10月21日 Monodevelop バージョンが 5.9.6 になりました。また、Unity関連の Add-in をすべて入れているのでデバッガー動きます。 できること TextAreaに背景画像 GIF対応 (ちょっと重い) 編集の仕方 GIF の場合は TextArea_Background.png を消した後…

Unity でGameController

会社にGameControllerが届いたのでいじった時に作成したラッパー

Optimizing the Size of the Built iOS Player

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です リバースエンジニアリングへの対策はしようね? Unityのデフォルト設定でそのまま Stripping Level を「S…

Caching.ready

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です Caching.readyとLoadFromCacheOrDownload 「LoadFromCacheOrDownloadを使っているのにキャシュされない!…

AnimationClip.SetCurve

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です propertyNameを知るには SpriteRendererのColorを操作したい時は下記のコードです。 Colorではなくm_Colo…

MonoBehaviour.OnValidate()

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です エディタースクリプト(CustomEditorやPropertyDrawer)いらずでインスペクター上で値を変更した時のコー…

GUI.FocusControl

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です TextFieald -> Button のとき、ボタンを押してもTextFieldにフォーカスが当たったままになる GUI.FocusCo…

Sprite.packed

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です SpriteがSpritePackerによってAtlas化されている場合はtrueを返します。 SpritePackerの使い方

GameObject.CompareTag

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です タグはよく「OnTriggerEnter」など衝突イベントの時に使用されます。 タグでGameObjectを判断する時、Gam…

Polygon Collider 2D

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です Colliderの頂点を編集する コンポーネントをアタッチしただけではこのように雑なコライダーになってしま…

EditorGUIUtility.ShowObjectPicker

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です 使い方良くわからんかったのでメモ 選択されたオブジェクトを取得するには EditorGUIUtility.GetObjectPi…

Welcome to the Unity Scripting Reference!

この情報はUnity Documentation Tabsでも閲覧することが出来ます Unity Documentation Tabsで閲覧する場合のURLはこちら(EN)またはこちら(JP)です けいごのTIPSへようこそ! ここでは私の備忘録的な情報を記載していきます。 ためになることだったり、ど…

イベントやります−

交流会開催場所東京都【年末だよ】Unity お・と・な のLT大会【ポロりもあるよ】201312/18(水)19:30◆201312/18(水)22:30 12月ですね!アドベントカレンダーもやってますね!ということでみんなでお酒を飲みながらUnityネタをLTしませんか?みなさんの持って…

ReorderableListの作成

AnimatorのStateなどにある、配列の位置を自由に移動させることが出来るものを「ReorderableList」というそうです。 これが使えたら便利なんだけどなーということで頑張ってみました。 まだ不十分なので近いうちに作り終えるつもり。

GUIのフォーカスを外す

TextFieald -> Button のとき、ボタンを押してもTextFieldにフォーカスが当たったままになる GUI.FocusControl(""); FocusControlに空文字を設定することで解除できる

Preferenceのヘッダースタイルを作成する

EditorWindowのタイトルにアイコンをつける

ここの文字って「Unity.app/Contents/Resources/UI_Strings_EN.txt」で取得しているのはわかっていたのですがアイコンをどうやって設定しているのかがわかりませんでした EditorGUIUtility.TextContentで取得できる GUILayout.Label(typeof(EditorGUIUtility…

Unity4.2の新機能 - ObjectPicker

ObjectPickerがScriptから自由に扱えるようになりました 使い方良くわからんかったのでメモ 選択されたオブジェクトを取得するには EditorGUIUtility.GetObjectPickerObject を使用します ObjectPickerのイベント取得は Event.current.commandName で判別を…

Unity4.2の新機能 - Shurikenでコリジョンのコールバックを作成

今までShurikenではOnParticleCollisionが動きませんでした まず、設定を「World」にして「Send Collision Messages」にチェック Particle SystemCubeの位置関係はこんな感じ 使う方法は二種類ある ParticleSystem自体にスクリプトをアタッチ using UnityEng…

Unity4.2の新機能 - Presetの追加

AnimationCurve Gradient Color DoubleCurve ライブラリとして保存することも可能 Presetを保存する場所は「Preference Folder」か「Unity Project内」のどちらか 「Preference Folder」 : /Users/keigo/Library/Preferences/Unity/Editor-4.x/Presets それ…

Unity4.2の新機能 - GameViewサイズを自由に設定

GameViewに任意のアスペクト・解像度追加 カスタムで追加されたものは「ProjectSettings/GameViewSize.asset」に保存されている それだけでは無く、複数のGameWindowを生成した時、それぞれ独立したアスペクト・解像度を指定できるようになった(これまでは…

Unity4.2.0が公開された! ~ 420個の更新点があるリリースノートを見る勇気のない人向け ~

Unity4.2.0が公開されました。リリースノートを見てもらえればわかりますが、とにかく数が多いです。420個近くあります。 なので、とりあえず「目玉」と思ったものをリストアップします (∩´∀`)∩ワーイ Windows Store Apps(以下「WSA、x86 と ARM の両方に対応…