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

Slides:



Advertisements
Similar presentations
簡単動画制作 使用するアプリケーション  iMovie  特別教室の Mac にインストールされています  使用方法の動画解説( apple ) 
Advertisements

プロジェクト演習Ⅱ インタラクティブゲーム制作
最新コピーガード CPRM コピーや録画できる回数を制限するコピーコントロール信号である。コピーワンス放送などの映像データに入っている。
専門ゼミⅠ 南ゼミ 特別授業 2002年5月24日 金曜日 4限目 今泉 裕隆.
小学校におけるICTを使った 音楽科教材開発
映像技術演習 第7回:オーサリング・書き出し.
卒研のようなもの 圧縮ちーむ 2008.4.22 鴫原、山本、齋藤.
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
メディア基礎演習 3Dコンテンツの基礎 第5回:制作作業.
3DCGコンテンツの基礎 第5回授業:最終課題制作
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
第6回 Flashによるゲームの作成 04A2029           古賀慎也.
プロジェクト演習Ⅱ インタラクティブゲーム制作
伺か with なでしこ 発表者:しらたま /05/05 うかべん大阪#3.
プログラミング演習Ⅱ 第12回 文字列とポインタ(1)
プログラミング演習3 第4回 ミニプロジェクト.
CG基礎 日本文理大学 坪倉篤志 <配布資料-03> 先週 @Learnについて(出欠、課題) ペイントソフトの基本操作 ペイント、文字入力
第3回 スプライトと音楽 05A1030 佐々木和也.
心理学情報処理法Ⅰ コンピュータにおけるデータ表現 マルチメディアとコンピュータ.
情報科学1(G1) 2016年度.
プロジェクト演習Ⅱ インタラクティブゲーム制作
小型デバイスからのデータアクセス 情報処理系論 第5回.
条件式 (Conditional Expressions)
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
単位 おねだり ☆オセロ おねだり隊☆D班.
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
音声処理ソフトPraatの使い方.
プログラミング 平成24年10月30日 森田 彦.
プロジェクト演習Ⅱ インタラクティブゲーム制作
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
プログラミング 平成25年11月5日 森田 彦.
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
3D散歩ゲーム 08A2043 谷口盛海 種田研究室.
澤見研究室 I04I021 片山祐輔 I05I095 山田大志 I06I040 野崎祥志
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第2回 ファイル処理 情報・知能工学系 山本一公
Cプログラミング演習 第7回 メモリ内でのデータの配置.
音楽をつくろう! 1.MIDI音楽の仕組みを理解しよう.
プロジェクト演習Ⅱ インタラクティブゲーム制作
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
明日の授業でも作成を継続する予定です 2017/11/13、2017/11/14
第6回:ラケットを動かそう! (キーボードによる物体の操作)
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
一方向画像からの 3Dモデル生成 電気電子工学科 白井研究室 T215049 田原 大輝.
プロジェクト演習Ⅱ インタラクティブゲーム制作
プロジェクト演習Ⅱ インタラクティブゲーム制作 イントロダクション2
フォトムービーを作ろう 【初めの準備】 ■ 写真を10枚くらい用意をして、マイドキュメントの 中にファイルを作り保存をしておこう
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
基礎プログラミング演習 第12回.
統計ソフトウエアRの基礎.
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
プログラミング演習I 2003年7月2日(第11回) 木村巌.
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
ファイルの読み込み, ファイルからのデータの取り出し, ファイルの書き出し
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
リフスロー コードレビュー リフスローチーム 和泉 真 西村 和晃.
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
C言語を用いたゲームの作成 種田研究室 05A2055 松井和幸.
プログラミング実習(Java) グラフィクス処理とGUIプログラミング 講師:坂口 利裕(横浜市立大学)
PROGRAMMING IN HASKELL
プロジェクト演習Ⅱ インタラクティブゲーム制作
プログラミング 平成28年10月25日 森田 彦.
プロジェクト演習Ⅱ インタラクティブゲーム制作
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
今後の音声圧縮技術について 鈴木 誠人 .
Presentation transcript:

プロジェクト演習Ⅱ インタラクティブゲーム制作 第6回 はじめての3Dプログラミング 鳴らしちゃうよ編

