フェーダー要素: <faders>

この要素は種々のフェーダーの特徴を指定するためのものです。フェーダーとは、液体内にいたときや何かに打たれたときに全画面の色を変えさせるものです。。これは二つの子要素<fader>、<liquid>を持ちます。

一つめの、<fader>はそれぞれの個々のフェーダーの特徴を指定します。これは以下の属性を持ちます。

  • index:どのフェーダーか
  • type:どのフェーダー効果を適用するか
  • initial_opacity (初期不透明度;浮動小数点数:0 = なし、1 = 完全)
  • final_opacity(最終不透明度; 浮動小数点数:0 = なし、1 = 完全)
  • period: フェーダー効果が完了するまでの時間、エンジンのtickで(1/30秒)
  • flags: 種々の特徴;要求された特徴と一致している数値を加えることによって、この値を得ます:
    1 (16進数で0001)全画面
    2 (16進数で0002)ランダムな透明度;フリッカー効果を出す
  • priority:高いほど高い優先順位

そして子要素<color>は、インデックス化されない。色の指定に関しては、ここをみなさい。フェーダータイプは、これらです:

  • 1000. Tint:フェーダーの色の値へとフェードします:
         [new color] = [old color] + ([fader color] - [old color])*[opacity]|
  • 1001. Randomize:色のランダムシフトを行います:
         [new color] = [old color] + [opacity]*[random numbers]|
  • 1002. Negate:明るい色を暗くして暗い色を明るくします、それぞれのチャンネルで以下の操作を行います:
         [opacity complement] = 1 - [opacity]
         if [old color] > 0.5 then
            [new color] = max([old color], xor([fader color], [old color]) + [opacity complement])
         else
            [new color] = min([old color], xor([fader color], [old color]) - [opacity complement])
    中間の結果は、(0,1)範囲外にあるかもしれません。
  • 1003. Dodge: いくつかの奇妙な加工。それぞれのチャンネルで以下の操作を行います:
         [new color] = max([old color], 1 - (1 - [fader color])*[old color] - [opacity])
    中間の結果は、(0,1)範囲外にあるかもしれません。
  • 1004. Burn: sいくつかの奇妙な加工。それぞれのチャンネルで以下の操作を行います:
         [opacity complement] = 1 - [opacity]
         [new color] = max([old color],[fader color]*[old color] + [opacity complement])
    中間の結果は、(0,1)範囲外にあるかもしれません
  • 1005. Soft tint: 強度(カラーチャンネル最大値)とフェーダーの色の積の値までフェードします:
         [new color] = [old color] + ([fader color]*[intensity] - [old color])*[opacity]

全ての式で、色の値は0(黒)から1(白)までで、範囲外の結果の値は範囲に結果が入るように整数部分を引くことで減らされます。

2番目の<liquid>,は、液体のフェーダーを指定します。以下の属性を持ちます。

  • index:フィーダーをどの液体に適用するか
  • fader:これはどのフィーダーをこの液体に適用するかを指定します。
  • opacity:フィーダー効果がどのくらい強いか(浮動小数点数: 0 = なし, 1 = 完全)

indexはこれらの液体タイプのどれかです。

1000
1001溶岩
1002下水
1003ジャイロ
1004プフォール