勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。Time」型の変数を文字列に変換する方法です。Time」型を「Text」にするノードが複数用意されています。Time」型を「年日時」という文字列に変換できます。表示結果はこんな感じに。Time」型を「年日」という文字列に変換できます。表示結果はこんな感じに。Time」型を「時」という文字列に変換できます。表示結果はこんな感じに。いった感じで簡単に文字列に変換できます。Time」ノードを使って全ての要素を分解して再構築して使うのがいいと思います。Text」ノードを使えばいい感じの文字列が使えるのかなと思います。Time)現在の日時を取得する方法です。制限時間の実装方法を色々とhttp://pafuhana1213.hatenablog.com/entry/2015/11/21/014427現在の日時を取得するには「Now」ノードを使います。「Now」ノードは「DateTime」を返します。そのまま表示するとこんな感じになります。「Today」というノードは現在の日付だけ取得できます。Time」を返すので表示してみると時間が0なだけですね。Time」ノードを使うことで各要素に分離できます。いった感じで使えるみたいですね。取得してあれこれするだけなら上記二つのノードだけで大丈夫そうです。Level)現在のレベルを開きなおす方法です。Level」ノードを使います。ノードについての説明はここらへんに書いてあります。Level)http://kagring.blog.fc2.com/blog-entry-128.html参考にしたのはこちらのサイトです。Gameノードでいいよ!http://konabe.blog.jp/archives/42737706.htmlこんな感じでBPを組みます。Level」でレベルを開きなおす。いった簡単な方法でできます。Base」について調べて説明しないといけないので次の機会にということで...。Name)現在のレベルの名前を取得する方法です。Name」というノードを使います。公式ドキュメントはこちらに。String」なのですがチェックを外すとレベル名の前にプリフィックス名がつくようです。ドキュメントを見てもこれがなんなのかよくわからないのですよね...。name.レベル名からストリーミングまたはエディタで追加された接頭辞を削除します。チェックいれたままで使うのがよさそうです。このノードは現在のレベルの名前を返してくれます。こんな感じで表示してみると。こんな感じの名前が表示されます。今のレベルを開きなおすなどには結構使えるんじゃないかなと思います。Text)BPを使って書式設定を使った文字列を作成する方法です。String)」みたいなやつですね。公式ドキュメントにこういうのがありました。Text」を使うと書式設定での文字列が作成できそうです。String」はこんな感じに。Formatで指定した文字列の中で「{}(中括弧)」の中に数値および文字列を入れることでワイルドカードの書式設定となり入力ピンが増えます。使用例はこんな感じに。you」に、「{1}が12.345」置き換えられ文字列が生成されます。表示してみた結果がこちら。Text」ノードもあります。こちらの仕様例は数値ではなく名前指定の入力ピンになる方法です。「{}(中括弧)」の中身に名前を入れることで、名前指定の入力ピンになります。String」と一緒ですね。表示してみた結果がこちら。入力ピンが空なので上記のような表示になります。Text」ノードなどを使うのも手ですが、純粋に結合するだけならこっちの方が見やすそうですね。Location」ノードを使ってSEを再生してみました。Location」を使った時点でSEの音量などが勝手に減衰するものだと思ってました。そんなことはなかったです..._(:3」∠)_というわけで距離減衰などについて調べたところ、こんなのを見つけました。Actorを作った覚えはないです、たしか。2014年11月21日ピンポイントでありました。UE4勢はすごいですね。Attenuation)」について調べてみるとこんなページがありました。(サウンド減衰)の使い方についてhttp://pafuhana1213.hatenablog.com/entry/2015/03/30/004003まさにこれでした。サウンド減衰とはこんな感じのことです(抜粋)「カメラから遠い音源からの音は小さく、近い音源からの音は大きく聞こえる」ようにする機能です。3Dサウンド(カメラから右にある音源からの音は、右から聞こえるなど)を有効にすることもできます。簡単に言うと、音源の位置を耳で把握させる機能です。臨場感が増すので、とてもオススメできる機能です(VRでは特に効果的です!)。(サウンド減衰)」アセットの設定の方法について。(サウンド減衰)」アセットを作成します。(サウンド減衰)」アセットが作成されます。これでアセットが作成できました。Location」ノードに設定してあげましょう。(サウンド減衰)」アセットのパラメータの説明を。(フォールアウトが発生する距離で)というわけで上記のパラメータをいじると割といい感じになりました。公式ドキュメントはこちらに。「サウンドの減衰」については形状やアルゴリズムについて書いてあるのでどういう減衰をするかのイメージをするのに役に立つのかなと思います。注意点としてこんなことも書いてありました。値の間で音量がフェードします。Location)SEを座標指定して再生する方法です。3D空間でSEを鳴らすときなどに使えそうです。こちらのサイトを参考にさせていただきました。Location」ノードを使います。「Sound」には、WaveファイルなどのSEアセットを指定します。「Location」には座標をワールド座標系で指定します。「Rotation」には回転をワールド座標系で指定します。Multiplier」は音量に掛ける係数です。1.0でそのままの音量で再生されます。Multiplier」はピッチに掛ける係数です。1.0でそのままのピッチで再生されます。Time」はSEアセットのどの時間から再生するかを指定します。1.0を指定するとSEアセットの1秒目から途中再生されます。Attenuation」アセットを指定します。これについては後述で説明します。Settings」についてはよくわかりませんでした。Concurrency」についてだと思うのですが、そのうち詳しく調べてみたいですね。公式ドキュメントはこちらに。Locationhttps://docs.unrealengine.com/latest/INT/BlueprintAPI/Audio/PlaySoundatLocation/index.htmlSEアセットとして指定するものはアセットにWaveファイルなどを登録することで指定できるようになります。参考にさせていただいたサイトにあるファイルを登録するとこんな感じですね。Location」ノードにいろいろ設定してきましたが、どうもこれだけでは特に位置を変えても鳴り方は変わりませんでした。Attenuation(サウンド減衰)」アセットを渡してあげないといけないようです。Attenuation(サウンド減衰)」についてメモしようと思います。型の変数(0.45678など)の値を%表示文字列に変換する方法です。みつまめ杏仁さんのサイトでこんな記事がありましたので参考にさせていただきました!・UE4でパーセント表記http://limesode.hatenablog.com/entry/2016/11/24/004724UE4ではこんなノードも用意されてるんですね。Percent」はFloat型の値を%表示の文字列に変換します。公式ドキュメントはこちらに。Percent」のノードは結構な数のオプションがあり、それらを変更することで有効桁数や表示形式などを変更することができます。以下、オプションはこんな感じになります。「Value」は表示する数値です。今回は「1234.560」という値を指定するようにしてみます。Mode」は数値を丸めるルールです。あるのでまた今度ということで。Grouping」は数値を特定の桁数ごとにまとめるかの指定になります。チェックを入れた場合はこんな感じで表示されます。Digits」は整数部の最小桁数になります。これを2以上にすることで「%02d」などと同じ表現ができます。Digits」を4に指定したときです。Digits」は整数部の最大桁数になります。大体デフォルトでよさそうです。この後の二つはちょっと自分としてはわかりづらかったところです。Digits」は小数部の最小桁数になります。最小桁数なのでデフォルトでは0が入っています。3をしているすると、強制的に少数点第三位まで文字列が作成されます。Digits」とほぼ同じような挙動になるのですが最大の違いは末尾の0が表示できるというところでしょうか。こんな感じで末尾の数値が0でも文字列として変換されます。値が何であれ強制的に小数の桁数分文字列を作成するといったものです。Digits」は小数部の最大桁数になります。最大桁数なので、3を指定すると少数第三位まで最大で文字列が作成されます。末尾が0の場合は文字列として作成されなくなります。Percent」はFloat型の数値から%表示系の文字列への変換で結構な便利オプションが用意されているので、いい感じに使えると思います。(float))ツイッターでこういうやりとりを見かけたのでメモです。Text(float)」について調べてみました。Text(float)」はFloat型の値をText型に変換します。公式ドキュメントはこちらに。Text(float)」のノードは結構な数のオプションがあり、それらを変更することで有効桁数や表示形式などを変更することができます。以下、オプションはこんな感じになります。「Value」は表示する数値です。今回は「1234.560」という値を指定するようにしてみます。Mode」は数値を丸めるルールです。あるのでまた今度ということで。Grouping」は数値を特定の桁数ごとにまとめるかの指定になります。チェックを入れた場合はこんな感じで表示されます。金額の表示などに使えそうですね。Digits」は整数部の最小桁数になります。これを2以上にすることで「%02d」などと同じ表現ができます。Digits」を6に指定したときです。Digits」は整数部の最大桁数になります。大体デフォルトでよさそうです。この後の二つはちょっと自分としてはわかりづらかったところです。Digits」は小数部の最小桁数になります。最小桁数なのでデフォルトでは0が入っています。3をしているすると、強制的に少数点第三位まで文字列が作成されます。Digits」とほぼ同じような挙動になるのですが最大の違いは末尾の0が表示できるというところでしょうか。こんな感じで末尾の数値が0でも文字列として変換されます。値が何であれ強制的に小数の桁数分文字列を作成するといったものです。Digits」は小数部の最大桁数になります。最大桁数なので、3を指定すると少数第三位まで最大で文字列が作成されます。末尾が0の場合は文字列として作成されなくなります。Text」は数値から文字列への変換で結構な便利オプションが用意されているので、いい感じに使えると思います。Text」は型ごとにこんな感じで存在しているのでいろいろと使えて便利そうですね。Text)画面やログへのデバッグ文字列の表示方法です。String)http://kagring.blog.fc2.com/blog-entry-120.html上記の「Text」版ですね。「String」型のものは上記ページで説明しています。Text型について触れることがあったので別途作ってみました。Text」ノードを使うことでこんな感じで画面に文字列を表示することができます。ノードはこんな感じになっています。内容を表示しています。Screen」で画面に表示。Log」でログに表示。「Duration」は表示する時間。することで、そのフレームだけ表示することができます。公式ドキュメントはこちらに。Texthttps://docs.unrealengine.com/latest/INT/BlueprintAPI/Utilities/Text/PrintText/index.html「String」と「Text」をうまく使っていくのがよさそうです。いうサークルでゲーム制作している雑用担当です。初心者ですが勉強用にブログを作ってみました。UE5/UE4記事の目次はここにあるので見てみてください。