プロパティーのリセットについて
Ren’Pyのカメラはsceneステートメントでプロパティーがリセットされません。そのため、カメラを元の状態にしたければ手動で元のプロパティーにセットしなければいけません。
カメラを移動しつつトランジションでもとのカメラ位置で画像を表示するというアニメーションをしたいときは以下のように記述します。
camera:
linear 3 xpos 1.0
scene bg uni
camera:
xpos 0
with dissolve
cameraステートメントを使用せず、show layerを使用した場合は、sceneステートメントで今までどおりプロパティーがリセットされます。意図的にカメラの時はリセットされないようにしたみたいですが、シーンが変わったのだからカメラもリセットした方が自然かなと思いました。
cameraステートメントはshow layer masterステートメントの符号を逆にしただけの同じものだと思っていましたが、どうも違うようで、それぞれ同じプロパティーに別の値を設定出来、合計が結果として表示されるようです。scene使用時はshow layerで設定した分のみリセットされます。カメラをリセットしたいときはリセットようのラベルを作成して適宜呼び出すと良いでしょう。
220126追記
プロパティーの値を明示しなくても単に以下のようにcameraと記述するのみでデフォルトの値に戻るようです。
camera:
linear 3 xpos 1.0
scene bg uni
camera
with dissolve
zzoomについて
画像に対してはzzoomプロパティーをTrueにするとzposを変更してもその画像のサイズが変わらなくなります。これはカメラ位置の影響を受けないような遠方の背景用かと思ったのですが、調べてみるとちょっと有用性が分からない機能でした。
先ず、サイズを維持するのはその画像zpos変更時のみで、matrixtransformのOffsetMatrixやカメラのzposを動かすと普通に変化します。またxpos, yposに対しても普通に作用します。何を意図した機能なのかどうも分かりません。
カメラはmasterレイヤーに対してのみ作用するのでカメラの影響を受けない画像を表示したければ、レイヤーを追加してそちらに表示すると良いと思います。
220104 利用方法が分かりました。zzoomをTrueにした状態でその画像のzposを-90000とかの非常に遠い位置に配置すると画像の大きさは変化しませんが、システム上遠くにあることにあるのでカメラを動かしたとき遠景と同様に影響が少なくなります。また、そこまでしなくとも背景をzzoom Trueにして少し後ろにやれば立ち絵などの画像を前に出して拡大しなくともそのままのサイズでカメラを動かしたときに遠近間を表現できます。
230316 この使い方でも結局少しは動くので背景をカメラから独立させたいなら普通に後ろにレイヤー追加して背景表示した方がいいですな。zzoom一体何のための機能なのだろう。