ラヤの研究ノート

 

1。

ライトマップシーンは、 3次元色材及びモデル等との間の材料に影響を与える、投影モデル生成された影遷移照明雰囲気。 

2。

いくつかの 3D 手の走行シーン、特に携帯電話は手の旅行で、携帯電話は、すべての瞬間の光と影ツアー意志の手で、強力なグラフィックス機能はありませんが、非常に時間のパフォーマンスの道を消費しているリアルタイムレンダリングと色の影響を、生成する照明と投影モデルでありますデイトンは非常に遅くなりました。 

シーンライトマップは、それが道光をマッピングし、リアルタイム操作の量を減らし、光の色のアナログモバイルゲームシーンを影に基づいており、この問題を解決することです。 

ライトマップは、によって推奨 unity3D シーンをロードするとき、エンジンが自動的にライトマップが良い結果を達成するためにロードされます、ライトマップエディタや輸出の使用をレンダリングします。 

場合は団結エクスポートエンジンの後にライトマップのレンダリングではないのは、ロードされたエラーではありませんが、手の移動が大幅に削減されます。 

3。

カメラが正射影を使用している場合、空のボックスは、所望の効果を下回るので、開発者が試みることができます。 

4。

マルチカメラの性能の欠点は非常に時間がかかり、モデル数の三角形の面と DrawCallの数は、開発者が必要に応じて、検討する必要があるので、いくつかのカメラは、いくつかの倍以上の性能の損失になる以上、指数関数的に上昇します。 

3D とシーンの表示サイズと位置の2D 主カメラのビューポート(によるハンド旅行しない同じ、ビューポートが)画面で割ることによって制御されます。 

5。

コンポーネントがあるの3D コンポーネントから継承されたスクリプト、の世界、それはのコンポーネントです。このクラスは次のように定義された 「抽象的」許さインスタンス。このクラスは、仮想メソッドのセットを提供します。 

6。

onReset この関数の実装は、コンポーネントをリセットする被写体自動回収タンクである場合、次の多重化を容易にするために、デフォルト値にコンポーネントのパラメータをリセットし ないリセットをリサイクルすることによって行われていないれていない場合 、このメソッドの仮想メソッドであり、書き換え時に使用中のカバーされます。 

7。

LHは派生 3D 表示オブジェクトコンテナ Spirte3Dのデータファイルの種類を、 JSONの形式のエンコードである unity3DはlayaAir エクスポートエクスポートプリセットカテゴリ選択ウィジェット生成コンテンツ比率 * .ls 少ない光マップ形式、全て同一の他の。 

8。

LMの形式のデータファイルのエクスポートいずれかの シーンファイル または デフォルトのファイルの 種類エクスポートリソースフォルダは、一連の含まれているに * .LM フォーマットを、このプロジェクト LayaMonkey フォルダユニティ・ストア開発者の自作 FBX モデル図に示すように、フォルダ、 4 、対応するフォルダが生成され、エクスポート時れる .LM リソースファイルを。 

* .LM ファイルは、グリッドデータファイルモデルです。生成することができる MeshSprite3D 又は SkinnedMeshSprite3Dの表示オブジェクトのタイプメッシュ(メッシュ)、ファイルは、モデルの頂点をメッシュ、法線、色の頂点、頂点の位置含ま UV およびその他の情報。 

9。

LAV ファイルには、肌のメッシュアニメーションデータファイルです。あなたは生成することができ SkinnedMeshSprite3Dはエルフメッシュスキンアバター(骨を)。ファイルはスケルトンノード情報が含まれています。 

10。

lmatのファイルには、素材データファイルです。これは、使用可能なモデルを生成する材料の(材料)。これは、テクスチャ、シェーダ色情報、カラーポイント情報、テクスチャ情報、オフセット情報関連資料が含まれています。 

11。

PrimitiveMesh あなたは私たちが参照としてモデルの中心点を移動しているように、シーンモデルにロードされたが、モデルの中心にあるエンジン、ピボットポイントが付属して、ことに留意すべきで作成、回転、ズーム。シーンにロードされた場合には、モデルがシーンの起源をワールド座標にデフォルトで配置されます。 

12。

サブオブジェクトモデルのグリッドを変更します。また、サブオブジェクトの問題を得ることがモデルは材料がロードされていないということである一方で、子オブジェクトを取得することができず、そのためプリロードリソースを必要とし、または非同期ロードがイベントリスナーの間に完了したことに留意すべきです。 

13。

サポートシェーダリストは LayaAir3D すべてのディレクトリシェーダを非場合 LayaAir3Dシェーダをにキャストされます LayaAir3D デフォルトシェーダー、後に予測不可能なエラーが発生することがあります。 

14。

