AnyPortrait > スクリプト > 初期化、基本設定

初期化、基本設定


apPortraitでGameObjectを使用するときに呼び出される関数と、デフォルトで参照される関数を案内します。


public bool Initialize ()
説明

   最初の更新の直前に自動的に実行される初期化機能。
   「Prefab」をロードしてリアルタイムで使用する場合は、 「Initialize()」または「AsyncInitialize()」関数を呼び出す必要があります。
   大量のデータがある場合に実行時間が長くかかる関数。 「AsyncInitialize()」関数を使用することをお勧めします。


リターン

   bool : 初期化中またはすでに終了している場合はfalseを返し、初期化が成功した場合はtrueを返します。


public bool AsyncInitialize ()
public bool AsyncInitialize ( apPortrait.OnAsyncLinkCompleted onAsyncLinkCompleted )
public bool AsyncInitialize ( int timePerYield )
public bool AsyncInitialize ( int timePerYield, apPortrait.OnAsyncLinkCompleted onAsyncLinkCompleted )
説明

   「Initialize()」と同じ機能を実行する初期化関数です。
   「Prefab」がリアルタイムでロードされている場合は、「Initialize()」または「AsyncInitialize()」関数を呼び出す必要があります。
   非同期処理を使用して、「Coroutine」を使用して実行時間の負荷を軽減します。
   「Callback」イベントはパラメータとして受け取られ、終了時に呼び出されます。
   
   ms単位の時間である「timePerYield」を引数として入れると、「Coroutine」の処理時間をタイマーで計算して、CPUにさらに負荷が少ないように動作します。
   代わりに、この場合に、初期化時間が多少かかることがあります。
   (「timePerYield」の処理時間をタイマーで計算して、CPUにさらにを利用した処理は、v1.1.7から適用されます。)


パラメーター

   apPortrait.OnAsyncLinkCompleted onAsyncLinkCompleted : 初期化が完了したときに呼び出される「Callback」イベント
   int timePerYield : 非同期処理時に「yield」が呼び出される制限時間(ms)


リターン

   bool : 初期化中またはすでに終了している場合はfalseを返し、非同期初期化が開始された場合はtrueを返します。


public void ShowRootUnit ()
public void ShowRootUnit ( apOptRootUnit targetOptRootUnit )
説明

   「Root Unit」が表示されるように設定します。
   「自動的に開始されたアニメーションクリップ」またはインデックスが0である「Root Unit」を使用して、「Root Unit」を対象としています。
   他の「Root Unit」は、自動的に非表示になります。


パラメーター

   apOptRootUnit targetOptRootUnit : レンダリングされる「Root Unit」


public void HideRootUnits ()
説明

   すべての「Root Unit」を非表示にします。


public void Show ()
説明

   「Root Unit」が表示されるように設定します。
   「自動的に開始されたアニメーションクリップ」またはインデックスが0である「Root Unit」を使用して、「Root Unit」を対象としています。
   他の「Root Unit」は、自動的に非表示になります。
   「ShowRootUnit()」と同じです。


public void Hide ()
説明

   すべての「Root Unit」を非表示にします。
   「HideRootUnits()」と同じです。


public void SetImportant ( bool isImportant )
説明

   「Important」プロパティを設定します。
   「Important」プロパティがtrueの場合、このオブジェクトはフレームごとに更新されます。
   「Important」属性がfalseの場合、指定されたFPSに従ってエディタが更新されます。


パラメーター

   bool isImportant : 「Important」プロパティ


public void SetFPSForNotImportant ( int fps )
1.2.3
説明

   「Important」プロパティがオフの場合、キャラクターは固定FPSで実行されます。 (ゲームのFPSによっては、より少ないFPSで実行される場合があります。)
   「Bake」で設定した固定FPSの値をスクリプトで変更できます。


パラメーター

   int fps : キャラクターのアニメーション実行時に適用される固定FPS値。 「Important」属性がオフの場合のみ有効です。


public apOptRootUnit GetOptRootUnit ( int rootUnitIndex )
説明

   要求されたインデックスの「Root Unit」を返します。


パラメーター

   int rootUnitIndex : 「Root Unit」インデックス (デフォルトは0)


リターン

   apOptRootUnit : 索引に対応する「Root Unit」。 そうでない場合はnullを返します。


public apOptRootUnit GetCurrentRootUnit ()
1.3.0
説明

   現在再生されている「Root Unit」を返します。


リターン

   apOptRootUnit : 現在再生されている「Root Unit」ない場合はnull戻り


public int GetCurrentRootUnitIndex ()
1.3.0
説明

   現在再生されている「Root Unit」のインデックスを返します。


リターン

   int : 現在再生されている「Root Unit」のインデックス。ない場合は-1戻り


public void CleanUpMeshesCommandBuffers ()
説明

   クリッピングマスクが適用されたメッシュがある場合、自動的に1つのカメラでレンダリングを行います。
   この関数を呼び出すと、現在のカメラに関連付けられている情報が削除され、初期化されます。
   再レンダリングすると、自動的に再リンクを試みます。


