俺にはできないUE4(UE4休止中)

Unreal Engine 4でゲームを作ったりする備忘録だったり、ただの日記だったりする

心を亡くすと書いて忙しいというやつ

 仕事が忙しいので、趣味でUE5を触ってブログを書くことはおろか、イカもろくにやれぬ。いやまあやろうと思えばやれるんだろうけど、心身を回復するので精一杯。趣味のプログラミングや文章書きでMP回復できる人マジすごい。俺は死んだ目でWEB漫画を見るくらい。

 幸い今の仕事は割と向いている方ではあると思うので、ツイッターで働きたくないでござる働きたくないでござるとつぶやきつつも、集中モードに入ってしまえば割とやり続けられる。でも複数人と並行してコミュニケーションするのだけはつらい。一人でもつらい。消費MPが高い。ベホマズンくらい高い。でも効果はラリホーくらい不確定だ。

 ちなみに作業に没頭する時は、この曲をひたすらリピートしている。

www.youtube.com

ORESAMAのドラマチック。動画も歌も80年代風味と現代が混ざり合って最強に見える。実際、俺には最強なので問題ない。人生の方はまったくドラマチックではないが、ドラマチックなのは疲れそうだから、それでよい。

2022年にヨドバシドットコムで買ったもの

 2022年も終わるので、ゲームや食料品以外で買ったものを挙げてってみる。リンクはヨドバシなのでアフィリエイトもなければ画像も無い。

 

生活編

靴下サプリ まるでこたつ足首ウォーマー

購入時価格 1,650円

買ってよかった度 ★★★★☆

 はてブでホッテントリ入りしてた靴下のレッグウォーマー版。自分は手汗や足の裏の汗をかきやすいのでこちらに。これを履いてれば裸足でフローリングをぺたぺた歩いて大丈夫という事はさすがに無いのだが、布団だったり暖かめ素材のスリッパなどに足を突っ込んでる状態だとかなり暖かい。夜寝るときにも足が寒くてつらいという事が無い。なんなら血液が足で冷えないせいか、胴体部分が暑くなりすぎて汗をかく。

 欠点といえば、たやすく毛玉が付いて見栄えが悪いくらいだが、家の中でしか履かないので特に支障はない。素材はアクリルと毛なのでお手入れは面倒臭そう。一冬越したらサヨナラかもしれない。

NW-VD10-WA [IH炊飯ジャー 5.5合炊き ホワイト]

購入時価格 20,000円

買ってよかった度 ★★★★☆

 象印のやや低価格帯炊飯ジャー。ごはんは毎食炊かず、まとめて炊いて冷凍しているので、冷凍したものの評判が良かったこれにした。最初は奮発して5~8万くらいの価格帯にしようかと思っていたのだが、高めの製品を買う人は冷凍しないのかもしれない。まだ数えるほどしか使っていないが、以前使っていた同価格帯の物より炊きたて・解凍後のどちらももっちり目でうまい気がする。

QLV01002 [18-8レンゲスプーン 穴明]

購入時価格 366円

買ってよかった度 ★★★☆☆

 ステンレス製の穴あきレンゲ。塩分を控えたいお年頃だが、冷凍タンメンなどのお世話になっているので、野菜などの具を残さず、スープを余分に飲まないために購入。持ち手はさほど熱くならないが、スープに沈む部分はそれなりに熱くなる。食べられないほどでもないが。

CY001BL [サイクオ フットポンプ シングル 踏みマッチョ! (ブルー)]

購入時価格 1,310円

買ってよかった度 ★★★★☆

 なんかトレーニング器具みたいな名前だが、自転車の空気入れ。足踏み式なので楽。ついでにエアダスター的にも使えなくもない。空気圧も調整出来るし、収納時にコンパクトなのもよい。

HC5690/60 [ヘアーカッター 5000シリーズ シルバー/ブラック]

購入時価格 8,980円

買ってよかった度 ★★★★☆

 フィリップスのコードレスタイプのヘアカッター。と言っても自分はもっぱら坊主頭なので、ツーブロック用の2mmコームを使用。この製品を選んだのも、さらに低価格帯だと短めのコームかつコードレスが無かったからだった気がする。フィリップスのは他社製と違ってオイルによる手入れ不要なのもよい。まあその分寿命が短いのかもしれないが、大抵カッター部分以外が先に壊れるしな。

