かならずお読みください注意事項

障害をもつこどもたちのためのおもちゃ 5

ボールなげ その2

ぼーるなげ その2

0 はじめに

今回もまたお身体に不自由を持つこどもたちのためのおもちゃを紹介します。前回は、『わからないことや初めてのことも多いので』と書きましたが案の定、ここ数週間は大物解決のために勉強して、試作品を作り、実験をしたりしていました。(ほかの仕事の合間にですが)ようやくここに来て先が見えてきたので、おもちゃ作りを再開したところです。

さて考えてみると、おもちゃに限らず興味や関心をひく物を作るにはいろいろな要素が必要になります。

まず外見、つまり見た目、色や形など目に見えるもののおもしろさです。さらにここには動きのおもしろさも含まれると思います。 次に、音楽や効果音など耳で聴き感じるおもしろさです。これら見えるおもしろさと聴こえるおもしろさが相互協調して表現されると効果的なようです。

そしてストーリーです。視覚や聴覚でとらえたものに何かの変化や流れや繰り返しなど規則性や意外性をみつけ頭の中で色々思い考え、喜怒哀楽(?)の感情がゆさゆさと揺さぶられると大変よろしいわけです。

このように考えると、手品曲芸などパフォーマンスや『ビー玉ビー助大冒険』やセサミストリートやゲームやおもちゃなどにはどれも共通してこれらの要素が見えてきます。

ということは、スマホやタブレットでおもちゃを作ろうとする場合に、 まずとりかかるべきは、 視覚刺激や聴覚刺激を絵を描いたり楽器を演奏したりするように自由自在につくれるようになること。 そしてそれらを組み合わせてお話をつくり その中に遊んでいる人も何らかの形で参加できるようにする という技能がおもちゃ作りの基礎として大切なことがわかります。 まるで絵本を作る前に絵を描く練習、音楽をやる前に歌や楽器の練習が必要なのとよく似ています。

これまで少しづつ取り組んできましたがようやく今では、 画面表示は、表示、消去、移動、アニメーションなどいろいろできるようになってきました。 ストーリーについては、タッチしたり、衝突したりすると何かが起きるとか、ボールが跳ねるように、赤丸図形を動かしたり、そのボールを投げたり転がしたりできるようになりました。 そして音ですが、実はこれがなかなか手ごわくていろいろ規制やハードルがありまして、それらを避けながら、改善しているところです。 だんだんできることが増えてきますがやればやるほど奥も深くて、ますますおもしろさがましてきました。

木のおもちゃやブリキのおもちゃ、おもちゃにも色々ありますが、考えてみればこのような工夫や苦労はどれにもあるように思います。それはさておき、、、

1 今回の試作品 ボールなげ その2

前回の大太鼓(バスドラム)、小太鼓(スネアドラム)にシンバルを追加しました。 いちいち説明するよりも、実際に動かしてもらったほうが時間の節約になりますので、お試しください。

ボールなげ その2 やや重力あり

楽器が3種類になったので、演奏にいくらか厚みが加わりました。特にボールを強く早く投げつけるとなかなか賑やかになります。

例によってこのアプリを使っても特にこれといったご利益はありません。ただ楽しんで面白がって、指を動かしてもらえれば十分と思います。

2 おわりに

ボールが床に落ちてバウンドして床にぶつかるたびにドラムがなります。そしてだんだん音の間隔が短くなってきます。

WebToyのプログラムではJavaScriptを使いで効果音を出すのに今の所次の2種類の方法を使っています。

1番目の方法


      audioElem = new Audio();
      audioElem.src = "./bat1.mp3";
      audioElem.play();

2番目の方法


     // web audio API によるサウンド出力
        const audioctx = new AudioContext();
        const sound = await LoadSample(audioctx, "./bat1.mp3");
        const src = new AudioBufferSourceNode(audioctx, {buffer:sound});
        src.connect(audioctx.destination);
        src.start();

      function LoadSample(actx, url) {
        return new Promise((resolv)=>{
            fetch(url).then((response)=>{
                return response.arrayBuffer();
            }).then((arraybuf)=>{
                return actx.decodeAudioData(arraybuf);
            }).then((buf)=>{
                resolv(buf);
            })
        });

1番目はシンプルですが、2番目はWebAudioAPIをつかっています。WebAudioAPIは超強力でサウンドに関して多くの機能を備えています。これを使いこなせるようになると、自由自在に音を操れるようになるのも夢ではありません。録音型VOCAにはこれがいいかもしれません。Web文字盤では効果音をこの方法で出しています。ただおもちゃのように短い間隔で連続で音をだそうとすると、タブレットやスマホでは荷が重いようです。ボールを床でバウンドさせて時間間隔が短くなってくると音飛びが出ます。まるで私の心電図みたいです。

今回のようにサウンドファイルを再生するだけなら、シンプルで負荷も少ない1番目の方法がよいようです。今回の試作品でもこの方法を使っていますので、思い切りガンガン動かしてもしっかり音がついてきますので、まあ合格だと思っています。

オフラインでサウンドファイルが再生できない問題が出た際も、このような再生方法の違いが原因ではないかとひととおり探ってみましたが結局違うことがわかりました。 ずいぶん回り道もしましたが、おかげでこのあたりを勉強することができました。まあ収穫でしょう。 このように脇道のことを知っておくとコースに障害物が見つかっても避けて行けます。しかし一本道しか知らないと、苦労することになります。

これがコスパ重視の怖いところです、運が悪いと遭難したりします。ご用心ご用心。

参考URL


2021/10/29 公開

研究企画課リハ工学科にもどる ←もくじはこちらです