public void ResetMeshesCommandBuffers ( bool isOnlyActiveRootUnit )
public void ResetMeshCommandBuffer ( apOptRootUnit targetOptRootUnit, bool isRegistToCamera )
説明

   クリッピングマスクを使用してメッシュのすべてまたは一部をカメラに再リンクします。
   引数に応じて、カメラを保持して「Render Texture」のみを再作成することもできます。


パラメーター

   bool isOnlyActiveRootUnit : trueを入力すると、現在の「Root Unit」のみがリセットされます。 falseの場合、 「Root Unit」全体を対象とします。
   apOptRootUnit targetOptRootUnit : リセットされる「Root Unit」
   bool isRegistToCamera : trueの場合、カメラと再リンクします。 falseの場合は、 「Render Texure」を再作成し、次のフレームを待ちます。


public void SetSortingLayer ( string sortingLayerName )
public void SetSortingLayer ( apOptTransform optTransform, string sortingLayerName )
public void SetSortingLayer ( string transformName, string sortingLayerName )
public void SetSortingLayer ( int rootUnitIndex, string transformName, string sortingLayerName )
1.1.6
説明

   GameObjectsがレンダリングされる順序を計算するときに使用される「Sorting Layer」を設定します。
   レンダリングの順序は同じ層にゲームオブジェクトをグループ化して計算されます。
   「Sorting Layer」は、「Unity」の「Project Settings > Tags and Layers」で構成することができます。
   設定されていない名前を入力すると、処理が失敗し、エラーメッセージが表示されます。
   
   もし、いくつかの「apOptTransform」の「Sorting Layer」のみを変更しようとする場合には、
   そのオブジェクトを直接指定するか、オブジェクトの名前を引数として入力します。


パラメーター

   string sortingLayerName : 設定する「Sorting Layer」の名
   apOptTransform optTransform : 「Sorting Layer」を変更しようとする対象
   string transformName : 「Sorting Layer」を変更しようとする「optTransformの名前」
   ​int rootUnitIndex : 「Sorting Layer」を変更しようとする「optTransform」が所属する「Root Unitのインデックス」


public void SetSortingOrder ( int sortingOrder )
public void SetSortingOrder ( apOptTransform optTransform, int sortingOrder )
public void SetSortingOrder ( string transformName, int sortingOrder )
public void SetSortingOrder ( int rootUnitIndex, string transformName, int sortingOrder )
1.1.6
説明

   「GameObject」が表示される順序を計算するときに使用される「Sorting Order」を設定します。
   同じ「Sorting Layer」に大きな値を持つ「GameObject」が画面の前に表示されます。
   
   もし、いくつかの「apOptTransform」の「Sorting Order」のみを変更しようとする場合には、
   そのオブジェクトを直接指定するか、オブジェクトの名前を引数として入力します。


パラメーター

   int sortingOrder : レンダリングオーダー。 大きな値は画面の前に表示されます。
   apOptTransform optTransform : 「Sorting Order」を変更しようとする対象
   string transformName : 「Sorting Order」を変更しようとする「optTransformの名前」
   ​int rootUnitIndex : 「Sorting Order」を変更しようとする「optTransform」が所属する「Root Unitのインデックス」


public string GetSortingLayerName ()
1.0.2
説明

   現在適用されている「Sorting Layer」の名前を返します。
   「Sorting Layer」の名前は、「Project Settings > Tags and Layers」に登録する必要があります。
   この関数が呼び出されるたびにプロジェクトの設定を照会するため、この関数を頻繁に呼び出すことはお勧めしません。


リターン

   string : 適用された「Sorting Layer」の名前。 プロジェクト設定と一致しないソートレイヤー値がある場合は、「Unknown Layer」を返します。


public int GetSortingOrder ()
1.0.2
説明

   現在適用されている「Sorting Order」値を返します。
   この値が大きいほど、画面の前面がより多くレンダリングされます。


リターン

   int : 現在の描画順序。


public int GetSortingOrder ( apOptTransform optTransform )
1.3.0
説明

   特定の「apOptTransform」の現在の「Sorting Order」値を返します。
   この値が大きいほど前のレンダリングされます。


パラメーター

   apOptTransform optTransform : 照会しようとする対象


リターン

   int : 現在のレンダリングのソート順です。


public void SetSortingOrderChangedAutomatically ( bool isEnabled )
1.1.8
説明

   apPortraitのSorting Order Optionが「Depth To Order」または「Reverse Depth To Order」である場合に使用される関数です。
   DepthによってメッシュのSorting Order値が自動的に変更されるかどうかを決定します。
   スクリプトでSorting Orderを制御しようとする場合には、Sorting Orderが自動的に変更されることを防がなければならなのでFalseを入力する必要があります。
   基本的にはTrueです。


パラメーター

   bool isEnabled : trueの場合、Sorting Orderが自動的に変更されます。


public void FindRenderingCamerasAutomatically ()
1.2.0
説明

   シーンに存在するカメラを自動的に認識するように設定しつつ、同時に、現在のカメラを確認してレンダリング方式を再決定します。
   この関数が呼び出されなくても、基本的にシーンのカメラをリアルタイムで認識するように設定されています


