pyxen.render

renderモジュールはPyxenのポストプロセス画面エフェクトを制御します。各エフェクトはゲームコードからリアルタイムにオン・オフを切り替えたり、0.0〜1.0の強度を設定したりできます。エフェクトはデフォルトでオフになっているため、有効にするまでゲームは描画したとおりに表示されます。

from pyxen import *

render.enabled = True            # master switch for all effects

render.bloom.enabled = True
render.bloom.intensity = 0.4

render.scanlines.enabled = True
render.scanlines.intensity = 0.5

マスタートグル

プロパティ型説明
render.enabledboolFalseの場合、すべてのエフェクトがバイパスされ、画面は変更されずに表示されます。

エフェクト

各エフェクトは同じ2つのプロパティを持つオブジェクトです:

プロパティ型説明
enabledboolこのエフェクトのオン・オフを切り替えます。
intensityfloatエフェクトの強度、0.0〜1.0。
エフェクト効果
render.bloom明るいピクセルの周囲を柔らかく光らせます。
render.scanlines1行おきに暗くしてCRTのような見た目にします。
render.curvatureわずかな樽型の歪み(画面の湾曲)。
render.vignette画面の端を暗くします。
render.aberration色収差 — カラーチャンネルを分離します。
def update():
    # Pulse the vignette with a low-health warning.
    if player.health < 3:
        render.vignette.enabled = True
        render.vignette.intensity = 0.6
    else:
        render.vignette.enabled = False

プロジェクトのデフォルト

エフェクトはプロジェクト設定 → レンダーエフェクトでも設定でき、ゲーム開始時のデフォルト値を決定します。プレビュー内のビュー設定パネルでは、エフェクトをリアルタイムに調整し、プロジェクトのデフォルトとして保存できます。

コードからrender.*を変更すると、実行中のゲームのプロジェクトデフォルトが上書きされますが、保存されたプロジェクトは変更されません。