材質の最適化について。エンジン負荷シーンオブジェクトがプロセスをマージします場合は、大幅にパフォーマンスシーンを向上させることができます。同じ材料モデルのための権利章典の取り込み、開発者が編集したシーンモデルで同じ材料を使用しようとするので、より良いです。だから、将来のパフォーマンスの最適化のための基本的な条件を満たすことができます。具体的には、我々は将来のパフォーマンスの最適化の記事を説明します。 

15。

カメラの晴天ボックスとして識別さを設定しますこのパラメータはに設定する必要があります CLEARFLAG_SKY 、または空のボックスを使用することはできません)。 

16。

表面テクスチャは、三次元パターンよりも大きい場合、画素につながるテクセルの数にマッピングされ表面を処理し、三次元グラフィックスは、複数の画素が同一のテクスチャにマッピングされる場合。 

これらの条件が発生すると、テクスチャがぼやけたり脱臼になります。このような問題を解決するために、技術は、対応する平滑化テクスチャ要素と画素間を通過しなければなりません。この技術は、テクスチャフィルタリングです。 

バイリニアフィルタリング最も一般的に使用される優れた性能) 

17。

所定の時間内に別の状態アニメーション状態へのスムーズな移行のためのアニメーションから過剰な融合アニメーション。アクションは完全に異なる時間のかかるアクションにジャンプする場合の移行は、一般的に十分な性能であるので、非常に短いです。次の例では、私たちの行動の効果は、ターゲットアクションミックスを使用して実行することで示しています。 

18。

で技術をぶら下げスケルトン 3D 非常に一般的な、そのような動きと変化の役割に手の武器として、そして私たちは、子供の手の骨などの点拘束腕をぶら下げ武器や手の骨を置くことができている手のツアーを利用して、当然、手の動きに追従するように変えることができます。もちろん、バンドルされた3D モデルは、結合コードによって除去することができるか、別のに置き換えた3D モデルは、機能に乗って、このように機能的な改築の武器や装備を達成することができます。 

19。

LayaAir3D 内蔵された 2 のGeスカイボックスグリッド:スカイボックスのボックス型グリッド スカイドーム球状グリッド。 

20。

RAMメモリ、メモリのガベージコレクション機構、およびメモリが同じではないとは違って、手動でメモリリソースを解放するため、真剣に取られなければならない解放しなければなりません! 

あなたは、単にウィザードを破壊するためにグリッドを使用している場合は、それがグリッド・リソース自体を扱っていない、何のメモリの削減、またはグリッド資源のメモリではありません。 

// ウィザードを使用してグリッドを破壊します

layaMonkey.destroy(); 

// グリッドの破壊

mesh.destroy();  

21。

Sprite3Dの呼び出しは()を破壊、ウィザード参照マテリアル、テクスチャの後にメッシュと一緒に破壊と破壊の精神に従っていません。これらの残りのリソースを使用する必要があります下に Laya.loader.getRes:(URL文字列)リソースを取得するためのインタフェース(リソースの後)オブジェクト、リソースオブジェクトは呼び出し()を破壊破壊するための方法を。 

しかし、この方法は非常に面倒です。LayaAir2.0 開発者の便宜のために提供 Resource.destroyUnusedResources()インターフェースが破壊統一します。 

ヒント:クリーンアップする必要性に注意を払う Scene3D または Sprite3D 時間に関連したリソースを、破壊する必要が(破壊)クローン・ウィザードも破壊する必要があり、ちょうど彼の体ウィザードではありません。この時点で、 destroyUnusedResourcesの方法は、自動的にその使用となしなしのすべて解放します ロックされた リソースを。 

22。

2D 、使用画像テクスチャテクスチャ(注記しない 3D にTexture2Dを)。基本的にしかし、テクスチャがにあるにTexture2D 再パッケージ化され、テクスチャは、ビットマップの属性は、彼が属していることであるにTexture2D テクスチャ自体が記録され Texture2 UVが1画面表示アトラス達成するための属性。したがって、で 2D 、同図の異なる濃度の複数のテクスチャが一般的であるビットマップこのようなメカニズムは、メモリ管理に誤解を開発者に許可することができます:の破壊 2D テクスチャを、その後、メモリの彼の分け前を解放しなければなりません  

複数のでテクスチャは同じ参照ビットマップを、およびテクスチャが実メモリではありません、ビットマップは、実メモリオブジェクトです。破壊テクスチャの破壊を意味するものではありませんビットマップを ので、この時点でビデオメモリを解放する余裕はありません。だから、2Dのアトラスや写真リソースのロック、実際に対応しているテクスチャビットマップはロックされています。積載ポートフォリオ、または使用後 Laya.loader.getRes(URL)図のセットを取得するにはテクスチャの質感を、続いてテクスチャビットマッププロパティをロック。


おすすめ

転載: blog.51cto.com/zhangzhao/2458661