ポイントタイプのライトハンドルを作成する
val = CreatePointLightHandle(Position, Range, Atten0, Atten1, Atten2)
VECTOR Position : ライトの位置 float Range : ライトの有効距離 float Atten0 : 距離減衰パラメータ0 float Atten1 : 距離減衰パラメータ1 float Atten2 : 距離減衰パラメータ2
(プラグイン / モジュール : DxLibW)
ポイントタイプのライトハンドルを作成します。 ( ポイントライトは指定した位置から全方向に光を放つライトです ) この関数は戻り値にライトハンドル( int 型の数値 )を返してきます。 ライトハンドルの設定を変更したり、 不要になったライトハンドルを削除したりする際に必要になりますので戻り値は必ず何かしらの変数に保存しておくようにしてください。 引数の説明をします。 VECTER Position ポイントライトの位置です。 float Range ポイントライトの影響最大距離です。 この引数で指定する距離以上の座標にある頂点は、 例え距離減衰計算の結果が0ではなくてもライトの影響は無くなります。 float Atten0 float Atten1 float Atten2 ライトの影響力の距離減衰パラメータです( Atten は Attenuation の略です )。 ディレクショナルライト以外のライトはライトの位置から離れれば離れるほどライトの影響が弱くなるようになっています。 その計算式は以下のようなものです。 d = ライトから頂点への距離 ライトの影響力(%) = 100.0f / ( Atten0 + Atten1 * d + Atten2 * d * d ) つまり、Atten0 はライトと頂点の距離に関係なく減衰する率を指定する引数、 Atten1 はライトの距離に比例して減衰する率、 Atten2 はライトの距離の二乗に比例して減衰する率となります。 率を除算する値ですので、 非常に小さな値でも物凄くライトの影響範囲が狭まります。 なので引数に渡す値はこの式を理解してから決定してください。 尚、ライトハンドル系の関数は一つしかない標準ライト以外にライトを使用したい場合に使用します。 ( とはいえ同時に有効にできるのは標準ライトを含めて3つまでですが・・・ ) 戻り値: 0以上:ライトハンドル
| プラグイン / モジュール | DxLibW |
| バージョン | 3.24f |
| 作成日 | 2026/04/12 |
| 著作者 | DxLib: Takumi Yamada / HSP binding: IronHSP Project |
| URL | https://dxlib.xsrv.jp/ |
| 備考 | hspdxlib.as をインクルードして使用 |
| タイプ | DxLib ゲームライブラリ |
| グループ | DxLib 3Dライト |
| 対応環境 |
|
| hs ファイル | hsphelp\hspdxlib.hs |