カメラ出力を任意の領域に表示
2010/8/11
Blender2.49
CameraオブジェクトのViewportを設定してやると、プレイ画面の任意の領域に、指定したカメラの出力を表示することができる。
camera = GameLogic.getCurrentController().owner
#Viewportを有効に
camera.useViewport = True
#表示させる領域を指定
camera.setViewport(left, bottom, right, top)
#他のViewportより上に
camera.setOnTop()
表示させる領域の指定にはRasterizerモジュールのgetWindowWidth()、getWindowHeight()を使うと便利。
左半分をCamera1、右半分をCamera2の表示出力に画面を分割するサンプル
import Rasterizer
scene= GameLogic.getCurrentScene()
cam1 = scene.cameras["OBCamera1"]
cam2 = scene.cameras["OBCamera2"]
cam1.useViewport = True
left = 0
bottom = 0
right = Rasterizer.getWindowWidth()/2
top = Rasterizer.getWindowHeight()
cam1.setViewport(left, bottom, right, top)
cam2.useViewport = True
left = Rasterizer.getWindowWidth()/2
bottom = 0
right = Rasterizer.getWindowWidth()
top = Rasterizer.getWindowHeight()
cam2.setViewport(left, bottom, right, top)
Class KX_Camera
http://www.blender.org/documentation/249PythonDoc/GE/GameTypes.KX_Camera-class.html
参考
http://www.blender.org/development/release-logs/blender-241/split-screen-and-multi-viewports/