Unityな日々(Unity Geek)

Unityで可視化アプリを開発するための試行錯誤の覚書

エディター操作

入れ子のGeneric Listをインスペクタで使う

C#では、Generic Listを要素にもつGeneric List、すなわち、入れ子(多重)のGeneric Listを定義できる。 public List<List<string>> names = new List <List<string>>(); しかし、入れ子(二重)のGeneric Listは、インスペクタに表示されない。 インスペクタで入れ子Listを使うには、</list<string></list<string>…

Unityエディタをバッチで起動し、プロジェクトにコマンドライン引数を渡す

Unityエディタをバッチファイルから起動するには、 "C:\Program Files\Unity543\Editor\Unity.exe" と書いたバッチファイルを作って、ダブルクリックすればよい。"“でくくっているのは、フォルダ名Program Filesがスペースを含んでいるため。 ちなみに、Unit…

オブジェクトをきれいに配置する

等間隔スナップ オブジェクトを等間隔で並べたり、スケーリングしたりする方法。 設定 Edit => Snap Settings... で各軸のPositionおよびScaleのスナップ幅を設定する 移動 Control(MacはCommand)キーを押しながら、Sceneビューでオブジェクトをドラッグす…

Unity5のプロジェクトをUnity4.6で開く

Unity5で作成したプロジェクトを4.6で開きたい場合、次のように設定する。 UnityメニューのEdit/Project Settings/Editorを開き、 vertion controlのmodeを「Visible Meta Files」にする Asset Serializationのmodeを「Force Text」にする をおこなってプロ…

iOS用のレスポンシブなUIをつくる

iOSデバイスにはさまざまな解像度、アスペクト比があり、それぞれに適切なUIとなるような工夫がいる。 参考: Canvas(uGUI)の基本レイアウト - Unityな日々(Unity Geek)unitygeek.hatenablog.com 実現したいUI:トリミングとストレッチ たとえば、次のよう…

覚えておくと便利な小技(Tips)

Unityの「ビギナーTips」の中に、結構便利そうなもの(で、知らなかったもの)があったのでメモ。 Snap Ctrl(Macはコマンド)キーを押しながら、移動、拡大・縮小、回転をおこなうと、一定の増分ごとに「スナップ」されて移動、拡大・縮小、回転を行える。 …

Unity Editor上かどうかで処理内容を変える

Unityの開発はUnity Editorで行うが、Editor上と実際の実行プラットフォーム(Windows, Mac, Linux、iOS, Androidなど)とで処理を変えたい場合がある。これには次の2つの方法がある。 1. "Application.platform"を使う方法 実行時にスクリプト内で現在の実…

スクリプトのテンプレートを追加する

スクリプトを新規作成する際に、独自のテンプレートを使いたいことがあるとおもう。 その場合は、Unityのインスールフォルダ/Editor/Data/Resources/ScriptTemplates/の下にある、 80-Javascript-NewBehaviourScript.js.txt 81-C# Script-NewBehaviourScript…

"9x9 Slice" Spriteを作成する

UI用のイメージを設定する場合、イメージを拡大しても周囲のラインは画像が荒れるので拡大したくない。これを実現するのが、「9x9スライス」というテクニック。要は、4つの角はスケーリングせず、中間の画像のみ拡大するという手法だ。 これをUnityで実現す…

CanvasUI(uGUI)要素にアニメーションを設定する

CanvasUI(uGUI)のインタラクティブ要素(Button, Toggle, Sliderなど)は、「操作状態」に応じて「外観」を変更できる。 操作状態 各UI要素の状態には Normal Highlighted Pressed Disabled の4通りがある。'Highlighted'はフォーカスがあたった状態で、マ…

Canvas(uGUI)の基本レイアウト

Unity4.6から導入された新GUI、"uGUI"。従来のGUIより柔軟な設定ができるuGUIの導入についてまとめた。 CanvasUI要素をシーンに配置する ヒエラルキビュー、Create-UIで、CanvasのUI要素が表示される。CanvasUIは、まず土台となるCanvasをシーンに配置し、そ…

インスペクタでプルダウンリストを使う