今日の内容 鳴らしたい! サウンドプログラミングの基礎 鳴れ!とにかく鳴れ! 音量には注意してね

今週のプロジェクト 授業資料ページからダウンロードします 今週のFKUT更新情報 落としたZipファイルを解凍して、出てきたフォルダを好きなところに配置 今週のFKUT更新情報 サウンド関連の機能を追加

今日のサンプル BGMを鳴らします SEを鳴らします 3Dサラウンドにも挑戦してみたりなんかしちゃったりなんかしちゃったりなんかして

音のデータの扱い方 音は波形のデータです 様々なファイル形式があります 波の形をものすごい細かく記録したデータ 生の音声データ 高音質で再生処理が軽いが長時間のデータが肥大化 Waveファイル(.wav) 圧縮した音声(音楽)データ できるだけ音質を保ちつつコンパクト でも再生が重い MP3ファイル(.mp3) Oggファイル(.ogg)

とにかくサイズが大きくなりがち BGMは圧縮データ 効果音はWaveデータ フリー素材を探してみよう 変換ツールをゲットしておこう ここではOggファイルを扱うことにする 効果音はWaveデータ Windows標準のサウンドレコーダでも 作れる フリー素材を探してみよう 「ザ・マッチメイカァズ」などが有名 変換ツールをゲットしておこう

ぽいーん、は手元にないですが キー操作にあわせて 鳴らしてみよう

効果音用のすごい変数 fk_AudioWavBuffer 手順 Waveファイルを効果音として再生できる openでWaveファイルを読み込む playで再生 だけど毎ループ呼び続けないと止まってしまう ちょっと工夫が必要

こんな感じ… fk_AudioWavBuffer se1; bool se1_play = false; se1.open(“hogehoge.wav”); se1_play = se1.play(); // ループ内では if(se1_play == true) { }

YesかNoかを覚える変数 bool型という変数 Javaだと”boolean”という名前なので注意 true(Yesの状態)とfalse(Noの状態)をとる いわゆる「フラグ」に使われることが多い play()命令は再生に成功したらtrueが、 失敗あるいは最後まで到達したらfalseが帰ってくる なので結果をbool型の変数で捕まえておくと効率的に条件分岐ができる

キー操作に合わせるには // ループ中にて if(キーが押された瞬間か?) { 再生したい音のフラグ = true; } // フラグの操作と、状態による分岐を 分けて考えるのがCoolなプログラム if(再生したい音のフラグはtrue?) { (前略)音のフラグ = すごい音変数.play();

やることはだいたい一緒です BGMの再生

BGM再生用のすごい変数 fk_AudioStream 手順 Oggファイルってどう作るのさ? OggファイルをBGMとして再生 openで読み込み playで再生 Oggファイルってどう作るのさ? XRECORDというフリーソフトがかなり最強 MP3からの変換もできる

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

命令は共通、かつ単純 open play pause seek tell setGain setLoopMode ファイルを読み込む 読み込みの正否をboolで返す play 鳴らす 鳴らし続けたい間 呼び続ける必要がある 再生中ならtrue、末端まで再生したらfalseが返る pause 止める、playで再開可 seek 指定位置へ頭出し 単位は秒(double) tell 現在再生位置を取得 ちょっと不正確 setGain 音量調整(0.0~1.0) setLoopMode trueを渡すと末端まで 再生したら自動的に 最初に巻き戻って 再生を続ける

イヤホンじゃないと分かりづらいかもしれないけど サラウンドに挑戦してみよう

サラウンドとは? ドルビー5.1chとかのアレ 空間の中に実際にいるように音が 聞こえてくるアレ 特殊な機材やスピーカを揃えなくても、ある程度それっぽく再生できるように なってきた

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

カメラモデルって? 今まではWindowに内蔵のカメラを使っていた カメラも本来「位置」と「向き」を持つfk_Model型の変数で表される そのカメラモデルを「サラウンドでリスナーのいる位置」として渡してやる

今日の課題 BASIC ADVANCED EXTREME ジャンプに効果音を付けてみよう BGMを鳴らして、キー操作で音量を上げ下げ できるようにしてみよう EXTREME 特定の場所から聞こえてくる音を配置してみよう