関数リファレンス
- トップ
- > データの作成
- > プラグイン−パーティクル
- > 関数リファレンス
関数について
システム関数は[PPF](ParticlePluginFuncクラス)のクラスメンバ関数となっています。
スクリーンの幅と高さを取得
void ParticlePluginFunc::GetScreenSize( DWORD* width, DWORD* height );
- 入力
- DWORD* width
- 幅を受け取る変数のポインタ
- DWORD* height
- 高さを受け取る変数のポインタ
- 出力はありません
ゲーム画面サイズを取得します。
画面全体に表示するようなパーティクルのとき、この値を使用することで解像度に依存しないプラグインを作成できます。
パーティクル終了
void ParticlePluginFunc::Exit( void );
- 入力・出力はありません
パーティクルを終了します。
整数値乱数
DWORD ParticlePluginFunc::rand( void );
- 入力はありません
- 出力
- DWORD
- 0〜0xffffffff までの整数がランダムで返ります
少数値乱数
float ParticlePluginFunc::frand( void );
- 入力はありません
- 出力
- float
- 0.0〜1.0 までの少数がランダムで返ります
度→ラジアン変換
float ParticlePluginFunc::Deg2Rad( float d );
- 入力
- float
- 変換元度数
- 出力
- float
- 変換されたラジアン
ラジアン→度変換
float ParticlePluginFunc::Rad2Deg( float r );
- 入力
- float
- 変換元ラジアン
- 出力
- float
- 変換された度数
サイン取得
float ParticlePluginFunc::sin( float r );
- 入力
- float r
- ラジアン
- 出力
- float
- サイン
コサイン取得
float ParticlePluginFunc::cos( float r );
- 入力
- float r
- ラジアン
- 出力
- float
- コサイン
タンジェント取得
float ParticlePluginFunc::tan( float r );
- 入力
- float r
- ラジアン
- 出力
- float
- タンジェント
アークサイン取得
float ParticlePluginFunc::asin( float r );
- 入力
- float r
- 正弦値
- 出力
- float
- アークサイン
アークコサイン取得
float ParticlePluginFunc::acos( float r );
- 入力
- float r
- 余弦値
- 出力
- float
- アークコサイン
アークタンジェント取得
float ParticlePluginFunc::atan( float r );
- 入力
- float r
- 正接値
- 出力
- float
- アークタンジェント
アークタンジェント取得
float ParticlePluginFunc::atan2( float y, float x );
- 入力
- float y
- 正接分子
- float x
- 正接分母
- 出力
- float
- アークタンジェント
小数点以下切り上げ
float ParticlePluginFunc::ceil( float f );
- 入力
- float f
- 切り上げを行う値
- 出力
- float
- 小数点以下切り上げを行った値
絶対値を取得(少数値)
float ParticlePluginFunc::fabs( float f );
- 入力
- float f
- 絶対値を求める値
- 出力
- float
- fの絶対値
小数点以下切り捨て
float ParticlePluginFunc::floor( float f );
- 入力
- float f
- 小数点以下切り捨てを行う値
- 出力
- float
- 小数点以下切り捨てを行った値
除算の余りを取得
float ParticlePluginFunc::fmod( float a, float b );
- 入力
- float a
- 分子
- float b
- 分母
- 出力
- float
- a/bの余り
平方根を取得
float ParticlePluginFunc::sqrt( float f );
- 入力
- float f
- 平方根を求める値
- 出力
- float
- fの平方根
べき乗取得
float ParticlePluginFunc::pow( float a, float b );
- 入力
- float a
- 底
- float b
- 指数
- 出力
- float
- aをb乗した値
絶対値取得(整数)
long ParticlePluginFunc::abs( long n );
- 入力
- long n
- 絶対値を求める値
- 出力
- float
- nの絶対値
四捨五入
long ParticlePluginFunc::round( float f );
- 入力
- float f
- 四捨五入する値
- 出力
- long
- fを四捨五入した数値
ベクトル回転(X)
X軸を中心にベクトルを回転させます。
void ParticlePluginFunc::VecRotateX( cs2ParticleBase::LPVEC3 v, float r );
- 入力
- LPVEC3 v
- 回転するベクトル
- float r
- 回転度合い(ラジアン)
- 出力はありません
ベクトル回転(Y)
Y軸を中心にベクトルを回転させます。
void ParticlePluginFunc::VecRotateY( cs2ParticleBase::LPVEC3 v, float r );
- 入力
- LPVEC3 v
- 回転するベクトル
- float r
- 回転度合い(ラジアン)
- 出力はありません
ベクトル回転(Z)
Z軸を中心にベクトルを回転させます。
void ParticlePluginFunc::VecRotateZ( cs2ParticleBase::LPVEC3 v, float r );
- 入力
- LPVEC3 v
- 回転するベクトル
- float r
- 回転度合い(ラジアン)
- 出力はありません
ベクトル回転(XYZ)
X・Y・Zの順にベクトルを回転させます。
void ParticlePluginFunc::VecRotateXYZ( cs2ParticleBase::LPVEC3 v, float x, float y, float z );
- 入力
- LPVEC3 v
- 回転するベクトル
- float x
- X軸回転度合い(ラジアン)
- float y
- Y軸回転度合い(ラジアン)
- float z
- Z軸回転度合い(ラジアン)
- 出力はありません
ベクトル並行移動
ベクトルを平行移動させます
void ParticlePluginFunc::VecTrans( cs2ParticleBase::LPVEC3 v, float x, float y, float z );
- 入力
- LPVEC3 v
- 移動するベクトル
- float x
- X移動量
- float y
- Y移動量
- float z
- Z移動量
- 出力はありません
ベクトル拡大・縮小
ベクトルを拡大縮小させます。
void ParticlePluginFunc::VecScale( cs2ParticleBase::LPVEC3 v, float x, float y, float z );
- 入力
- LPVEC3 v
- 移動するベクトル
- float x
- X拡縮率
- float y
- Y拡縮率
- float z
- Z拡縮率
- 出力はありません
2点間の距離を取得
2つのベクトルの距離を取得します。
float ParticlePluginFunc::VecGetDistance( cs2ParticleBase::LPVEC3 v1, cs2ParticleBase::LPVEC3 v2 );
- 入力
- LPVEC3 v1
- ベクトル 1
- LPVEC3 v2
- ベクトル 2
- float
- ベクトル1と2の距離
線形補間
ある範囲の間にある値を線形補間します。
float ParticlePluginFunc::LinearInt( float area_min, float area_max, float in_min, float in_max, float n );
- 入力
- float area_min
- 求める値の範囲の最小値
- float area_max
- 求める値の範囲の最大値
- float in_min
- 入力値の範囲の最小値
- float in_max
- 入力値の範囲の最大値
- float n
- 入力値
- float
- 線形補間された値
in_min から in_max の範囲にある n を area_min から area_max の間の数値に変換します。
三角波取得
三角波(0.0→1.0→0.0→1.0・・・)を求めます。
float ParticlePluginFunc::TriWave( float n, float r );
- 入力
- float n
- 入力値
- float r
- 周期
- float
- 三角派値
周期(r)を5.0とした場合、n=0.0 → 0.0、n=5.0 → 1.0、n=10.0 → 0.0 ・・・となります。