インスペクタにプルダウンリストを表示するには、enumを使う。 たとえば、iTweenプラグインのイージングタイプをプルダウンリストで指定するには、 public enum EaseType { easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCu…

レンダリングの品質設定

レンダリングの品質設定は Edit-Project Settings-Quality でおこなう。 各パラメータを個別に設定もできるが、Levelsに"Fastest"~"Fantastic"までのプリセットがあり、それを選択することもできる。また、カスタム品質レベルを登録することも可能。 個人的…

覚えておくと作業がはかどるショートカット

シーンビューの操作と重複するが、シーン編集時に作業がはかどるUnity標準のショートカットキーをまとめた。 選択モード ショートカット 操作 q ハンドモード w オブジェクトの移動モード e オブジェクトの回転モード r オブジェクトの拡大・縮小モード t 矩…

インスペクタで、カスタムクラスの中にある変数にアクセスする

わかりにくいタイトルだが、具体的な例で説明する。下のように、メインであるクラス(下の例では、Physics)のPublic変数にカスタム・クラス(SubData) を指定しているとする。、 using UnityEngine; using System.Collections; public class SubData { publi…

Textureの設定

オブジェクトへのTextureの貼付は 1)AssetにTexure画像を読み込み、 2) その画像をMaterialに貼り、 3) そのMaterialをObjectに適用する と言う手順になる。この時、Texture画像の設定によってレンダリング後の見え方が違う。Assetで画像データを選択した状…

InputManagerの設定を再利用する

Unity - Inputを参考に。XBOX360用コントローラーはのアサインは、XBOX360コントローラを使う - Unityな日々(Unity Geek)に書いた。InputManagerの設定は、プロジェクトフォルダ-ProjectSettings-InputManager.assetファイルにある。このファイルをコピー…

特別なフォルダー名とコンパイルの順番

参考;About these special folders in unity3d ! Assets Editor Resources Plugins and so on ProjectビューはUnityプロジェクトのAssetフォルダの中身を表示している。ここには、ユーザーが任意のフォルダーを作成して各Assetを管理できるが、デフォルトで…

スクリプトを管理する

現在のプロジェクトにあるスクリプトファイルのリストは、Component-Scripts で見ることができる。 しかし、スクリプトの数が増えてくると長いリストになって不便。そこで、スクリプトをカテゴリー分け(および呼び出し名を設定)する方法が、@script AddCom…

ビルドする

File-Build Settings... を選択 ビルドするシーンを選択する。現在開いているシーンファイルを選択する場合は、"Add Current"をクリック 詳細設定は下部の"Player Setting..."をクリックし、Player Settingsウィンドウでパラメータを設定する。下の例では、C…

よく使うショートカット

Q:ハンドツール W:移動ツール E:回転ツール R:拡大ツールマウス右ボタン+W:ビューを前に移動 マウス右ボタン+A:ビューを左に移動 マウス右ボタン+S:ビューを手前に移動 マウス右ボタン+D:ビューを右に移動オブジェクト選択状態で F:オブジェク…

コンソールとステータスバー

コンソールウィンドウは、デバッグに使う。 Windows-Console または Ctrl+Shift+C で開く スクリプトから出力したテキストは、Consoleウィンドウ下部のステータスバーに表示される

Game(ゲーム)ビューの操作

Gameビューは実際のゲーム実行を見る画面 上部の再生/一時停止/コマ送りボタンで操作する アスペクトメニューで画面アスペクト比を選択 Statsボタンは、ゲーム実行時の統計。FPSが落ちていないかなどを確認できる。

Scene(シーン)ビューの操作

もっとも操作が複雑なのが、Scene(シーン)ビュー。逆にSceneビューの操作に慣れれば効率よい作業ができる。 1.ツールバーの切替 ハンドモード qキー 移動モード wキー 回転モード eキー 拡大縮小モード rキー Center/Pivot zキー ※移動・回転ツールの中…

シーンを作る

プロジェクトを作ったら、その中にシーンを作る。 実はプロジェクトを作った段階で、デフォルトのシーンが作られている。 ただし、シーン名が"Untitled"になっているので、一度保存してシーン名を確定する。 File-Save Scene... シーン名を入力。この時、保…

プロジェクトを始める

Unityでは、ひとつのアプリケーションを「プロジェクト」と呼ぶ。Unity起動。 File-New Project... "Set..."をクリックし、Projectの保存フォルダを選択、ファイル名(プロジェクト名)を入力する。 デフォルトでは”/Users/ユーザ名/New Unity Project”とな…