Home >> Python >> PyOSG First


■インストール

☆Windowsの場合

osgSwigのホームページから、downloadsのところから、osgPython-2.6.1-0-py26.exeをダウンロードし、インストーラを起動します。

もし、OSG自体も必要でしたら、2.6以降はバイナリなどを作るのに、Visual Studioなどを必要とします ので、2.4版のものを以下のページからダウンロードして、インストーラを実行しておいて下さい。

http://mew.cx/osg/にある、osg2.4.0_vs80sp1_setup_2008-04-28.exe

☆Mac OS Xの場合

最新のソースをダウンロードする場合は、osgSwigのページから、hgコマンド(なければ Webからダウンロードして インストールする必要あり)で、次のように直接ダウンロードします。
	
	hg clone https://code.google.com/p/osgswig/
	
あるいは、安定した2.8.x用のソースの場合(megamillerzoid-stable-osg)は、以下のページからダウンロードします。
	
	hg clone http://code.google.com/r/megamillerzoid-stable-osg/
	
OpenSceneGraphも当然必要とされます。 2.8.x版を使う場合は、http://www.openscenegraph.org/projects/osg/wiki/Downloadsの中から Previous Release List の方を選び、そのページの中から、2.8.xのどれかをダウンロードします。 たとえば、OpenSceneGraph-2.8.5.zip など。svnを使う場合は次のようにします。
	
	svn co http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.8.5 OpenSceneGraph
	
SWIGも必要とされます。 Downloadのページから最新版をダウンロードしてください。 解凍は、tarコマンドを使って以下のようにします。
	
	tar xfj swig-2.0.4.tar.gz
	

PowerPCで、Mac OS X 10.4あるいは10.5の場合は、以下のような構成でインストールしていきます。

Intel CPUで、Mac OS X 10.5(32bit)の場合は、以下のような構成でインストールしていきます。

Intel CPUで、Mac OS X 10.6(64bit)の場合は、以下のような構成でインストールしていきます。

■PyOSGでの標準ビューワの表示


	import osg, osgViewer
	import sys

	root = osg.Group( )

	viewer = osgViewer.Viewer()
	viewer.setSceneData( root )
	viewer.addEventHandler(osgViewer.StatsHandler())
	viewer.addEventHandler(osgViewer.WindowSizeHandler()) 
	viewer.run()
	

WindowSizeHandlerは、WindowsのPyOSGでEscapeで終了するとハングするので、「F」キーで フル画面表示からウィンドウ表示に切り替えて、その後ウィンドウの削除で終了させるためのものです。
StatsHandlerは、FPS(Frame per second)などの状況表示をさせるもので、「S」キーを使います。

■PyOSGでのモデル読込み

★モデルの読込み

	
	import osg, osgDB, osgViewer
	import sys

	osgDB.setLibraryFilePathList(sys.path) 
	loadedModel = osgDB.readNodeFile('cow.osg')
	
	viewer = osgViewer.Viewer()
	viewer.setSceneData( loadedModel )
	viewer.addEventHandler(osgViewer.StatsHandler())
	viewer.addEventHandler(osgViewer.WindowSizeHandler()) 
	viewer.run()
	

モデルのファイルは、絶対パスを指定しない限りは、スクリプトと同じフォルダにあること(あるいは相対パス)を前提としています。 OSG形式の3Dモデル以外に、3DS形式なども読み込めます。

PyQt4 Fifth Python PyOSG Second