Home >> Python >> Panda3D Subview
from direct.showbase.ShowBase import ShowBase from direct.showbase.Loader import Loader from panda3d.core import * # Loading Model base = ShowBase( ) loader = Loader( base ) model = loader.loadModel( "cube.dae" ) model.reparentTo( render ) model.setPos( 0, 5, 0 ) #y: depth # z: upper # Lighting dlight = DirectionalLight( 'dlight' ) dlight.setColor( VBase4( 0.8, 0.8, 1.0, 1 ) ) dlight.setDirection( Vec3( -1, 1, -1 ) ) dlnp = render.attachNewNode( dlight ) render.setLight(dlnp) # Subcamera displayRegion = base.win.makeDisplayRegion(0.2, 1, 0, 1) displayRegion.setClearColor(VBase4(0, 0, 0, 1)) displayRegion.setClearColorActive(True) cam2 = Camera( 'camera2' ) lens = PerspectiveLens( ) lens.setViewVector( 0, 5, 0, 0, 0, 1 ) cam2.setLens( lens ) camNP = NodePath(cam2) camNP.setPos( 0, -16, 0 ) displayRegion.setCamera(camNP) camNP.reparentTo(render) #camNP.reparentTo(base.cam)とすると、メインのカメラの動きに連動する # split dimension dr = base.cam.node().getDisplayRegion(0) dr2 = camNP.node().getDisplayRegion(0) dr.setDimensions(0, 0.5, 0, 0.5) dr2.setDimensions(0.5, 1, 0, 1) base.run( )
from direct.showbase.ShowBase import ShowBase from direct.showbase.Loader import Loader from panda3d.core import * # Loading Model base = ShowBase( ) loader = Loader( base ) model = loader.loadModel( "cube.dae" ) model.reparentTo( render ) model.setPos( 0, 10, 0 ) #y: depth # z: upper # Lighting dlight = DirectionalLight( 'dlight' ) dlight.setColor( VBase4( 1, 1, 0, 1 ) ) dlight.setDirection( Vec3( -1, 1, -1 ) ) dlnp = render.attachNewNode( dlight ) render.setLight(dlnp) # Display Region dr = base.win.makeDisplayRegion() dr.setSort(20) dr.setClearColor(VBase4(0, 0, 0, 1)) dr.setClearColorActive(True) dr.setClearStencil( DrawableRegion.RTPStencil ) dr.setClearStencilActive(True) dr.setDimensions(0.5, 1, 0.3, 0.7) myCamera2d = NodePath(Camera('myCam2d')) lens = PerspectiveLens( ) lens.setViewVector( 0, 5, 0, 0, 0, 1 ) myCamera2d.node().setLens(lens) myCamera2d.setPos( 0, -16, 0 ) myRender2d = NodePath('myRender2d') myCamera2d.reparentTo(render) #myCamera2d.reparentTo(base.cam)とすると、メインのカメラの動きに連動する dr.setCamera(myCamera2d) base.run( )
myMouseWatcher = MouseWatcher() base.mouseWatcher.getParent().attachNewNode(myMouseWatcher) myMouseWatcher.setDisplayRegion(myDisplayRegion) if(myMouseWatcher.hasMouse()): mpos = myMouseWatcher.getMouse()
Panda 3d Key/Mouse Input | Python | Python 3d GUI Components |