auです。 今日は、スワップという用語について調べました。 スワップとは スワップとは、上位メモリが足りない時に、下位メモリに移すことです。 上位メモリにいくほど、メモリアクセスは早くなり、下位メモリになるほど、メモリアクセスは遅くなります。 上位メモリなほど、容量は少なく、下位メモリなほど、容量が多いです。 上位メモリがいっぱいになると、下位メモリに移動します。この動作をスワップといいます。 上からレジスター→キャッシュ→メモリ→ディスクとなります。
auです。 割と久しぶりにUE4に触った気がします。 今日は、以前に「コインを取得する」というイベントを設定しました。しかし、ゲームによっては普通のコイン、大きなコイン(複数枚手に入れることができる)もあります。これを実装する際に、毎度毎度イベント関数を作っているとものすごく時間がかかってしまうため、サブルーチンを作って対応できるようにしました。 「AddCoin」という関数に「Num」という入力を一つ作り、これを1にしました。この「Num」は、普通のコインを取得した際に1枚ずつ増えていきます。 あとは「Num5」などといった入力を複数作れば、それをノードで繋げるだけで簡単に「大きなコインを取得する」というイベントを作れます。 このように、同じような動作をする(今回でいうと「コインを取得」というイベントは変わらず、枚数だけ変わる)というのは、サブルーチンを活用して実装していきたいと思います
auです。 今日はUE4の関数の純粋化(Pure関数)について勉強しました。 関数の純粋化とは UE4でブループリントで関数を作った場合、必ず実行ピンがついてしまいます。 これがあると「不純な関数」となってしまい、もしも、実行ピンから繋げなくてもいいのに繋げてしまった場合、実行順通りではない結果になってしまうかもしれません。 順番を間違えないために、実行ピンを使わない関数は「純粋な関数」にすると間違いが少なくなります。 ブループリント画面を開き、関数をダブルクリックして移動します。 「詳細タブ」に移動し、「純粋」にチェックを入れます。 イベントグラフを見ると、実行タブがなくなっているのが確認できると思います。
auです。 今日はUE4のコインの枚数を使ってif分岐を実装してみました。 コインの枚数を1枚以上取得している状態でvキーを押すと、DropCoin関数が呼び出され、コインの枚数が1枚だけ減ります。 前回、コインの枚数が常に表示されるようにしたので、すぐに確認をすることができました。 vキーを押してコインを減らす動作はレベルブループリントで実装することで、他のレベルではこの動作が起きないようにしました。
auです。 テスト前なので「ほえ〜」って思ったことを書こうと思います。 大学の講義などで、WireSharkを使うことがあります。 これは、通信しているパケットの様子を観察できることのできるすごいやつです。 最近知ったのですが、WireSharkでは、パケットを勝手に解析してくれて、細かいところまで提供してくれているということを知りました。 以下の画像は、TCPヘッダオプションです。 Wikipediaより: Transmission Control Protocol - Wikipedia ここでは、Windowsize(ウィンドウサイズ)が16ビットだよーということしか分からないのですが、Wiresharkを通すと、その中ではさらにこうなっているんだーということまで教えてくれます。 実際のキャプチャしたデータの例 ほえ〜。
auです。 今日は、グラフィック表現の一つである、パーティクルシステムについて調べました。 パーティクルシステムとは パーティクルシステムとは、炎や爆発、雲などを大量の2D画像を生み出し、アニメーションをつけることで3D空間上に表現する方法です。 小さな点をそれぞれ動かし、燃え上がる炎などを再現しています。めちゃめちゃ重そう。 Unreal Engine4でも、パーティクルシステムのモジュールは充実していて、再生時間やループ回数などの指定も簡単にできるようです。 UE4でナイアガラを使おうかなーと調べていたら、意味は知らないけど、聞いたことのある用語だったので、これを機にデザイン系の知識もつけていければいいなと思います。
auです。 今日はUE4のブループリント関数ライブラリとブループリントマクロライブラリを主にやりました。 関数ライブラリとは、関数をまとめたカタログのようなもので、他のブループリントで簡単に呼び出して使用することができます。 マクロライブラリとは、関数ライブラリと同じように、マクロをまとめたカタログのようになっていて、簡単に呼び出して使用ことができます。 マクロライブラリは、親クラスを指定する必要があるので、「Actor」を指定すればアクタ系のクラスで使用することができます。「Object」を指定すれば、オブジェクト系のクラスで使用できますが、アクタ系のクラスでは使用できなくなるので、作り分ける必要があります。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く