プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作

Slides:



Advertisements
Similar presentations
プロジェクト演習Ⅳ インタラクティブゲーム制作 プログラミング4 2011/11/8 マルチスレッドと 真・ストリーミング再生.
Advertisements

主専攻実験 第1回 ガイダンス資料 TA : 野坂 龍佑 (M2), 高林大輔 (M1)
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作 第4回 マルチスレッドとネットワーク. 今日の内容 マルチスレッド – ローディングの進捗表示とか – 処理高速化も見込めます ネットワーク通信 – 必然的にマルチスレッドを扱います.
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
JMP version5(以上) 日本語版のScripting Languageによる プログラミング
初年次セミナー 第13回 2次元グラフィックス(1).
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
プレゼンテーションソフトを活用しよう PowerPoint 2007の使いかた.
初年次セミナー 第4回 整数と実数の取り扱い.
3DCGコンテンツの基礎 第5回授業:最終課題制作
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
第13回構造体.
第12回構造体.
「RnR FixLinks Pro」解説(一般公開用・無償版)
プログラミング演習3 第4回 ミニプロジェクト.
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
第3回 スプライトと音楽 05A1030 佐々木和也.
映像技術演習 第8回:課題映像編集.
情報科学1(G1) 2016年度.
プロジェクト演習Ⅱ インタラクティブゲーム制作
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
音声処理ソフトPraatの使い方.
TA 高田正法 B10 CPUを作る 2日目 SPIMのコンパイル TA 高田正法
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
プログラミング演習3 第2回 GUIの復習.
インタラクティブ・ゲーム制作 <プログラミングコース>
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
3D散歩ゲーム 08A2043 谷口盛海 種田研究室.
澤見研究室 I04I021 片山祐輔 I05I095 山田大志 I06I040 野崎祥志
C言語講習 第0章 Hello, world!.
EclipseでWekaのAPIを呼び出す
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
プログラミング演習3 第2回 GUIの復習.
0.2 プロジェクトの準備 DXライブラリを使うための準備.
デジタル画像とC言語.
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
Minoのブロック配置のデータ構造 K.Yonezawa.
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
プロジェクト演習Ⅱ インタラクティブゲーム制作
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
第2回課題 配布した通り.氏名・学生番号を忘れないこと.
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
1-3 UMLの図(ダイアグラム) コンポーネント図 システムの物理的な構成を表現 ソフトウェアコンポーネントの依存性を表現
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
卒研1 第1回資料 OpenCVを用いた画像処理
プログラミング演習I 2003年7月2日(第11回) 木村巌.
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
アルゴリズムとプログラミング (Algorithms and Programming)
シニアPCマザーズ 平成29年度第5回会員相互勉強会 2017年11月24日(金) 13:30~ 於:雁宿公民館 発表者:吉田恭子
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
高度プログラミング演習 (11).
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
cp-15. 疑似乱数とシミュレーション (C プログラミング演習,Visual Studio 2019 対応)
リフスロー コードレビュー リフスローチーム 和泉 真 西村 和晃.
C言語を用いたゲームの作成 種田研究室 05A2055 松井和幸.
プログラミング演習I 数値計算における計算精度と誤差
プロジェクト演習Ⅱ インタラクティブゲーム制作
プロジェクト演習Ⅱ インタラクティブゲーム制作
Kinectで画像処理 第2回.
Presentation transcript:

プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作 第6回 サウンド

今日の内容 サウンド お待ちかね! BGM、SE、3Dサラウンドまで

サウンドを扱うAPI DirectSound(3D) SDL_mixer OpenAL Windows環境ではスタンダード なんだけど、Vista以降切り捨ての方向に… SDL_mixer 機種非依存で、マルチメディア全般をサポート ライセンスの関係がめんどくさい… OpenAL マルチプラットフォームでライセンスフリー DirectSoundとの互換性も考慮されており、 今後のスタンダードとして有力株

OpenALを使ったプログラミング FKのライブラリパッケージ内にOpenALもセットにしてあります プロジェクトを作る時に「OpenALを使用する」と「Ogg Vorbisを使用する」にチェック 既に作ってあるプロジェクトの設定変更は プロジェクトのプロパティ→リンカ→入力→ 追加の依存ファイル、に対して以下を追加 libvorbisfile.lib libvorbis.lib libogg.lib EFX-Util.lib alut.lib OpenAL32.lib

DLLへの依存が発生します 「OpenAL32.dll」「alut.dll」「libogg.dll」「libvorbis.dll」「libvorbisfile.dll」が必要 「FK_VC08/bin」フォルダ内にある 実行パスの通ったフォルダに配置する Visual Studio上から実行する場合 プロジェクトファイルと同じフォルダ EXEを直接実行する場合 EXEファイルと同じフォルダ

補足:パスについて ファイルを読み込むプログラムの場合、 Visual Studioから実行する場合と、 EXEを直接実行する場合とで、 相対パスの基準位置がズレます 両方にデータを置くのは面倒なので… EXEを実行する時はプロジェクトの フォルダにコピーしてくる プロジェクトの設定を変更して、VS上から実行する場合の基準位置を揃える

今回のクラス構成 BGM用 SE用(どちらも関数は共通) fk_AudioStream fk_AudioOggBuffer fk_AudioWavBuffer Wav形式用

BGMと効果音の再生形式の違い BGMはファイルサイズが大きい SEはファイルサイズが小さい 少しずつ読み込みながら再生する ストリーミング再生処理と呼ぶ 生Waveは大きすぎるのでOggを使うこと SEはファイルサイズが小さい 一気にメモリ上に読み込んで再生する WaveでもOggでも使用可

APIは至極単純 open play pause seek tell end setGain getGain ファイルを読み込む 鳴らす 鳴らし続けたい間 呼び続ける必要がある pause 止める seek 指定位置へ頭出し tell 現在再生位置を取得 end 再生を打ち切り、 読み込んだ内容を破棄 setGain 音量調整(0.0~1.0) getGain 音量取得

ちょっと不安定な機能ども setLoopMode setLoopArea tellで取得できる再生時間に若干のズレが生じる ループ再生の設定 setLoopArea ループ範囲の指定 現状ループ開始地点 のみ有効 tellで取得できる再生時間に若干のズレが生じる それに伴ってループ再生の開始地点も厳密な位置指定は無理 そのうち直します

3Dサラウンド Buffer再生クラスの方は3次元座標を 与えることでサラウンド表現が可能 setPosition()で定点指定 setModel()で与えたモデルの位置に追従 setReferenceDist()で音の届く距離を設定 fk_Audio::setListenerModel()でリスナー (多くの場合はカメラモデル)を設定