趣味編

PCG03-020 [Switch用クラシックプロ コントローラー レッド]

購入時価格 3,550円

買ってよかった度 ★★★★☆

 Switch用プロコンの代用品。YesOJO Japanという知らないメーカー製(多分、中国)。本物を触ったことが無いので違いは分からないが、特に困りはしない。気持ち、振動機能が強い気もする。ケーブルも付いてるので本体に繋げば充電可能。気になるのは耐久度だが、まだ1か月しか使ってないのでその辺は何とも言えない。ひとまずスプラトゥーン3に飽きるまで壊れなければヨシ。スプラトゥーンを純正コントローラーでTVモードプレイするとしばしば無線接続が切れてイカちゃんがぼけーと空を向くので、それが無くなっただけでありがたい。

32GN600-BAJP [31.5型 LG UltraGear WQHD(2560×1440)@165Hzゲーミングモニター

購入時価格 38,800円

買ってよかった度 ★★★★★

 LG製のゲーミングモニター。1677万色で輝いたりはしない。グラボに合わせてモニタも新調。フルHDを2台並べるのも地味に面倒なので、WQHD1枚に使用という事に。結論から言えば便利だ。Windowsの方でウィンドウ配置を画面3分割や4分割にしても見やすくてよい。HDRも対応しているらしく、サイバーパンク2077で見比べて見たが、「なんか……美しい……ような?」くらいであった。目が肥えておらぬ。

3B4020 [腹筋ローラー 静ゴロー]

購入時価格 1,070円

買ってよかった度 ★★★★☆

 いわゆるひとつの腹筋ローラー。筋トレが趣味分野か生活分野化は意見が分かれるところであろう。静穏性が売りらしいが、少なくともヨガマットの上で使う分には音はしない。貧弱になりきった我が腹筋であったが、これのおかげで多少は回復した。ガチの人でなければ膝をついた状態での使用で十分である。ネット知識によれば、へそを見るように使用すると腰に負担がかかりにくくなるらしい。

UE5でイカのゲームを作る_2

 イカのゲームらしきものを作る続きだ。前回は弾を撃てるとこまでやった。今回はイカ変化のところを作ってみる。と言っても勿論イカのモデルなんて用意してないので、機能面でそれっぽくなってればいいことにする。

 とりあえず自機の状態について記憶させておきたいので、それ用のパラメータを作っておく。遥か古の時代のようにIntegerに1が入ってたらアレで~というのでもいいのだが、UE4にもちゃんと列挙型があるのでそれを使ってみる。コンテンツブラウザ+追加か、コンテンツブラウザ内の適当なとこ右クリックしてブループリント列挙型で列挙型を作る。名前はEnum_PlayerModeとでもしておこう。作ったEnum_PlayerModeを開いたら+列挙子を追加でエニュメレーターのとこを3行分作って、それぞれHuman, Ika_NotSenpuku, Ika_Senpuku としておこう。今回はセンプク出来るとこまでやらないが、必要になるというか無いとイカにならないしなー。説明部分は無くてもプレイ中には影響しないが、自分の記憶は当てにならないので書いておく。なんならこのブログ記事も当てにならぬ脳のための外部記憶だ。

 

 列挙型も作ったので、それを覚える変数も作ろう。今回もブループリントは自機であるところのBP_ThirdPersonCharacterを開いてそこに突っ込んでおく。BPを開いた中のマイブループリント変数があるのでそこのを押して変数を作る。名前はPlayerModeにしておく。作ったPlayerModeを選択し、詳細変数の型のところでEnumEnum_PlayerMode(さっき作ったやつ)を選ぶ。デフォルト値はHumanにしておこう。

 そしたらイベントグラフにモード切替を追加する。左クリックが攻撃なので、イカになるのは右クリックでよかろう。マウスの左ボタンイベントのノードを追加して、押したらPlayerModeIka_NotSenpuku、離したらPlayerModeHumanになるように、それぞれSet PlayerModeを配置して繋ぐ。

 

 勿論これだけじゃ実際に形態変化するわけじゃないので、PlayerModeに合わせて変化させる。今度はイベントグラフにイベントイベントTickのノードを配置する。このイベントはボタンを押したりした時じゃなく、毎フレーム自動で呼ばれる。で、このノードにスイッチノードを繋げ、PlayerModeの内容に合わせて分岐させ、形態に合わせてモデルを切り替える……のは出来なくはないが今回は自機のスケールを切り替えて表現してみる。

 1フレームで切り替わると一瞬すぎるので数フレームかけて切り替わるようにしてみよう。それ用の変数を作る。名前はPlayerTargetSalceとする。変数の型Vector。で、各形態ごとにSet PlayerScaleIkaNotSenpukuIkaSenpukuZ0.4にしておく。他とHumanは全部1

 その後、コンポーネントにあるCharacterMovementをドラッグ&ドロップでイベントグラフ内に配置して、それに対して各形態ごとにSet MaxWalkSpeedで最大速度を変更する。Human500IkaNotSenpuku250IkaSenpuku1000としておく。

 さらにその後は、先ほど設定したPlayerTargetScaleに合わせて自機の実際のスケールを変更する。Get PlayerTartgetScaleで取得した数値(Vector)をXYZそれぞれ0.5倍したものと、現在のMeshのスケールを0.5倍したものを足し、Set WorldScale3D(Mesh)Meshのスケールに設定する。Set ActorScale3Dでも見た目のスケールは変わるのだが、このActor全体のスケールが変わるので、マウス右ボタンを連打するとコンポーネントのところにあるカメラと自機の距離も高速変化してしまい、大変気持ち悪くなる。



 形態変化を追加したついでに、Human形態でしか弾を撃てないようにしよう。と言っても、前回作った左クリックで弾を撃つ部分の最初のところに、先ほどと同様にPlayerModeスイッチさせ、Humanの時しか後に繋がらないようにするだけ。

 

 さて、プレイしてみよう。マウスの右ボタンを押していると自機がちっさく遅くなり、右ボタンを押したまま左ボタンを押しても弾は出ない。センプクはまだインクが無いので当然無理だ。前回に比べて手間は増えたが見た目はパッとしないな。果たして最後まで作ることは出来るのだろうか。

 

僕は食生活が貧しい

 一人称は僕ではないのだが、特に意味もなく、はてなブックマークでもちょくちょくホッテントリ入りする僕の心のヤバいやつのサブタイトル風にしてみた。

 そういうわけで非常に食生活が貧しい。金を使う事は可能だが、手間のかかった料理(元々あまり料理をしない人間が基準である)をする気になれず、出前を取るのも嫌いなので、まともな料理を食べようと思うと外食かスーパーで総菜を買いあさるしかない。それも結局面倒になり、最近は概ね次のパターンを週に1~2回買いだめするようになった。

 

朝 カルビーのフルグラ 低脂肪牛乳
  作り置きしている半熟味玉
  たまにその時買ってあったウインナーかチキンナゲット

 

昼 月・火 堀川のおでん8種16個入りのやつを2日に分け、
      片方は付属のおでんスープ、もう片方はヒガシマルうどんスープ
      それぞれに冷凍うどんを入れて、おでんうどんにして食べる

  水~金 トップバリュの冷凍ごはんセット(こんな感じの悲しいやつ

      ※昼はリモートワークの昼休憩なので、楽さが最重要視される
       おでんは冷凍うどんのレンジが終わるまで鍋を火にかけ放置するだけ

 

夜 食欲がある時 ニッスイの冷凍タンメンか冷凍ちゃんぽん

  食欲がない時 袋サラダに豆腐と半熟味玉を乗せて適当なドレッシング

 

 平日はこれでほぼ固定だ。びっくりするほど代り映えがない。足りないビタミンはデルモンテのトマトジュースと青汁が一手に引き受けている。気休めなので早々にガタが来そうだ。実際、脳へ既に来ている結果のこれかもしれない。タンメンとちゃんぽんのスープは穴あきレンゲを駆使して飲まないのが、せめてもの救いである。

 土日祝日になると、近所で外食したりもするのだが、外へ出るのが面倒で残っている平日分のいずれか、またはスーパーへの買い出しの際の弁当やパック寿司になるのが大半である。

 侘しい。侘しすぎる。昼は手間を省くために粉タイプの完全栄養食にしようかとも思ったのだが、定期的に宅配を受け取るのが面倒という人間嫌いが発揮され、こんな形になっている(スーパーの買い物と違い、こちらの好きなタイミングでないのが特に面倒だ)。トップバリュのおかず一品+野菜の切れ端な冷凍弁当と、粉の完全栄養食、どちらかが人間らしい食事かは分からぬ。人間嫌いに人間らしい食事を求めるのがそもそもの間違いかもしれない。

 手間をかけずにもう少し豊かな食事をしたいものである。手間をかけずに。

UE5でイカのゲームを作る_1

 せっかくグラボをRTX 3080にしたのでUE5を触ろうという事になった。が、ほんのちょっと触ってみただけだと、グレイマンがグレイウーマンというか中性的やや女性よりになってるゥーとか、デフォだとCtrl+Spaceを押さないとコンテンツブラウザ出てこねーの不便だな、とかそのくらいしか感想が出てこない。ついでにクリエイティブな欲求がゴリゴリ出てくるわけでもない。そんなの出てきてたら俺は今頃インディーゲームクリエイターだ。

 自分が才気あふれるクリエイターでない現実は受け入れるとして、ちょっとした目標が無いと何も作れないので、差し当たって世間で流行っているイカのゲーム、即ちSplatoon的なものを作ってみようと思う。勿論ちゃんとしたゲームでなく、なんかインクを撃って、地面や壁を塗れて、高速移動したり壁登り出来るような感じになってればよしとする。ネットワーク対戦? 無理を言うな。

 

 そういうわけで、新規プロジェクトをゲームサードパーソンで作る。C++をやるのは面倒なのでとりあえずデフォルトのブループリントで、アセットを自分で用意するのも面倒なのでスターターコンテンツもアリのままでプロジェクト作成。

 サードパーソンで作成したプロジェクトは、そのままでもプレイヤーキャラをWASDキーで移動、Spaceでジャンプと操作できるのはUE4から変わらずのようだ。まずは弾を撃てるようにしよう。

 そういうわけで弾のBPを作る。コンテンツブラウザ右クリックか、コンテンツブラウザ左上+追加ブループリントクラスを選択。種類はActor、名前はブループリントで主人公の弾なので、BP_Bullet_Playerとかでいいだろ。PlayerBulletだとEnemyBulletと並べた時に見づらいぞって、桜井さんが心の中のYouTube動画で言ってた。

youtu.be

 

 Actorとして作ったBPは見た目も何にも無いので、まずは弾っぽい外見を作る。BP_Bullet_Playerを開いて、左上の方にあるコンポーネント+追加のスタティックメッシュを追加する。そのままだと真ん丸であまりかっこよくないので、トランスフォーム拡大・縮小(Scale)をX 0.2YとZは0.1にしてそれっぽくしておく。この辺は完全に好みだ。デカくても真ん丸でも別によい。

 

 そのままでは画面に出しても重力で落下するだけなので、同じくコンポーネントの追加でProjectileMovementも追加する。これじゃなくてもいいのかもしれないが、ひとまず動いたのでヨシとしておく。事故で人が死ぬわけではないので速度優先だ。追加したProjectileMovementのプロジェクタイルInitialSpeedが初速なので、これを仮で2000としておく。これも好みでよい。UEの距離の単位はcmなので、2000だと多分秒速20mということだろう。これで弾はひとまず完成。そのうちコリジョンなどもデフォルトのままでなく細かく設定しないといけなくなるだろうが、ひとまず撃てるようにするのを優先。

 

 さて、弾はひとまず完成なので、次は弾を撃つ入力判定だ。サードパーソンのデフォルトで入っている'/Game/ThirdPerson/Blueprints/BP_ThirdPersonCharacter'に移動時の判定が入っているので、ついでにそこに書き足してしまおう。動けばよかろうなのだ。BP_ThirdPersonCharacterを開き、ビューポートなどが表示されているならイベントグラフタブを選択。Camera Input - Gamepadなどコメントと共に色々インプット設定があるので、それを避けて適当なところにマウスイベントマウスの左ボタンを追加。pressedから、ゲームクラスからアクターをスポーンしますを選択。出てきたノードのClassのところを先ほどのBP_Bullet_Playerにすると、これでクリックするたびにBP_Bullet_Playerが速度2000でスポーンすることになる。

 が、そのままだとプレイヤーがどこでクリックしようが、ワールド座標 0, 0, 0から弾が出るという謎仕様になるので、このBP(BP_ThirdPersonCharacter)のトランスフォームを流用しよう。プレイヤーの座標そのままだと、プレイヤーの股間から弾が射出されて、プレイヤーが弾に押し出されるという珍現象が発生するので、弾の発生位置はプレイヤーの進行方向少し前、少し上にする。というのをやると以下の画像のような感じになる。俺は先生ではないし、お金ももらっていないので詳しく説明はしません。適当にやって下さい。

 

 各BPを編集したら、コンパイルと保存を忘れずに。そういうわけで、プレイ中に左クリックを押すと弾が飛ぶようになった。都合により壁は貫通するが、その辺に置いてある青いブロックは当たり判定があるので、思う存分跳ね飛ばすなどしてほしい。弾の軌道や射程は、イカ基準だとデュアルスイーパー~ジェットスイーパーといったところだろうか。正直ここまでならUE4でも大差ない。疲れたので今回はこれで終わる。このまま続かなかったら、君の手で完成させてくれ!



胎界の主だったり超高速悪役令嬢だったりSFバディアクションだったり

 精神的に弱っていたので日記をお休みしていた。いや、肉体が弱ったから精神が弱ったのか。いずれにせよというよりも、元気なところで書くネタは無かったのだ。致し方なし。

 ともかく、日記を書こうという強い意志が無いと日記が書けない。朝起きて朝食を食べたらリモートで仕事をし、昼食を食べて仕事をし、夕食を食べてイカやって寝る。あとWeb漫画を見る。仕事は機密で書けないので、意識しないと本当にネタが無い。しかしまあ、Web漫画は見ているのでおススメでも書くか。

 

  • 胎界主

    www.taikaisyu.com

    連載中。いきなり濃いし出版社で運営してる作品じゃないけど、面白いから仕方ない。なんか色々と並んでいるけど、下の方の01 使い魔と書いてあるところをクリックして、あとは流れで。最初のうちは専門用語など意味が分からないし、主人公は変なヤツだし、絵もなんか独特だが、読み続けると面白くなってくる。特に第二部終盤は平日に読むのは危険。土日に読んでも時間が溶けるので危険。

  • 悪役令嬢の中の人~断罪された転生者のため嘘つきヒロインに復讐いたします~

    https://comic.pixiv.net/works/7926
    連載中。タイトル通りの異世界というかゲーム世界転生の悪役令嬢モノ。やがて世界を破滅に導く悪役令嬢レミリアに転生した現代人エミは、不幸な生い立ちのレミリアに幸せになってほしい大ファンだった。やがてエミの前に正ヒロインが現れ……。今のご時世、そういった作品が溢れかえってもう飽き飽きかもしれないが、むしろそういう人向き。何しろ非常にテンポが早い。単行本5巻くらいになってもまだ序盤だなーという雰囲気のなろう原作漫画に比べると圧倒的に早い。まだ10話になってないけど、もうクライマックスじゃねーのという。原作読んでないから実際どのくらいかは知らんが。あと絵も魅せ方もうまい。

  • 東京入星管理局

    comic-medu.com

    連載中。衝動&暴力SFバディアクションという公式のコピーがあるが、まあ大体そう。人々の知らない間に異星人が来訪している地球にて、女子高生で入星管理局のエージェントのラインとアンのコンビが、密入星者を逮捕したり肉塊に変えたりするメンインブラックなSFアクション。まーもちろんタダの女子高生ではないのだけど。設定まみれなので、士郎正宗作品の欄外コメントを眺めて楽しむタイプのおっさんも安心。あと、同作者がAmazonで無料配信しているサイバネ飯も面白い。

    www.amazon.co.jp

 

 こういうのは一度に大量に書いた方が喜ばれるのだろうが、はてブホッテントリに入りたいわけでもないのでとりあえず3つ。日記だしな。おやすみ。

希望も足りない

 希望が無いと死にたみが出てくる。希望はこの場合、未来はよくなるぞーってやつ。現実の仕事とイカのゲーム内バイトの両方が同時ちょっとうまくいかない程度で希望が失われる。

 あと想定してた未来との落差も。俺は楽天的かつ幸運なので、たまにうまくいかないとダメージが大きい。なんだそれ甘えんな。少ない能力値の大半を幸運に振ってる分、防御力が低いのだから仕方がない。

 長時間寝れば治るだろう。おやすみなさい。