Unity 3.1 追加機能とバグフィックス (翻訳)

情報元
http://unity3d.com/unity/whats-new/unity-3.1

追加機能とバグフィックス

新機能:
・マネージド.NET DLLがプロジェクトフォルダに配置できるようになり、MonoBehaviours, EditorWindows, ScriptableObjectsを含むスクリプトコードから使えるようになった。これによりコードを自由にDLLに移動でき、コードをプロジェクト間で共有しやすくなった。ミドルウェア開発者はソースコードを公開せずにライブラリを作成できるようになった。Unity 3.0から実装されていたが、リリースノートには書かれていなかった。
・Scripting: GL.InvalidateState()が追加され、Unity内部のレンダリング状態キャッシュをフラッシュできるようになった。3Dデバイスにアクセスするネイティブコードプラグインを記述するときに有効。
・Audio: AudioSettings.outputSampleRateが追加された。GetSpectrumData()から返される正確な周波数レンジを計算するのに使用する、ミキサーの出力レートを返す。


修正点:
・Editor: 非常に大きな地形を編集している場合のUndoシステムに起因したメモリ不足エラーの修正
・Editor: Mac OS Xにおいて、多くのシェーダを含んだ大きなプロジェクトを再インポートする際に発生する"too many open files (ファイルを多く開きすぎている)"エラーの修正。
・Editor: "Compress Textures(テクスチャを圧縮)"属性をオフにしてテクスチャを読み込む場合に、しばしば"Texture not yet compressed(テクスチャは圧縮されていない)"が報告されない問題の修正。
・Editor: 法線マップを含んだUnity 2.xのプロジェクトをアップグレードする際に、正しく法線マップとしてマークされないマップが残る場合がある問題の修正。
・Terrain Engine: Unity 2.x の Soft Vegetation tree shaderのライティングが上下反対だった問題の修正 :)
・Shaders: 大きなカスタム出力構成のSurface Shaderのコンパイルエラー問題。
・Shaders: UnityCG.glslinc(GLSLシェーダ用)ファイル中の文法間違い修正。
・Graphics: Projectorが特定の環境でクラッシュする問題の修正。
・Graphics: いくつかのGPUにおいてGLSLシェーダでタンジェントベクトルが正確でない問題の修正。
・Graphics: Direct3Dの頂点カラーでダイナミックバッチが不正である問題の修正。
・Graphics: Direct3DでGL.TRIANGLESが大量の三角形でレンダリングされる問題の修正。
・Graphics: 一様でないスケールのメッシュを変更する際の不具合の修正。
・Graphics: ダイナミックバッチのインデックスオーバフロー問題の修正
・Audio: GetOutputData/GetSpectrumData APIが変更され、毎回配列を生成する代わりに割り当て済みの配列を受け取るように変更された。古いAPIは非推奨とされ使用されなくなった。


Unity iOS に関する修正:
iPadのOS3.2でのレンダーテクスチャサポートの修正。
・ビデオの自動回転の修正。ピンチズームジェスチャがビデオプレイバック中に使用できなくなった。
GUIスクロール可能エリアがむき出しになる(?)問題の修正。
・ビジュアルアーティファクト(画面が正しく描画されない)問題を発生する、OpenGL ES 1.1 キャッシュ破棄の修正。
・レンダーテクスチャのメモリリーク問題の修正。


Unity Androidに関する向上と修正Improvements & Fixes:
プラグインをスキャンするプラグインフォルダが Assets/Plugins/Androidに移動された。
プラグインが一般的なAndroidプロジェクトレイアウトをサポート /assets, /bin, /libs, /res が最終的なパッケージにマージされる。
・2.2以前のOSファームウェアが動作しているSamsungバイスで 'update necessary(アップデートが必要)' 通知ダイアログを追加
・ライセンス照合ライブラリ(LVL)によるクラッシュ問題の修正。
・iPhoneUtils.isApplicationGenuineAvailable()が追加され、アプリケーションの完全性が確認できるかどうかを確定できるようになった。
・.apkをパッケージする際に .metaファイル(外部バージョンコントールで使用)を無視。
・DefaultImporterをプラットフォーム特有のプラグインアセットに適用。
・カスタムマニフェストがエディタからプロパティにマージされるようになった。(Bundle Identifier, Version, パーミッションフラグなど)
・UnityPlayerActivityをカスタムアクティビティクラスを用いたプラグインを記述するために、ソースコードテンプレートとして梱包。
トランスルーセント (RGBA 8888) レンダリングサーフェイスのサポートを追加。
・com/unity3d/player/UnityPlayerActivity.currentActivity フィールドがcom/unity3d/player/UnityPlayer.currentActivity に移動した。
・基本的なソフトウェアキーボードレイアウト(URL, Email, Phoneなど)をサポートするiPhoneKeyboardがアプリケーションのトップに表示される。
・PlayMovieがアプリケーションのトップに表示(異なるアクティビティとして実行される代わりに)される。ムービー再生中のscreenCanDarken問題の修正。
・エディタがBuild&Runを実行する前にデバイスを確認するように変更。
Windowsレジストリに保存された情報からJDKの位置取得を試みるように変更。
・実行時に外部クラスをロード仕様とするときにクラッシュする原因であった、C#アセンブリが間違ったスレッドからロードされる問題の修正。
OpenGL ES 2.0でのレンダーテクスチャの修正。