CRIWARE for C#
Search Results for

    Show / Hide Table of Contents

    Class CriAtomEx3dListener

    3Dリスナーハンドル

    Inheritance
    object
    CriAtomEx3dListener
    Implements
    IDisposable
    IPositionable
    IUpdatable
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: CriWare
    Assembly: CriWare.CriAtom.dll
    Syntax
    public class CriAtomEx3dListener : IDisposable, IPositionable, IUpdatable
    Remarks

    説明: 3Dリスナーを扱うためのオブジェクトです。 3Dポジショニング機能に使用します。 3Dリスナーのパラメーター、位置情報の設定等は、3Dリスナーオブジェクトを介して実行されます。

    Constructors

    CriAtomEx3dListener()

    デフォルト設定でのインスタンス作成

    Declaration
    public CriAtomEx3dListener()

    CriAtomEx3dListener(in Config)

    3Dリスナーハンドルの作成

    Declaration
    • C#
    • C
    public CriAtomEx3dListener(in CriAtomEx3dListener.Config config)
    CriAtomEx3dListenerHn CRIAPI criAtomEx3dListener_Create(const CriAtomEx3dListenerConfig *config, void *work, CriSint32 work_size)
    Parameters
    Type Name Description
    CriAtomEx3dListener.Config config

    3Dリスナーハンドル作成用コンフィグ構造体へのポインタ

    Remarks

    説明: 3Dリスナーオブジェクト作成用コンフィグに基づいて、3Dリスナーオブジェクトを作成します。 作成に成功すると、3Dリスナーオブジェクトを返します。 3Dリスナーオブジェクトを作成する際には、ワーク領域としてメモリを渡す必要があります。 必要なメモリのサイズは、 CalculateWorkSize(in Config) 関数で計算します。 (SetUserAllocator(delegate* unmanaged[Cdecl]<IntPtr, uint, IntPtr>, delegate* unmanaged[Cdecl]<IntPtr, IntPtr, void>, IntPtr) メソッドを使用してアロケーターを登録済みの場合、 本関数にワーク領域を指定する必要はありません。)

    注意: 本関数を実行する前に、ライブラリを初期化しておく必要があります。

    See Also
    CalculateWorkSize(in Config)
    Dispose()

    Properties

    NativeHandle

    ネイティブハンドル

    Declaration
    public NativeHandleIntPtr NativeHandle { get; }
    Property Value
    Type Description
    NativeHandleIntPtr

    Methods

    CalculateWorkSize(in Config)

    LE Pro

    3Dリスナーハンドルの作成に必要なワーク領域サイズの計算

    Declaration
    • C#
    • C
    public static int CalculateWorkSize(in CriAtomEx3dListener.Config config)
    CriSint32 CRIAPI criAtomEx3dListener_CalculateWorkSize(const CriAtomEx3dListenerConfig *config)
    Parameters
    Type Name Description
    CriAtomEx3dListener.Config config

    3Dリスナーハンドル作成用コンフィグ構造体へのポインタ

    Returns
    Type Description
    int

    CriSint32 3Dリスナーオブジェクト作成用ワークサイズ

    Remarks

    説明: 3Dリスナーオブジェクトを作成するために必要な、ワーク領域のサイズを取得します。 アロケーターを登録せずに3Dリスナーオブジェクトを作成する場合、 あらかじめ本関数で計算したワーク領域サイズ分のメモリを ワーク領域として CriAtomEx3dListener(in Config) 関数にセットする必要があります。 3Dリスナーオブジェクトの作成に必要なワークメモリのサイズは、3Dリスナーオブジェクト作成用コンフィグ 構造体( CriAtomEx3dListener.Config )の内容によって変化します。 引数にnullを指定した場合、デフォルト設定 ( SetDefaultConfig(out Config) 適用時と同じパラメーター)で ワーク領域サイズを計算します。 ワーク領域サイズ計算時に失敗した場合、戻り値は -1 になります。 ワーク領域サイズの計算に失敗した理由については、エラーコールバックの メッセージで確認可能です。

    備考: 引数 config の情報は、関数内でのみ参照されます。 関数を抜けた後は参照されませんので、関数実行後に config の領域を解放しても 問題ありません。

    See Also
    CriAtomEx3dListener(in Config)
    CriAtomEx3dListener.Config

    Dispose()

    LE Pro

    3Dリスナーハンドルの破棄

    Declaration
    • C#
    • C
    public void Dispose()
    void CRIAPI criAtomEx3dListener_Destroy(CriAtomEx3dListenerHn ex_3d_listener)
    Remarks

    説明: 3Dリスナーオブジェクトを破棄します。 本関数を実行した時点で、3Dリスナーオブジェクト作成時に確保されたリソースが全て解放されます。 また、引数に指定した3Dリスナーオブジェクトも無効になります。 3DリスナーオブジェクトをセットしたAtomExプレーヤーで再生している音声がある場合、 本関数を実行する前に、それらの音声を停止するか、そのAtomExプレーヤーを破棄してください。

    See Also
    CriAtomEx3dListener(in Config)

    GetDirectionFocusLevel()

    LE Pro

    方向センサのフォーカスレベルの取得

    Declaration
    • C#
    • C
    public float GetDirectionFocusLevel()
    CriFloat32 CRIAPI criAtomEx3dListener_GetDirectionFocusLevel(CriAtomEx3dListenerHn ex_3d_listener)
    Returns
    Type Description
    float
    Remarks

    説明: 方向センサのフォーカスレベルを取得します。 デフォルト値は0.0fです。方向センサのフォーカスレベルを設定していない場合、デフォルト値が返却されます。

    See Also
    GetFocusPoint(out Vector)
    GetDistanceFocusLevel()

    GetDistanceFocusLevel()

    LE Pro

    距離センサのフォーカスレベルの取得

    Declaration
    • C#
    • C
    public float GetDistanceFocusLevel()
    CriFloat32 CRIAPI criAtomEx3dListener_GetDistanceFocusLevel(CriAtomEx3dListenerHn ex_3d_listener)
    Returns
    Type Description
    float
    Remarks

    説明: 距離センサのフォーカスレベルを設定します。 デフォルト値は0.0fです。距離センサのフォーカスレベルを設定していない場合、デフォルト値が返却されます。

    See Also
    GetDistanceFocusLevel()
    GetDirectionFocusLevel()

    GetFocusPoint(out Vector)

    LE Pro

    3Dリスナーの注目点の取得

    Declaration
    • C#
    • C
    public void GetFocusPoint(out CriAtomEx.Vector focusPoint)
    void CRIAPI criAtomEx3dListener_GetFocusPoint(CriAtomEx3dListenerHn ex_3d_listener, CriAtomExVector *focus_point)
    Parameters
    Type Name Description
    CriAtomEx.Vector focusPoint

    注目点ベクトル

    Remarks

    説明: 3Dリスナーの注目点を取得します。 デフォルト値は(0.0f, 0.0f, 0.0f)です。3Dリスナーの注目点を設定していない場合、デフォルト値が返却されます。

    See Also
    GetDistanceFocusLevel()
    GetDirectionFocusLevel()

    GetPosition()

    LE Pro

    3Dリスナーの位置の取得

    Declaration
    • C#
    • C
    public CriAtomEx.Vector GetPosition()
    CriAtomExVector CRIAPI criAtomEx3dListener_GetPosition(CriAtomEx3dListenerHn ex_3d_listener)
    Returns
    Type Description
    CriAtomEx.Vector
    Remarks

    説明: 3Dリスナーの位置を取得します。 位置は、3次元ベクトルで取得します。

    ResetParameters()

    LE Pro

    3D音源パラメーターの初期化

    Declaration
    • C#
    • C
    public void ResetParameters()
    void CRIAPI criAtomEx3dListener_ResetParameters(CriAtomEx3dListenerHn ex_3d_listener)
    Remarks

    説明: 3Dリスナーに設定されているパラメーターをクリアし、初期値に戻します。

    注意: クリアしたパラメーターを実際に適用するには、Update() 関数を呼び出す必要があります。

    See Also
    Update()

    Set3dRegionHn(CriAtomEx3dRegion)

    LE Pro

    3Dリスナーハンドルに対する3Dリージョンハンドルの設定

    Declaration
    • C#
    • C
    public void Set3dRegionHn(CriAtomEx3dRegion ex3dRegion)
    void CRIAPI criAtomEx3dListener_Set3dRegionHn(CriAtomEx3dListenerHn ex_3d_listener, CriAtomEx3dRegionHn ex_3d_region)
    Parameters
    Type Name Description
    CriAtomEx3dRegion ex3dRegion
    Remarks

    説明: 3Dリスナーオブジェクトに対して3Dリージョンオブジェクトを設定します。

    注意: 同一のExPlayerに設定されている3D音源と3Dリスナーに設定されているリージョンが異なり、 かつ3D音源と同じリージョンが設定されている3Dトランシーバーがない場合、音声はミュートされます。 設定したパラメーターを実際に適用するには、Update() 関数を呼び出す必要があります。

    See Also
    CriAtomEx3dRegion(in Config)
    Update()

    SetDefaultConfig(out Config)

    LE Pro

    3Dリスナーハンドル作成用コンフィグ構造体にデフォルト値をセット

    Declaration
    • C#
    • C
    public static void SetDefaultConfig(out CriAtomEx3dListener.Config pConfig)
    void criAtomEx3dListener_SetDefaultConfig_(CriAtomEx3dListenerConfig *p_config)
    Parameters
    Type Name Description
    CriAtomEx3dListener.Config pConfig

    3Dリスナーハンドル作成用コンフィグ構造体へのポインタ

    Remarks

    説明: 3Dリスナーオブジェクト作成用コンフィグ構造体( CriAtomEx3dListener.Config )に、デフォルトの値をセットします。

    See Also
    CriAtomEx3dListener.Config

    SetDirectionFocusLevel(float)

    LE Pro

    方向センサのフォーカスレベルの設定

    Declaration
    • C#
    • C
    public void SetDirectionFocusLevel(float directionFocusLevel)
    void CRIAPI criAtomEx3dListener_SetDirectionFocusLevel(CriAtomEx3dListenerHn ex_3d_listener, CriFloat32 direction_focus_level)
    Parameters
    Type Name Description
    float directionFocusLevel

    方向センサのフォーカスレベル

    Remarks

    説明: 方向センサのフォーカスレベルを設定します。 方向センサは、3Dポジショニング計算のうち、定位計算の基準となる位置を表します。距離減衰を無視して定位のみを感知するマイク、といった扱いです。 方向センサの向きについては、リスナーの向き(SetOrientation(in Vector, in Vector) 関数で設定)をそのまま使用します。 フォーカスレベルは、注目点に対してどれだけセンサ(マイク)を近づけるかを表します。センサ(マイク)は、リスナー位置と注目点の間を結んだ直線上で動かすことができ、0.0fがリスナー位置、1.0fが注目点と同じ位置になります。 例えば、距離センサのフォーカスレベルを1.0f、方向センサのフォーカスレベルを0.0fとすることで、注目点を基準に距離減衰を適用し、リスナー位置を基準に定位を決定します。 デフォルト値は0.0fです。距離センサや方向センサのフォーカスレベルを設定しない状況では、従来どおり、全ての3Dポジショニング計算をリスナー位置基準で行います。

    注意: 設定したパラメーターを実際に適用するには、Update() 関数を呼び出す必要があります。

    See Also
    Update()
    SetFocusPoint(in Vector)
    SetDistanceFocusLevel(float)

    SetDistanceFocusLevel(float)

    LE Pro

    距離センサのフォーカスレベルの設定

    Declaration
    • C#
    • C
    public void SetDistanceFocusLevel(float distanceFocusLevel)
    void CRIAPI criAtomEx3dListener_SetDistanceFocusLevel(CriAtomEx3dListenerHn ex_3d_listener, CriFloat32 distance_focus_level)
    Parameters
    Type Name Description
    float distanceFocusLevel

    距離センサのフォーカスレベル

    Remarks

    説明: 距離センサのフォーカスレベルを設定します。 距離センサは、3Dポジショニング計算のうち、距離減衰計算の基準となる位置を表します。定位を無視して距離減衰のかかり具合のみを感知するマイク、といった扱いです。 フォーカスレベルは、注目点に対してどれだけセンサ(マイク)を近づけるかを表します。センサ(マイク)は、リスナー位置と注目点の間を結んだ直線上で動かすことができ、0.0fがリスナー位置、1.0fが注目点と同じ位置になります。 例えば、距離センサのフォーカスレベルを1.0f、方向センサのフォーカスレベルを0.0fとすることで、注目点を基準に距離減衰を適用し、リスナー位置を基準に定位を決定します。 デフォルト値は0.0fです。距離センサや方向センサのフォーカスレベルを設定しない状況では、従来どおり、全ての3Dポジショニング計算をリスナー位置基準で行います。

    注意: 設定したパラメーターを実際に適用するには、Update() 関数を呼び出す必要があります。

    See Also
    Update()
    SetFocusPoint(in Vector)
    SetDirectionFocusLevel(float)

    SetDopplerMultiplier(float)

    LE Pro

    3Dリスナーのドップラー倍率の設定

    Declaration
    • C#
    • C
    public void SetDopplerMultiplier(float dopplerMultiplier)
    void CRIAPI criAtomEx3dListener_SetDopplerMultiplier(CriAtomEx3dListenerHn ex_3d_listener, CriFloat32 doppler_multiplier)
    Parameters
    Type Name Description
    float dopplerMultiplier

    ドップラー倍率

    Remarks

    説明: 3Dリスナーのドップラー倍率を設定します。この倍率はドップラー効果の計算に使用されます。 例えば、doppler_multiplierに10.0fを指定すると、ドップラー効果が通常の10倍になります。 doppler_multiplierには0.0f以上の値を指定します。 デフォルト値は1.0fです。 データ側にはリスナーのドップラー倍率は設定できないため、常に本関数での設定値が使用されます。

    注意: 設定したパラメーターを実際に適用するには、Update() 関数を呼び出す必要があります。

    See Also
    Update()

    SetFocusPoint(in Vector)

    LE Pro

    3Dリスナーの注目点の設定

    Declaration
    • C#
    • C
    public void SetFocusPoint(in CriAtomEx.Vector focusPoint)
    void CRIAPI criAtomEx3dListener_SetFocusPoint(CriAtomEx3dListenerHn ex_3d_listener, const CriAtomExVector *focus_point)
    Parameters
    Type Name Description
    CriAtomEx.Vector focusPoint

    注目点ベクトル

    Remarks

    説明: 3Dリスナーの注目点を設定します。 注目点は、3Dポジショニングを行うにあたって、 注目点を設定すると、リスナーの位置と注目点の間が直線で結ばれ、その直線上でマイクを移動させることができるようになります。 例えば、リスナーはカメラと常に同期させておき、主要キャラクタの位置に注目点を設定することで、状況に応じて、客観的か主観的かを柔軟に表現/調整するような使い方ができます。 なお、リスナーの位置と注目点の間で移動できるマイクは、現実世界のマイクと異なり、距離センサ(距離減衰計算用)と方向センサ(定位計算用)を分離しています。 これらを独立して操作することで、例えば「主役キャラに注目するので、距離減衰はキャラ位置基準で行いたい」「定位は画面の見た目に合わせたいため、定位計算はカメラ位置基準で行いたい」という表現を行うことができます。 デフォルト値は(0.0f, 0.0f, 0.0f)です。距離センサや方向センサのフォーカスレベルを設定しない状況では、注目点を設定する必要はありません。その場合、従来どおり、全ての3Dポジショニング計算をリスナー位置基準で行います。

    注意: 設定したパラメーターを実際に適用するには、Update() 関数を呼び出す必要があります。

    See Also
    Update()
    SetDistanceFocusLevel(float)
    SetDirectionFocusLevel(float)

    SetOrientation(in Vector, in Vector)

    LE Pro

    3Dリスナーの向きの設定

    Declaration
    • C#
    • C
    public void SetOrientation(in CriAtomEx.Vector front, in CriAtomEx.Vector top)
    void CRIAPI criAtomEx3dListener_SetOrientation(CriAtomEx3dListenerHn ex_3d_listener, const CriAtomExVector *front, const CriAtomExVector *top)
    Parameters
    Type Name Description
    CriAtomEx.Vector front

    前方ベクトル

    CriAtomEx.Vector top

    上方ベクトル

    Remarks

    説明: 3Dリスナーの向きを前方ベクトルと上方ベクトルで設定します。 向きは、3次元ベクトルで指定します。設定された向きベクトルは、ライブラリ内部で正規化して使用されます。 デフォルト値は以下のとおりです。

    • 前方ベクトル:(0.0f, 0.0f, 1.0f)
    • 上方ベクトル:(0.0f, 1.0f, 0.0f)

    注意: 設定したパラメーターを実際に適用するには、Update() 関数を呼び出す必要があります。

    データ側にはリスナーの向きは設定できないため、常に本関数での設定値が使用されます。

    See Also
    Update()

    SetPosition(in Vector)

    LE Pro

    3Dリスナーの位置の設定

    Declaration
    • C#
    • C
    public void SetPosition(in CriAtomEx.Vector position)
    void CRIAPI criAtomEx3dListener_SetPosition(CriAtomEx3dListenerHn ex_3d_listener, const CriAtomExVector *position)
    Parameters
    Type Name Description
    CriAtomEx.Vector position

    位置ベクトル

    Remarks

    説明: 3Dリスナーの位置を設定します。 位置は、距離減衰、および定位計算に使用されます。 位置は、3次元ベクトルで指定します。 デフォルト値は(0.0f, 0.0f, 0.0f)です。 データ側には位置は設定できないため、常に本関数での設定値が使用されます。

    注意: 設定したパラメーターを実際に適用するには、Update() 関数を呼び出す必要があります。

    See Also
    Update()

    SetVelocity(in Vector)

    LE Pro

    3Dリスナーの速度の設定

    Declaration
    • C#
    • C
    public void SetVelocity(in CriAtomEx.Vector velocity)
    void CRIAPI criAtomEx3dListener_SetVelocity(CriAtomEx3dListenerHn ex_3d_listener, const CriAtomExVector *velocity)
    Parameters
    Type Name Description
    CriAtomEx.Vector velocity

    速度ベクトル

    Remarks

    説明: 3Dリスナーの速度を設定します。 速度は、ドップラー効果の計算に使用されます。 速度は、3次元ベクトルで指定します。速度の単位は、1秒あたりの移動距離です。 デフォルト値は(0.0f, 0.0f, 0.0f)です。 データ側には速度は設定できないため、常に本関数での設定値が使用されます。

    注意: 設定したパラメーターを実際に適用するには、Update() 関数を呼び出す必要があります。

    See Also
    Update()

    Update()

    LE Pro

    3Dリスナーの更新

    Declaration
    • C#
    • C
    public void Update()
    void CRIAPI criAtomEx3dListener_Update(CriAtomEx3dListenerHn ex_3d_listener)
    Remarks

    説明: 3Dリスナーに設定されているパラメーターを使用して、3Dリスナーを更新します。 本関数では、3Dリスナーに設定されている全てのパラメーターを更新します。 パラメーターをひとつ変更する度に本関数にて更新処理を行うよりも、 複数のパラメーターを変更してから更新処理を行った方が効率的です。

    注意: 本関数はAtomExプレーヤーのパラメーター更新(UpdateAll(), Update(CriAtomExPlayback)) とは独立して動作します。3Dリスナーのパラメーターを変更した際は、本関数にて更新処理を行ってください。

    Implements

    IDisposable
    IPositionable
    IUpdatable

    See Also

    CriAtomEx3dListener(in Config)
    In this article
    Back to top Generated by DocFX