投稿

3月, 2021の投稿を表示しています

GDevelop v5.0.0-beta108 がリリースされました。

イメージ
beta 106 がリリースされる前に 107 が発表されて、んじゃ 107 の記事を書くか~っと思っていたら 108 がリリースされたでござる😅 しかも、リリースに間に合うほど爆速で翻訳してくださった YU-TANG さんのおかげで、初めから新機能も日本語で利用できますぞー🙌 ということで今回は、beta 106 から 108 までの気になった変更点を、まとめてピックアップしました❗ ✨ 新機能 ・配列変数と真偽値変数が追加 全ての変数(グローバル、シーン、オブジェクト)で、従来の数値、文字列、構造体に加えて、配列と真偽値のタイプ(型)が利用できるようになりました。 真偽値は ON、OFF などに、配列は子変数の数が決まっていないデータや、増減するデータを持たせる事ができるので、とても便利です。 もちろん、配列と構造体は他のタイプを入れ子で持つことができるので、配列の子が構造体、なんてことも可能です。 特に配列は、個人的に待ち望んでいた機能なので、嬉しいです😊 ただし、現状は繰り返しイベントがシーン変数にしか対応していない点が残念です。 グローバル変数やオブジェクト変数を繰り返し処理したい場合は、シーン変数へコピーするか Javascript コードを使用する必要があります😥 ・トップダウン移動ビヘイビアを改善 「スティックコントロールをシミュレートする」アクションや「移動角度オフセット」プロパティが追加されて、より便利になったようです😆(よく分かってないw) ・オーディオに立体音響とプリロードの機能が追加 立体音響は距離による音量の減衰だけでなく、音がどの方向から鳴っているかを再現することができるようになります。(3D なので上下前後左右なのだとは思いますが、特に左右が分かりやすいです) ただし、なぜか位置を逆距離モデルという謎の割合で設定する必要があり、かなり使いにくい仕様となっています😥 Wiki の Spatial-sound ページ(英語) あと、プリロードされていないサウンドには効果がなかったり、再生前に位置を設定しようとすると落ちるバグが有るようです……😞 今後の改善に期待です。 プリロードの方は、読み込みが完了しているかを確認するすべは無いものの、使い方はアクションを追加するだけなので、簡単に利用できます。 あとアンロードもできます

【GDevelop】オブジェクト間の距離で音量を変化させる方法

イメージ
プレイヤーのキャラクターと音源との距離に合わせて、音量を変化させる方法を紹介します。 音のコントロールはページでは伝わりにくいので、まずは完成したサンプルの動画をご覧ください。 この動画では、ウサギとハチの距離に応じて、羽音の音量が変化します。 動画で使用したサンプルのシーンは、こんな感じ。 音を聞くウサギと、羽音の音源となるハチなどを配置しています。 使用素材: https://pixelfrog-assets.itch.io/ ウサギには「ドラッグ可能」ビヘイビアを追加して、ドラッグできるようにしています。 また、ウサギとハチは使用した素材が小さかったので 2 倍に拡大しています。 (プロパティのカスタムサイズで大きくしています) シーンにはその他に、デバッグ用のテキストオブジェクトも配置しています。 イベントは次の画像のようになっています。 では、一行ずつ順に説明していきます。 まず最初の行で、シーン開始時にチャンネル 1 でサウンド(羽音)をループ再生しています。 その再生アクションのパラメーターは、次の画像のとおりです。 今回のように再生するサウンドを細かく制御したい時は、チャンネルを指定できる「チャンネルでサウンドを再生する」または「チャンネルで音楽ファイルを再生する」を使用する必要があります。 チャンネル識別子を指定することで、後々そのサウンドをアクションで制御できるようになります。 (ここでいうチャンネルとは単なる識別用の番号であり、好きな数字を入れることができます) そして 2 行目のイベントで、ウサギとハチの距離に応じて、チャンネル 1 の音量を変化させています。 そのアクションのパラメーターは、次の画像のとおりです。 チャンネル識別子には、シーン開始時のアクションで指定した値の 1 を指定します。 その上で、ウサギとハチの距離に応じて 0~100 の数値を代入しています。 このアクションのポイントは、値パラメーターに入力されている何やら小難しい式です。 clamp( 100 - (Bunny.Distance(Bee) * 0.3) , 0 , 100 ) ↑と、書かれています。 (説明のため色分けしました) では、まず clamp() 関数についてです。 この関数は、ある数値を指定した範囲内に制限することができます。 次のように使います。 c