Unityな日々(Unity Geek)

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

アセット・コンポーネント

モデルデータの書き出しサイズを小さくする Mesh Compression

ビルドサイズを小さくする手段の一つに、モデルデータのメッシュサイズ圧縮がある。 これは、モデルデータのインスペクタ:Mesh Compressionで行う。 選択肢は、Off/Low/Medium/Highの4種類ある。 オリジナルのサイズが約38MBのFBXデータをAssetに読み込み…

プロジェクトのUnityバージョンを確認する

過去のプロジェクトが、どのUnityバージョンで作ったのかを確認する(裏)ワザ。 ProjectSettings/ProjectSetting.assetを、VisualStudioなどのエディターで開く。 バイナリファイルなので、基本、意味不明の文字列が表示されるが、最初のほうにUnityバージ…

iTweenの参考資料

スクリプトでアニメーションを行う定番ライブラリが、iTween。Flash(Action Script)ライク名表記で多彩なアニメーションを実装できる。 iTween for Unity by Bob Berkebile (pixelplacement)itween.pixelplacement.com ただ、iTweenの表記方法は結構忘れや…

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

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

Unity5.1でOculus Riftを使う

Unity4.6でOculusRiftを使う場合は、ライブラリをインポートする必要があった。(ライブラリは4.6.3以降で利用可能)Oculus Riftの導入(DK2) - Unityな日々(Unity Geek) Unity5.1以降では、OculusなどのVRデバイスの標準で対応している。 UnityとOculusを…

Unity5でCharacterControllerを使う

方法1:CharacterControllerクラス(コンポーネント)を使う キャラクターとして動かすGameObjectを作る MainCameraを同GameObjectの子にする 同GameObjectに、Physics-CharacterControllerをアタッチする キャラクター移動のUIクラスを作る。参考:Unity-A…

Asset Storeのダウンロードフォルダを変更する

AssetStoreからたくさんのアセットをダウンロードすると、いつの間にかCドライブがいっぱいになってしまう。僕の場合、もともとCドライブに空きが少ないので危険な状態になってしまっていた。 Asset Storeで購入したアセットの保存先を変更しようと思ったの…

C#からJavascriptのクラスを呼びだせない時

C#からJavascriptのクラスは、通常のC#クラスと同じように呼び出せる。たとえば、 [SerializeField]protected FPSInputControllerREI fpsInputController; //Javascript Class ところが、これでは「該当クラスがない」というエラーが出る。 Assets/Scripts/R…

角度指定と外部呼出しに関するベンチマーク

Unityでは、角度は、オイラー角とクォータニオンの2つの方法で扱える。また、回転を設定する際、角度の絶対値と、Rotate()で相対角変化を与える方法がある。いったいどれがもっとも効率的、すなわち高速なのだろうか? また、あるオブジェクトのクラスから…

uGUIのテキストにブラーがかかってしまう問題

uGUI(Canvas UIシステム)のTextUI要素にブラーがかかってしまう問題は、既知のバグのようだ。 現時点では、対応策はピクセル解像度の大きなテキストを作り、Scaleを小さくして縮小する、という手しかないようだ。 Text UI要素のインスペクタは次のような感…

"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をシーンに配置し、そ…

Marmoset Skyshopを使う

Mamoset/SkyshopはUnity上でHDRIを利用できるライブラリ。クオリティの高い表現は定評がある。Tutorial: Introduction to Skyshop | Marmosetを参考に、Marmoset/Skyshopを触ってみる。まず当然のことだがSkyshopを購入し、unitypackageを読み込む必要がある…

AssetStoreから購入したPackageの在り処

AssetStoreでAssetを購入する際、ダウンロードボタンをクリックしても保存先の指定はなく、デフォルトの保存場所に保存されてしまう。 Assetの実態はどこにあるのかと調べたところ、Asset Storeからダウンロードしたファイルの保存場所 - 強火で進めに書かれ…

カスタムpackageを作る

汎用的なアセットを再利用するには、packageを使う。プロジェクトウィンドウで、package化したいアセットを選択する Assets-Export Package... を選択 Exporting Packagesのウィンドウが開かれる。「Export」をクリック。 ”Include dependencies"をチェック…

スカイボックスとテライン、フォグを使う

1)テラインを作るTerrain Assetsのパッケージをインポートする。 すべてチェックの状態で"Import" プロジェクトビューに"New Terrain"ができる。これをヒエラルキービューにドラッグ シーンにテラインができる。テラインの調整はインスペクターウィンドウ…

First Person Controllerを使う

Assets-Import Package-Character Controller を選択 プロジェクトビュー内のStandard Packagesの中にCharacterControllerフォルダが作られる。これを開く。 First Person Controllerをヒエラルキービューに移動 シーンビュー上でFirst Person Controllerの…

HOTweenのTips

HOTweenのベストプラクティスのページに書かれているTips。 最初のTweenを作る前に、HOTween.Initを実行する。HOTweenのインスタンスは削除せず使う。 TweenのIDを保存する際は、Id(テキスト)ではなく、IntId(整数指定)を使う。 同一の Tweener/Sequence…

HOTween Visual Editorをインストールする

HOTweenのdownloadページで、HOTween Visual Editorのリンクをクリックし、ZIPファイルを保存 ZIPファイルを解凍。"HOTweenEditor"と言うフォルダができる。 フォルダの中には、packageファイルがある。これを適当な場所に移動。(僕の場合は、Unity開発用に…

iTweenを導入する

"UnityのTweener"としてデフォルトになっているのがiTween。非常に高機能なライブラリだ。 iTweenの導入手順をメモした。iTweenのサイトの右上、"Get iTween"をクリック ”Download iTweenを"クリック ”Open Asset Store"をクリック 「外部プロトコルリクエス…

HOTweenを導入する

HOTweenは、高速・タイプセーフなオブジェクト指向Tweenエンジン。javascriptでもC#でも使える。 数値(および一部の非数値)プロパティおよびフィールド(number, vectorなど)を「アニメート」できる。 現在、Windows、OSX、iOS、Androidで作動。Flash用エ…