「Tips」(2010/10/20 (水) 08:01:47) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
#contents
*アセット
----
インポート可能なファイル形式は→[[Asset Importing>>http://unity3d.com/unity/features/asset-importing]]参考のこと。
**3Dモデル
***[[Lightwave3DからFBXファイルでボーンアニメーションを付けたオブジェクトをエクスポートする際の制限事項。>./Lightwave3DからFBXファイルをインポート1]]
***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エクスポータで出力してインポートするのが良いようです。(→[[参考>>http://forum.unity3d.com/viewtopic.php?t=43550]])
***SketchUp(フリー版)からのインポート方法
SketchUpの.kmz形式の実体はzipファイルであり、COLLADA形式(.dae)のモデルを含んでいます。拡張子を.zipにリネームしてモデルを抽出すればUnityにインポート可能です。
*ゲームオブジェクト
----
*GUI
----
**画面全面に画像表示
GUI.DrawTexture()を使い、GUIレイヤにテクスチャを表示する方法で実現します。
やり方としては下記のスクリプトをカメラに割り当て、プロパティbgに画像を設定します。
public class NewBehaviourScript : MonoBehaviour {
public Texture2D bg;
void OnGUI () {
GUI.DrawTexture(new Rect(0,0, Screen.width, Screen.height), bg);
}
}
なお、ゲームオブジェクトの背面に表示するにはPro版でないとできないようです([[→参考>>http://www.unifycommunity.com/wiki/index.php?title=StaticBackground]])
**日本語表示
16 名前:名前は開発中のものです。[sage] 投稿日:2009/11/19(木) 15:05:58 ID:xSzD3fum
日本語をラベルにしたボタンを表示できたので記念パピコ
日本語のTTFファイルをアセットに追加した後、
スクリプトでpublicなGUISkinを定義したらそれがアセットに自動追加されるから、
インスペクタで各フォームアイテムのデフォルトフォントとしてさっきのTTFを指定したら行けた
ちなみに公式ドキュメントはここ
ttp://unity3d.com/support/documentation/Components/class-Font.html
追加情報:
Windows版だと
SJIS ○ (ただし、Inspector上だと文字化け。ゲーム画面では正しく表示される)
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)で現状統一する必要がある。
*スクリプト
----
-スクリーンショット保存
→[[Application.CaptureScreenshot()>>http://unity3d.com/support/documentation/ScriptReference/Application.CaptureScreenshot.html]]
-画面上のクリックした場所にあるオブジェクト名を取得
//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);
}
}
}
*その他
----
-ショートカット一覧
#contents
*アセット
----
インポート可能なファイル形式は→[[Asset Importing>>http://unity3d.com/unity/features/asset-importing]]参考のこと。
**3Dモデル
***[[Lightwave3DからFBXファイルでボーンアニメーションを付けたオブジェクトをエクスポートする際の制限事項。>./Lightwave3DからFBXファイルをインポート1]]
***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エクスポータで出力してインポートするのが良いようです。(→[[参考>>http://forum.unity3d.com/viewtopic.php?t=43550]])
***SketchUp(フリー版)からのインポート方法
SketchUpの.kmz形式の実体はzipファイルであり、COLLADA形式(.dae)のモデルを含んでいます。拡張子を.zipにリネームしてモデルを抽出すればUnityにインポート可能です。
*ゲームオブジェクト
----
*GUI
----
**画面全面に画像表示
GUI.DrawTexture()を使い、GUIレイヤにテクスチャを表示する方法で実現します。
やり方としては下記のスクリプトをカメラに割り当て、プロパティbgに画像を設定します。
public class NewBehaviourScript : MonoBehaviour {
public Texture2D bg;
void OnGUI () {
GUI.DrawTexture(new Rect(0,0, Screen.width, Screen.height), bg);
}
}
なお、ゲームオブジェクトの背面に表示するにはPro版でないとできないようです([[→参考>>http://www.unifycommunity.com/wiki/index.php?title=StaticBackground]])
**日本語表示
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 未検証
UCS2 BEはUTF16互換なはずなので、Macとクロスプラットフォーム開発したい人はスクリプトをUTF16(UCS2 BE)で現状統一する必要がある。
*スクリプト
----
-スクリーンショット保存
→[[Application.CaptureScreenshot()>>http://unity3d.com/support/documentation/ScriptReference/Application.CaptureScreenshot.html]]
-画面上のクリックした場所にあるオブジェクト名を取得
//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);
}
}
}
*その他
----
-ショートカット一覧
表示オプション
横に並べて表示:
変化行の前後のみ表示: