SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
2009/03/22, Moneto
   HN:Moneto (Twitter:@Moneto)
   所属:KCLC(開成学園コンピュータ部)
   学年:中2(新中3)

   プログラミング歴:1年9か月
   使用言語:Object Pascal, C++, C#(, BASIC)
   開発環境:Visual C++/C# Express Edition SP1
        Delphi5(, Delphi6)
   製作物:STGが中心(1作品を除き、全てSTG)
   OpenALのことを知らない人

   3次元的な音の表現に興味がある人

   Vistaユーザー(後述)
   簡単に言うと3DオーディオAPI。

   Wav、ogg等、PCM形式のオーディオデータを再生
    できる。ストリーミング再生にも対応。

   音源・リスナを3次元空間上に配置することで、音が
    立体的に聞こえるようにすることが可能。

   マルチプラットフォームなので、Windows環境だけ
    でなくLinux環境でも勿論使用可能。
   DirectX(Windows環境のみ)とは違い、Linuxなど
    多くのOSに対応している。

   Windows Vistaからのオーディオアーキテクチャ
    の変更による影響を受けない。

   DirectSound3D(同様に3Dオーディオ機能を有
    す)の場合、この影響を受けてVista上でのサポー
    トが無くなってしまい、そのままでは従来通りの
    再生が不可能になってしまっている。
   名前だけでなく、APIのスタイルもOpenGLに似
    せて作ってあるので、OpenGLを用いた3Dゲー
    ムと相性が良い。(特に、移動する物体に合わせ
    て音を動かしていく必要のあるもの=VS系ゲー
    ム等に向いている)

⇒例えば、上空を飛行する戦闘機の音・陸上を走行
 する戦車の音の(聞こえる方向の)違いなど、3
 次元的に音を表現したい場合には有効である。
   実演1.音源の距離(遠近での音の大きさの違
    い)

   実演2.音源の方向(上下・前後・左右の聞こえ
    方)

   実演3.音のピッチの調節

   全てC#(DLL読み込み)を用いて製作しています。
リスナ座標…(X, Y, Z)=(0, 0, 0)の際の、

   ①音源座標(X, Y, Z)=(0, 0, 0)

   ②音源座標(X, Y, Z)=(0, 10, 0)

   ③音源座標(X, Y, Z)=(0, 20, 0)

での音の聞こえ方の違い。
リスナ座標…(X, Y, Z)=(0, 0, 0)の際の、

   ①音源座標(X, Y, Z)=(10, 0, 0)
   ②音源座標(X, Y, Z)=(-10, 0, 0)(左右)

   ③音源座標(X, Y, Z)=(0, 10, 0)
   ④音源座標(X, Y, Z)=(0, -10, 0)(前後)

   ⑤音源座標(X, Y, Z)=(0, 0, 10)
   ⑥音源座標(X, Y, Z)=(0, 0, -10)(上下)

での音の聞こえ方の違い。
   ①ピッチ1.0倍(デフォルト)
   ②ピッチ0.6倍
   ③ピッチ1.4倍

での、音の高低・および再生速度の違い。

使用音楽データ:「華のさかづき大江山(東方地霊殿)」
   ①ゲインの調節による音の大きさの調節
    ⇒音の大小を0.0~1.0の数値で表す。ゲインが
      0.0の場合、実質的なミュートになる。

   ②ドップラー効果の再現

   ③音声のキャプチャ

注)①のみ実演します。
   日本語の資料はまだまだ少ない。

   和訳されたリファレンスマニュアルは存在する。
    (ただし公式なものではない)

   ある程度のサンプルはSDKに同梱されているので、
    使用方法などは比較的つかみやすい。
以上
御清聴、ありがとうございました。

Contenu connexe

Tendances

Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_ Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity Technologies Japan K.K.
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
DADA246
 
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
小林 信行
 
SporeにおけるゲームAI技術とプロシージャル:ウィル・ライトのゲームAI論 (DLして読んでください)
SporeにおけるゲームAI技術とプロシージャル:ウィル・ライトのゲームAI論 (DLして読んでください)SporeにおけるゲームAI技術とプロシージャル:ウィル・ライトのゲームAI論 (DLして読んでください)
SporeにおけるゲームAI技術とプロシージャル:ウィル・ライトのゲームAI論 (DLして読んでください)
Youichiro Miyake
 

Tendances (20)

VRChatでお酒が注げる飲み物アセットの紹介
VRChatでお酒が注げる飲み物アセットの紹介VRChatでお酒が注げる飲み物アセットの紹介
VRChatでお酒が注げる飲み物アセットの紹介
 
DeNA TechCon2019 How to implement live streaming client using Unity
DeNA TechCon2019 How to implement live streaming client using UnityDeNA TechCon2019 How to implement live streaming client using Unity
DeNA TechCon2019 How to implement live streaming client using Unity
 
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
Unity道場11 Shader Forge 101 ~ShaderForgeをつかって学ぶシェーダー入門~ 基本操作とよく使われるノード編
 
HoloLens2とPCで、WebRTCで映像をやりとり
HoloLens2とPCで、WebRTCで映像をやりとりHoloLens2とPCで、WebRTCで映像をやりとり
HoloLens2とPCで、WebRTCで映像をやりとり
 
CEDEC 2018 バーチャルキャラクターをリアルイベントへ召還する技術
CEDEC 2018 バーチャルキャラクターをリアルイベントへ召還する技術CEDEC 2018 バーチャルキャラクターをリアルイベントへ召還する技術
CEDEC 2018 バーチャルキャラクターをリアルイベントへ召還する技術
 
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_ Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow) UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
Gcm#4 アメリカの長編アニメーションの 色とライティング
Gcm#4  アメリカの長編アニメーションの 色とライティングGcm#4  アメリカの長編アニメーションの 色とライティング
Gcm#4 アメリカの長編アニメーションの 色とライティング
 
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
 
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
 
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
 
SporeにおけるゲームAI技術とプロシージャル:ウィル・ライトのゲームAI論 (DLして読んでください)
SporeにおけるゲームAI技術とプロシージャル:ウィル・ライトのゲームAI論 (DLして読んでください)SporeにおけるゲームAI技術とプロシージャル:ウィル・ライトのゲームAI論 (DLして読んでください)
SporeにおけるゲームAI技術とプロシージャル:ウィル・ライトのゲームAI論 (DLして読んでください)
 
脱Unity!? UE4でVR開発のここが変わった
脱Unity!? UE4でVR開発のここが変わった脱Unity!? UE4でVR開発のここが変わった
脱Unity!? UE4でVR開発のここが変わった
 
VRM-VCIが広げるVR世界間ポータビリティ
VRM-VCIが広げるVR世界間ポータビリティVRM-VCIが広げるVR世界間ポータビリティ
VRM-VCIが広げるVR世界間ポータビリティ
 
Unity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jpUnity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jp
 
【Unity道場教育スペシャル】Cinemachineで教えるゲームの3つの大切なこと
【Unity道場教育スペシャル】Cinemachineで教えるゲームの3つの大切なこと【Unity道場教育スペシャル】Cinemachineで教えるゲームの3つの大切なこと
【Unity道場教育スペシャル】Cinemachineで教えるゲームの3つの大切なこと
 
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
【Unite Tokyo 2019】HDRPコワクナイ! HDRPで目指す小規模で高品質な映像制作
 
ゲームシナリオ構成法 2015版
ゲームシナリオ構成法 2015版ゲームシナリオ構成法 2015版
ゲームシナリオ構成法 2015版
 
