Panda3Dのお勉強(書きかけ)

Panda3Dとは(引用:http://www.doblog.com/weblog/myblog/4913/1395390#1395390

  • サンプルの場所
    • スタート>プログラム>Panda3d 1.4.2>SamplePrograms
  • 音声関係
    • Panda3Dは音声の再生にFMODというライブラリを利用している。wave/ogg/mp3/midi/modなどの再生に対応していてなかなか強力だが「作品を無償で配布する場合に限り無償」という制限付き。(FMODを使う気がない場合はFMOD関係のDLLを削除して、代わりにPygameOpenALを使えと言う事らしい。)
    • 3Dオーディオも扱えるらしい。ドップラーとか何とか書いてあるのでかなり高度な事も出来るかも?
    • サウンドのシームレスなループ再生が出来るらしい…が条件が整ってないとなかなかうまくいかないらしい。「ループさせた時、完璧に隙間のないWAVEファイルを用いた上でsetLoopを使え」とのこと。
import direct.directbase.DirectStart   # モジュールのインポート

mySound = loader.loadSfx("SoundFile.wav") # 音声ファイルの読み込み

mySound.play() # サウンド再生

mySound.setLoop(true) #サウンドループ設定
mySound.play() # サウンドループ再生

mySound.stop() # サウンド停止

mySound.length() # サウンドの長さを秒単位で取得

mySound.getTime() # 現在の再生位置を秒単位で取得

mySound.setTime(n) # 再生開始位置をn秒目に設定

mySound.status() # サウンドの状態をチェック

mySound.setVolume(0.5) # 音量の設定。0.0 〜 1.0

mySound.setBalance(-0.5) # パンの設定 -1.0 〜 1.0

mySound.setPlayRate(n) # 再生速度を設定。小数単位で負は逆再生、0は一時停止。
  • 読み込めるモデル
    • 独自形式のegg/bamが読み込める。bamはバイナリファイル。
    • xファイルも読み込める。ただし読み込み時に時間がかかる(独自形式に変換してから読み込んでいる?)
    • 3dsMax,Maya,Blender,milkshape用のコンバータがある