アセット
インポート可能なファイル形式は→Asset Importing参考のこと。
3Dモデル
Lightwave3DからFBXファイルでボーンアニメーションを付けたオブジェクトをエクスポートする際の制限事項。
Blenderからのインポート方法
- Blender2.49bを利用し、FBXエクスポータで出力したものをインポートする方法をお勧めします。
- Blender2.5の.blendやFBXエクスポータで出力したものはインポートできません(2010/4/7現在)
- インポートされるデータは以下になります(2010/4/7現在)
- All nodes with position, rotation and scale. Pivot points and Names are also imported.
- Meshes with vertices, polygons, triangles, UVs, and normals.
- Bones
- Skinned Meshes
- Animations
- ※.blendを直接インポートできますが、内部的にBlenderのFBX変換を利用してインポートが行われます。
- ※この方法ではIPO周りが読み込まれませんので、FBXエクスポータで出力してインポートするのが良いようです。(→参考)
SketchUp(フリー版)からのインポート方法
SketchUpの.kmz形式の実体はzipファイルであり、COLLADA形式(.dae)のモデルを含んでいます。拡張子を.zipにリネームしてモデルを抽出すればUnityにインポート可能です。
ゲームオブジェクト
GUI
画面全面に画像表示
GUI.DrawTexture()を使い、GUIレイヤにテクスチャを表示する方法で実現します。
やり方としては下記のスクリプトをカメラに割り当て、プロパティbgに画像を設定します。
やり方としては下記のスクリプトをカメラに割り当て、プロパティbgに画像を設定します。
public class NewBehaviourScript : MonoBehaviour { public Texture2D bg; void OnGUI () { GUI.DrawTexture(new Rect(0,0, Screen.width, Screen.height), bg); } }
なお、ゲームオブジェクトの背面に表示するにはPro版でないとできないようです(→参考)
日本語表示
16 名前:名前は開発中のものです。[sage] 投稿日:2009/11/19(木) 15:05:58 ID:xSzD3fum 日本語をラベルにしたボタンを表示できたので記念パピコ 日本語のTTFファイルをアセットに追加した後、 スクリプトでpublicなGUISkinを定義したらそれがアセットに自動追加されるから、 インスペクタで各フォームアイテムのデフォルトフォントとしてさっきのTTFを指定したら行けた ちなみに公式ドキュメントはここ ttp://unity3d.com/support/documentation/Components/class-Font.html
追加情報:
Unity3.0ではttfをアセットに含めたり、独自のGUISkinを定義したりすることなく日本語表示できる。(上の情報はバージョンが古いか、iPhone版とかの情報なのかも)
ただし、文字コードに気をつける必要あり。セットで付いてくるテキストエディタ(UniSciTE(Windows版)/Unitron(Mac版))はいずれもデフォルトのエンコードがUTF8だと思うので、そのままだとでない。
Windows版だと
SJIS ○ (ただし、Inspector上だと文字化け。ゲーム画面では正しく表示される。UniSciTEでは書けない)
UTF8 × (Inspector上では正しく表示されるが、Monoが文字列リテラルの終了を正しく認識できず、スクリプトがコンパイルできない)
UTF8 BOM ○
UCS2 LE ○
UCS2 BE ○
MacOSX版だと
SJIS ×
UTF8 × (Inspector上では正しく表示され、コンパイルも通るが、UnityGUIでは?に置換されて表示されてしまう)
UTF8 BOM 不明 (手元にMacでUTF8 BOMを書けるエディタがなかった)
UTF16 ○
UCS2 LE 未検証
UCS2 BE 未検証
Unity3.0ではttfをアセットに含めたり、独自のGUISkinを定義したりすることなく日本語表示できる。(上の情報はバージョンが古いか、iPhone版とかの情報なのかも)
ただし、文字コードに気をつける必要あり。セットで付いてくるテキストエディタ(UniSciTE(Windows版)/Unitron(Mac版))はいずれもデフォルトのエンコードがUTF8だと思うので、そのままだとでない。
Windows版だと
SJIS ○ (ただし、Inspector上だと文字化け。ゲーム画面では正しく表示される。UniSciTEでは書けない)
UTF8 × (Inspector上では正しく表示されるが、Monoが文字列リテラルの終了を正しく認識できず、スクリプトがコンパイルできない)
UTF8 BOM ○
UCS2 LE ○
UCS2 BE ○
MacOSX版だと
SJIS ×
UTF8 × (Inspector上では正しく表示され、コンパイルも通るが、UnityGUIでは?に置換されて表示されてしまう)
UTF8 BOM 不明 (手元にMacでUTF8 BOMを書けるエディタがなかった)
UTF16 ○
UCS2 LE 未検証
UCS2 BE 未検証
UCS2 BEはUTF16互換なはずなので、Macとクロスプラットフォーム開発したい人はスクリプトをUTF16(UCS2 BE)で現状統一する必要がある。
スクリプト
- スクリーンショット保存
- 画面上のクリックした場所にあるオブジェクト名を取得
//C# void Update () { if (Input.GetMouseButtonUp(0)) { Ray clkRay = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit rh; if (Physics.Raycast(clkRay, out rh)) { Debug.Log("hit object name: " + rh.transform.root.name); } } }
その他
- ショートカット一覧