【CEDEC2016】横スクロールARPG 「追憶の青」における 2Dキャラクターアニメーション〜2Dアニメの注意点とテクニック〜
【CEDEC2016】横スクロールARPG 「追憶の青」における 2Dキャラクターアニメーション〜2Dアニメの注意点とテクニック〜【CEDEC2016】横スクロールARPG 「追憶の青」における 2Dキャラクターアニメーション〜2Dアニメの注意点とテクニック〜
【CEDEC2016】横スクロールARPG 「追憶の青」における 2Dキャラクターアニメーション〜2Dアニメの注意点とテクニック〜
 

OpenALの紹介

  • 2. HN:Moneto (Twitter:@Moneto)  所属:KCLC(開成学園コンピュータ部)  学年:中2(新中3)  プログラミング歴:1年9か月  使用言語:Object Pascal, C++, C#(, BASIC)  開発環境:Visual C++/C# Express Edition SP1 Delphi5(, Delphi6)  製作物:STGが中心(1作品を除き、全てSTG)
  • 3. OpenALのことを知らない人  3次元的な音の表現に興味がある人  Vistaユーザー(後述)
  • 4. 簡単に言うと3DオーディオAPI。  Wav、ogg等、PCM形式のオーディオデータを再生 できる。ストリーミング再生にも対応。  音源・リスナを3次元空間上に配置することで、音が 立体的に聞こえるようにすることが可能。  マルチプラットフォームなので、Windows環境だけ でなくLinux環境でも勿論使用可能。
  • 5. DirectX(Windows環境のみ)とは違い、Linuxなど 多くのOSに対応している。  Windows Vistaからのオーディオアーキテクチャ の変更による影響を受けない。  DirectSound3D(同様に3Dオーディオ機能を有 す)の場合、この影響を受けてVista上でのサポー トが無くなってしまい、そのままでは従来通りの 再生が不可能になってしまっている。
  • 6. 名前だけでなく、APIのスタイルもOpenGLに似 せて作ってあるので、OpenGLを用いた3Dゲー ムと相性が良い。(特に、移動する物体に合わせ て音を動かしていく必要のあるもの=VS系ゲー ム等に向いている) ⇒例えば、上空を飛行する戦闘機の音・陸上を走行 する戦車の音の(聞こえる方向の)違いなど、3 次元的に音を表現したい場合には有効である。
  • 7. 実演1.音源の距離(遠近での音の大きさの違 い)  実演2.音源の方向(上下・前後・左右の聞こえ 方)  実演3.音のピッチの調節  全てC#(DLL読み込み)を用いて製作しています。
  • 8. リスナ座標…(X, Y, Z)=(0, 0, 0)の際の、  ①音源座標(X, Y, Z)=(0, 0, 0)  ②音源座標(X, Y, Z)=(0, 10, 0)  ③音源座標(X, Y, Z)=(0, 20, 0) での音の聞こえ方の違い。
  • 9. リスナ座標…(X, Y, Z)=(0, 0, 0)の際の、  ①音源座標(X, Y, Z)=(10, 0, 0)  ②音源座標(X, Y, Z)=(-10, 0, 0)(左右)  ③音源座標(X, Y, Z)=(0, 10, 0)  ④音源座標(X, Y, Z)=(0, -10, 0)(前後)  ⑤音源座標(X, Y, Z)=(0, 0, 10)  ⑥音源座標(X, Y, Z)=(0, 0, -10)(上下) での音の聞こえ方の違い。
  • 10. ①ピッチ1.0倍(デフォルト)  ②ピッチ0.6倍  ③ピッチ1.4倍 での、音の高低・および再生速度の違い。 使用音楽データ:「華のさかづき大江山(東方地霊殿)」
  • 11. ①ゲインの調節による音の大きさの調節 ⇒音の大小を0.0~1.0の数値で表す。ゲインが 0.0の場合、実質的なミュートになる。  ②ドップラー効果の再現  ③音声のキャプチャ 注)①のみ実演します。
  • 12. 日本語の資料はまだまだ少ない。  和訳されたリファレンスマニュアルは存在する。 (ただし公式なものではない)  ある程度のサンプルはSDKに同梱されているので、 使用方法などは比較的つかみやすい。