public int SetRenderingCameras ( params Camera[] cameras )
1.2.0
説明

   キャラクターをレンダリングする直接カメラを指定することができます。
   この関数が呼び出された以降、「FindRenderingCamerasAutomatically」関数が呼び出されるまで、自動的にシーンに存在するカメラをチェックしません。


パラメーター

   params Camera[] cameras : 1つまたは複数のカメラを指定します。


リターン

   int : 実際にキャラクターをレンダリングすることができるカメラの数です。


public bool Synchronize ( apPortrait targetPortrait, bool syncAnimation, bool syncControlParam )
public bool Synchronize ( apPortrait targetPortrait, bool syncAnimation, bool syncControlParam, bool syncRootUnit )
public bool Synchronize ( apPortrait targetPortrait, bool syncAnimation, bool syncControlParam, bool syncRootUnit, bool syncBones, SYNC_BONE_OPTION syncBoneOption )
1.3.4
説明

   アニメや制御パラメータの値を対象キャラクターに同期をします。
   この関数を呼び出すと、そのキャラクターは対象キャラクターに依存して更新されます。
   この関数を使用する例を次のページで見ることができます。
   - 他のキャラクターとの同期
   - ボーンを同期してコスチュームを変更


パラメーター

   apPortrait targetPortrait : 同期対象となるapPortraitです。
   bool syncAnimation : アニメーションを同期するかどうかです。
   bool syncControlParam : 制御パラメータを同期させるかどうかです。
   bool syncRootUnit : 「ルートユニット(Root Unit)」を同期するかどうかです。同期されるapPortraitの「ルートユニット」の個数が2個以上で同じです。アニメーションが同期されると、この要求は無視されます。
   bool syncBones : ボーンの動きを同期させるかどうかです。
   SYNC_BONE_OPTION syncBoneOption : ボーンの動きを同期させることは、どのような方法で同期するかを選択することができます。「MatchFromRoot」を入力すると、ルートボーンからの構造が同一でなければならず、「MatchFromSubBones」を入力すると、同期されるキャラクターのルートボーンが対象キャラクターのルートボーンがなくても、同期がされます。syncBonesがfalseであれば、このオプションは無視されるので、任意の値を入力します。


リターン

   bool : 同期処理の結果です。同期対象が有効でないか、すでに同期されているなどの処理が失敗した場合はfalseを返します。


public void Unsynchronize ()
1.3.2
説明

   Synchronize関数で設定された同期をオフにします。


public void SetUpdateTimeMethod ( bool useUnscaleDeltaTime )
public void SetUpdateTimeMethod ( bool useUnscaleDeltaTime, float multiplier )
1.3.4
説明

   キャラクターが更新されると、Unityのいくつかの時間の値を使用するかを決定します。
   このオプションに応じて、ゲーム倍速に影響を受けるかどうかを設定することができ、また、別の倍速を設定することができます。
   Mecanimを使用している場合は適用されません。
   この関数を使った例は、関連ページでご覧いただけます。


パラメーター

   bool useUnscaleDeltaTime : この値がtrueの場合Unityの「Time.unscaledDeltaTime」によって更新され、falseの場合「Time.deltaTime」によって更新されます。(デフォルトはfalseです。)
   float multiplier : アップデート倍速を設定することができます。入力しない場合は、デフォルトの1倍速に設定されます。


public void SetUpdateTimeMethod ( OnDeltaTimeRequested onDeltaTimeRequested )
public void SetUpdateTimeMethod ( OnDeltaTimeRequested onDeltaTimeRequested, object savedObject )
1.3.5
説明

   キャラクターが更新されると、コールバック関数を使用して再生速度を制御できます。
   Mecanimを使用している場合は適用されません。
   この関数を使った例は、関連ページでご覧いただけます。


パラメーター

   OnDeltaTimeRequested onDeltaTimeRequested : 現在のフレームの時間を返すコールバック関数です。 ユーザーは直接更新時間を変更できます。 コールバック関数の形式は「float OnDeltaTimeRequested(object savedObject)"」です。
   object savedObject : コールバック関数が実行されるとき、どのオブジェクトが関数を呼び出したかを区別するなどの目的で使用できる値です。 型に制限はなく、nullも可能です。


public void SetUpdateMeshesEveryFrame ()
1.4.7
説明

   フレームごとにメッシュが更新されるように設定します。
   このオプションの説明は、「関連ページ」にあります。


public void SetUpdateMeshesPerTime ( int fps, bool isSyncUpdate )
1.4.7
説明

   FPSオプションに応じて、一定の時間間隔でメッシュを更新するように設定します。
   このオプションの説明は、「関連ページ」にあります。


パラメーター

   int fps : メッシュが更新される頻度(FPS単位)。 最大30 FPSの値を入力できます。
   bool isSyncUpdate : メッシュ更新タイミングが同じオプションを持つ他のキャラクターと同期するかどうか。