大沼怜生
https://scrapbox.io/files/626272eda23626001d0b1991.png
mast3年です。
プログラミング経験は授業でやったのが全てです。開発経験なんざありません。
個人的にさわってるUE5を深堀してみるかprogate辺りを使ってpythonとかCとかの勉強するか。
どっちにしようかは悩んどります。
何ならどっちもやってみて―と思っとります。欲張りさんですね。
……どんどんおしりに書き足すと最新記事読むためのスクロール量増えるよね。後から気づいた。
ジャンプ
……もっといい方法あるはずだよなぁ
4/27
わかっちゃいたけどUE"5"に関する資料は少ない。そりゃ正式版リリースされてから1か月たってないし。
ただUE4の資料がだいたいそのまま使えそうかなって感じ。あくまで「だいたい」。
ThirdPersonTemplateを弄る形でやってるけどグレイマン周りが結構UE4から変わったなぁという印象。
とりあえずもっとノードの種類知ってBPでの翻訳技術を身につけたい。モノ作ってく過程で知ってくものなんだろうけども。
キャラへの攻撃(みたいなもの)をoverlapでとるかhitでとるかは状況によるのかなぁ。基本はhitでとった方がいいんだろうけど。
仮にhitでとるとしてblockで吹っ飛びすぎる時はどこ調整すればいいのか。
アクター消すのってvisibleの再設定とdestroyActor以外に何があるのかな。
progate webコマンドライン終了
progate webRuby学習レッスンⅠ、学習レッスンⅡ、学習レッスンⅢ、学習レッスンⅣ終了
やっぱみんなUnityなのかなぁ。Unityの方が色々と小回り効きそうだもんね。Unity触った事ないけど。
4/29
相変わらず書き殴っていきますぜ。
前回以降UE5はちょっと触れてないな。今までやった事を振り返る目的でコードの読み直しはやってみた。
UE5から追加されたMotion Wrappingが優秀過ぎる。アクションのテンポとか難易度がわりかし簡単に調整できそうだぞこれ。BPで地道にアニメーション再生速度調整とかしてもいいんだろうけどこんな楽な機能知っちゃったらさぁ……(よくない)。
今のところ気がかりなのはMotion Wrappingが実験段階のプラグインだってことくらい。ベータ以前のバージョン0.1。お願い消えないで……。
UnityはC#ですか。CとC++は触ったことあるけどC#ってやったことないなー。
(ちなみにUEはブループリントとC++とのこと。ブループリントがC++ベースで書かれたビジュアル言語なのかな?)
------FeedBack------
宮本凜.iconUE画面がきれいになるって噂だからなんかすごそう
azami.icon
ぜんぜん文字ばっかりでいいんだよーー
Rubyいいっすね!!
unrealエンジン初めて聴いた
chiemi.icon ほほう。授業でやった言語を固める。そのアプローチもいいね
unrealエンジン私も知らなかった。調べよう〜。
------FeedBack End------
やっぱりみんなUnityじゃないかあああああああああああああああ!!!!!
なに?やっぱり軽い方が好きなの?確かにUEちょっぴり重いけど!私も軽い方が好きだけど!
Unityの知識使えるし操作感もUIも似てるしUE覗いてみない?Unityよりプログラミング簡単だし。
……こほん。今後は1週間に1言語くらいのペースでprogate進めつつ今まで通りUE勉強していこうかな。
あと覚えてたらUE5の画面もコピペします。覚えてたら。忘れてなければ。
progate webRuby終了
5/2
いっつもThirdPersonTemplateを弄ってる。レベルをイチから作るのはまだ無理っす。
テンプレートのグレイマン(UE5から女性っぽくなったけど)に2段ジャンプ(空中ジャンプ)機能を実装してみる。
デフォルトだとインプットアクションJump(大抵スペースキー)を押したらJump、離したらStop Jumpingなので押したときにちょっと細工を加えればいけそうかな。
https://scrapbox.io/files/626ff45cac2a1500231d0cdf.png
なんとBP_ThirdPersonCharacter(Self)のJump Max Countで最大連続ジャンプ回数が設定できるという。試しに2に設定したら確かに2段ジャンプした。空中でもジャンプした。でもなんかジャンプ時の挙動が思ってたのと違ったので加工開始。
まずJキーで2段ジャンプ機能のオンオフを切り替えられるようにして、ついでにUIに現在の状況を表示するよう設定。Jキーを押す度にJump Max Countが1か2かになるってだけ。
https://scrapbox.io/files/626ff3277349ec00234e5355.png
Jump Max Hold Timeでジャンプの長押し入力(マリオみたいな)に対応できるらしい。
Is Fallingで空中にいるかを(ざっくりと)取得できるのでTrueなら値を増やしてFalseなら0に。これで空中でのジャンプだけ長押し入力で高く飛ばせるようになった。
https://scrapbox.io/files/626ff5b97d4c870023b76e21.png
あと空中でジャンプすると落下時モーションのまま上がるだけだったのが気になったので改造。Fall LoopからJumpに遷移する条件がなかったので追加。これで空中でスペースキー押したときにもちゃんと宙を蹴ってくれるようになった。
これで一応Jump Max Count増やすだけよりは綺麗な2段ジャンプが実装できた。けどアニメーションBPでモーションの遷移を設定してるから本来やろうとしてたこととはちょっと違う。具体的にはスペースキーを高速で2回入力するとJumpモーションが終わってFall Loopに遷移するより先に2回目のジャンプが始まっちゃうのでその時だけ宙を蹴れない。
スペースキー押したときにJumpへ強制遷移とか考えたけど、どうにもABPではキーボードからの入力を受け取ってどうこうができないっぽい。Character側のBPで書くしかないのかなぁ。あるいはABP内で自己遷移とかあるのかな。
あとJumpまわりの処理ってプレイヤーのZ速度を一瞬だけ600にするとかだった気がしたからそこ弄ってジャンプ力変えたかったけど分からんでござる。
(備忘録)
UI関係でウィジェットを作成した後Add to Viewportする前に返り値を変数に昇格させておくとUIとのやり取りが楽になる。
この調子で書き込んでたらあとから見返すの大変になりそう。
5/6
https://scrapbox.io/files/6274c6f54d3b7d001d1242d0.png
豚さんです。実験場が寂しいので来てもらいました。これで少しは賑やかになりそうです。
あたかも前回からの進捗のように書いてるけど2段ジャンプ実装以前からこの子いました。以前作ったものを見返して再学習っていう建前です。一応enPiT始まってから作ったものなのでscrapboxに書き込むのが遅れただけとも言えます。言い訳です。
https://scrapbox.io/files/6274c804af07cb001da5c388.png
https://scrapbox.io/files/6274c8109b16e7001d6095d5.png
ただそこにいるだけってのも味気ないからプレイヤーについてきてもらう事にした。豚さんからプレイヤーへのベクトルを取ってきてベクトルの長さ(2者間の距離)に応じて移動速度を変えてみる。遠くにいるのにもたもたしてたらなんかモヤモヤするからね。逆に近すぎるのに問答無用で突っ込んでこられるのもアレなので至近距離なら動きを止めてあげた。あとはベクトルの向き取ってきて豚さんを進行方向に回転させる。これ忘れるとただのスライド移動になる。
https://scrapbox.io/files/6274c96863de06001da63b91.png
https://scrapbox.io/files/6274c9708105d7001d1beca5.png
ついでに攻撃されたときの処理も付けてみた。攻撃の検出自体はプレイヤー側のコリジョンOverlapで拾う多分オーソドックスなやつ。HP変数作って0になったら云々っていうやり方は前に試したけど、「Apply Damage」なるノードがあったので今回はそっちを使ってみる。
「Apply Damage」ノードと「AnyDamage」イベントで変数なしにダメージ値のやり取りができる。すごく楽。今回は一撃入れたら倒れるようにした。テストするたび何回も攻撃するの面倒だったので。爆発エフェクト出して豚さんのアクターごと消した後に樽をスポーンさせてみる。
アクターをスポーン → 移動属性の設定 → メッシュ(ガワ)の設定 → 物理属性の設定
最後にAdd Impulseでスポーン時に上にぴょーんとポップアウトさせてあげた。これを外すといきなり樽が地面にぽつんと出てくるので物寂しい。
これで殴れば爆発して樽をドロップして、遠くにいる時は早く、そこそこの距離ならゆっくりと、近くにいる時は止まりつつプレイヤーについてくる豚さんが完成……してない。確かについては来るんだけど座標移動させてるだけだから豚はホバーボードの如く脚一つ動かさずにぬるりとついてくる。のでアニメーションを設定してあげる。
https://scrapbox.io/files/6274cd4dd1d7d5001d5788be.png
それぞれの状態(ステート)を定義して、ステート間で移行条件を繋げてあげればOK。各ステート内ではシーケンスプレイヤから直接出力してるだけ。これで豚が自分の脚を条件(ここでは自身の速度)に合わせて動かせるようになった。
これでようやくホーミング生肉が完成。振り返りとしてはアクター自身の移動とアニメーションを別に設定してあげる必要があるってところ。各ブループリントで動かせるのはあくまでroot(全ての親)ボーンだけだからモーションに関してはABPやらアニメーションモンタージュやらで別途組まなければならないっぽい。あるいは分業がしやすいともいう。この基礎知識は今後かなり役に立ちそう。
UEってビジュアル言語(がメイン)だから画面コピペしないと何言ってるのか分かんなくなるし、でも画面貼り付けるとそれだけでスペース取るし。うーん。画像サイズを小さくすればいいのかな。
あるいはこうやって長々と書き殴る量を減らすか
5/11
progate webJava学習レッスンI、学習レッスンII、学習レッスンIII、道場レッスンI、学習レッスンIV、道場レッスンII終了
5/13
progate webJava終了
1週間に1言語とは言ったけどGW期間中はprogateサボった手をつけてなかったので2週間空いたのに終わったのは1言語(Java)。一応GW終わった今週にJava着手して今週のうちに終わったのでよしとする。
UEの方は5/2から下ずっと書き殴ってるので……って丸投げは雑ですね。前回のShow&Tell以降やった事といえば豚さん召喚したり2段ジャンプしたりくらい。あとは「特定のボタンを押してゲームを中断しつつ(or中断せずに)メニュー画面を開く」みたいな動作の骨組みも作ったけどこれはまだScrapBoxに書けてないので後で書く。今のところメニュー画面を「開く」事はできるけど肝心のメニュー画面自体がほぼ存在しないと言っていいので宙ぶらりん。本格的にUMGを勉強しなければいけなさそうです。
------FeedBack------
azami.icon
うおprogate課金しているんだすごい
がしがし進めててすごい
unreal engine..!最近ついったで見たんだけどどっかの駅の再現がすごかった
ええ早速豚さんとか実装してるのいいねテンション上がるね
tomoki.icon
Javaだ 渋い
UE 動かないんだよねmyPCで
美味しそう 豚
UE難しそう
動いてるのすごい
ThirdPersonTemplate、初めて知ったんだけど、とても気になる
------FeedBack End------
圧倒的に……ッ!
発表が……ッ!
苦手……ッ!
フルオンライン化によって人と話さなくなった弊害がここに出てくるとは。まぁもとから発表苦手だったけど。
次週はPythonを終わらせようかしら。UEも時間取ってやってかないとなぁ。今更だけど私のUE勉強方針は「こんなモノを作りたい」じゃなくて「この機能を実装するにはどうしたらいいだろう」の繰り返しなので進捗が上手くアウトプットできんとです。んなこと気にせずこれからもサンドボックスを弄りまくっていきます。しょしんひょーめーです。
どのPhaseになるかは決めてないけどいずれコンボ攻撃(っぽいもの)とかも実装してみたいなー。ってか実装したいものはいっぱいあるんだけど技術と知識が圧倒的に不足してる状態。夢が広がるともいう。プロ棋士になりたいけど香車しか駒知らない的な。悲しみ。
5/17
https://scrapbox.io/files/62826d2fa7c3f1001d76d231.png
コンボ……
https://scrapbox.io/files/62826d4c58f8a60022555153.png
攻撃……
https://scrapbox.io/files/62826d6fc1bef50023de32da.png
出来ちゃった……
スクショのセンスがないのは単純にキーが離れてて難しかったからです。撮り直すのが面倒だったからでもあります。
んなこたどーでもいい。数日前に「どのPhaseになるかは決めてないけどいずれ」とか言ってたらもう形になってしまった。モーションアニメ自体は拾い物(mixamo)で単純な3段攻撃。振り下ろしてぐるんって回ってずどーん的な。語彙力。 https://scrapbox.io/files/62826ed6008551001db4e2ab.png
https://scrapbox.io/files/62826edfed696c001dc8261e.png
以前から単発攻撃は実装していたからそれを拡張する形で加工。それぞれの攻撃モーションをアニメーションモンタージュで作成して適当なタイミングで通知を送るように仕組む。その通知を受け取ったタイミングで攻撃ボタンの入力受付開始とかモーションの最後をカットして次のコンボに移行とか。isAttack変数を定義して攻撃コンボ中に再度初撃を始めないように仕込みつつ、他のフラグを折ったり立てたりしてとりあえずボタン連打でもちゃんとした動きはできるようになった。入力タイミングが云々とか難しい話は嫌いです。プレイヤーにストレスが溜まります。少なくとも私は溜まります。
ただクローンが多いなー。実際モンタージュの再生以降はコピペだし。これゲーム内でコンボプラス系アビリティとか考えるとえらい数の条件分岐とかえらい量のクローンコードが出てきそうだぞ。一応実装はできたけどもう少し別の方法を考えた方が良さげな感じ。
元画像サイズ50%にしたのに変わってないのはなんでだろう。もっと小さくしないと効果がないのか、あるいはそもそも効果がないのか。うーん。わからんちん。
5/18
progate webPython終了
progate webHTML & CSS学習レッスン初級編終了
そういや授業でやったPythonってオブジェクト指向ほとんど触れずにwebスクレイピングとかやってたような。BeautifulSoupだっけ。progateやってて思い出した。
5/19
【本日の十割】救世のプラグインGameplay Abilities。
前回のコンボ攻撃の拡張性オワタ問題をどうにかしたいと調べていた結果、どうやら実験段階のプラグインであるGameplay Abilitiesが使えそうだと。非同期に実行するインスタンス化されたオブジェクトである「アビリティ」、及び各アビリティにつけられた「タグ」で処理の分岐やら排他処理やらが柔軟になるとかナントカ。そうと分かれば早速導入。善は急げ。急がば急げ。
「GiveAbility」ノードにアクタで使いたいアビリティのリストを渡してあげた後、「TryActivateAbility」ノードでアビリティを実行。なるほど。試しに攻撃を1段階だけ切り取ってアビリティ化してみる。
https://scrapbox.io/files/62862c9e596d12001d671d87.png
処理自体は前回から変わらずモンタージュを再生して、モンタージュ側で出された通知によって処理を分岐させたもの。ただしタグによって「このアビリティが実行中ならこのタグの付いたアビリティは実行しない」とか「このアビリティはこのタグの付いたアビリティの実行中に入力を受け取ったら実行」とかが設定できるみたい。しかもタグはアビリティ実行中に付けたり外したりできるときた。これはいけるぞ。
https://scrapbox.io/files/62862e1bccdb07001dd12650.png
グレイマン側のブループリントがこんなにもすっきりしてしまった。前は画像2枚でギリギリ収まったくらいだぞ。各攻撃の遷移はアビリティ側でやらせたから、こっちは「入力を受け取ったら条件を満たしたアビリティを実行する」だけで終わってしまった。条件は例えば2段階目攻撃のアビリティなら「1段階目の中で次攻撃の入力可能タグが付く」みたいにした。
諸々を組合わせると「1段階目の攻撃中に次コンボの入力受付開始タグをつける」「1段階目の次コンボ入力可能タグが付いたから実行条件を満たす」「入力を受け取って唯一実行条件を満たした2段階目攻撃のアビリティを実行する」みたいになる。プレイ中の挙動は何にも変わんない。テキトーに連打してもちゃんと動く。
これでコードの見た目はすっきりしたし、コンボプラス系のシステムとか実装しようとしてやいのやいの処理分ける必要もなくなった。だって事前に4段階目以降の攻撃アビリティ作っといてアクタの利用可能なアビリティのリストに好きなタイミングで入れてあげればいいだけだし。もうちょっと勉強すればコンボフィニッシュの設定とかそれ踏まえた上でコンボマイナスとかもいけそう。
今回はあくまで攻撃に絞ったけどマクロな視点で使いこなしたらなんかすごい事できそう。そんな雰囲気がする。だけどそれ故になかなかタグ周りの概念がややこしい。備忘録的な意味で今回は丁寧目に殴り書いた。
今日はそんな救世主Gameplay Abilitiesバージョン0.1を使ったリファクタリングもどきをやってみたって話でした。
5/20
progate HTML&CSSは1回のコースが長いから進捗としてスパッと書ききれない。とりあえず中級編が8まで終わったと。
さてPhase2の振り返り。
progateはwebのPythonを終わらせHTML&CSSに入った。初級編は終わり現在中級編。
UEはコンボ攻撃の実装。振り下ろしてぐるんって回ってずどーん的な語彙力皆無の動きをクリック連打で出来るようにした。でも最初実装した時は拡張性の欠片も無いお先真っ暗コードだったのでプラグインを使ってリファクタリングのような何かをした。別の書き方で実装しなおしたとも言う。
------FeedBack------
tomoki.icon
かっこええ
pythonとUEを並行でやってるのいいね
たくみ
えぐいです
------FeedBack End------
やっぱ実際に動いてるの見た方が早いし伝わるよなぁと。特にUEとか動き合ってなんぼだし。
Phase3なぁ……。今何を実装しようか何にもアイデアないんよな……。progateを進める方の比重が大きくなりそう。
一応グレイマンにもっといろんな機能をつけていくスタンスで進めようと思うけど気分転換にマップとかもやりそう。
高度な柔軟性を維持しつつ臨機応変に学んでいこう。うん。断じて無計画ではない。
これ書く数秒前にPCがプチフリーズして焦った。
5/25
動画を、見た。
それだけ。
5/27
UEのバージョンが5.0.1→5.0.2になってた。アップデートした。n.x.yのyが変わる分にはガンガンアップデートしていい。不具合修正がメインらしいから。
xが変わるときは少し注意が必要っぽい。私が知ってる限りだと4.26と4.27はトラブルがあるとか(主にプロジェクトのUE5との互換性が云々)。
nが変わったら大問題です。UE4とUE5の違いと同じです。他のソフトでもゲームでもバージョンの最初の数字が変わるときって超大規模アップデートじゃん。そういうこと。
アップデート容量は6.43GB。5.0.0→5.0.1のときはどうだったっけ。覚えとらんです。
こういうちまちましたこと書いている理由。うん、そうだね。他に書くことがないんだね。今週は時間取れなかったなー。ってかこれからも時間確保は課題になりそう。
progate webHTML & CSS学習レッスン中級編終了
------FeedBack------
バージョンの変更めんどくさいよね...
動いているのがある!?最高かよ
動いているのすごいです、刺激されま🅂
めっちゃぬるぬる動くしかっこいい...
3Dゲームがすでに動いていて感動
ちなみに目標みたいなのはあります?progateの完走?
ChinoShun.icon UnrealEngineかっこいい
小須田侑暉.icon自分はUnityやってますが1万倍上行ってて唖然としました。
------FeedBack End------
とにかく時間がほしい。UEもっとやりたい。
来週はprogateからいったん離れて評判の良いドットインストールとやらのgitコースをやってみようかな。gitはprogateよりもドットインストールの方がいいって小耳に挟んだし。
(ここだけの話、UE入れてThirdPersonTemplateを開くだけでグレイマン動かす、カメラ動かす、ジャンプの3つが既にできるようになっているから何もプログラミングしないで既にある種のゲームが完成してるのだ)
6/1
もう6月ですかそうですか(絶望)
ドットインストール gitコース終了
progate git学習レッスン終了
ちょっと準備資料読んだだけだとgitで何やってるのかわけわかめだったから勉強しなきゃなと思ったからHTMLを中断してgitに走った。多分もっと分かりやすい説明がゲスト講義であるんだろうけど。
UE触れられてないから禁断症状が出そう。
6/3
「毎週金曜日は更新してたのに6/3は更新してないじゃないか何があったんだ!」
……って後で見返したときに私が思ってしまいそうなのでとりあえず書いておく。この日はゲスト講義だったんだぞ。
従って狭義の自己学習としての進捗はないぞ。内容もないぞ。
6/8
https://scrapbox.io/files/62a037c684bbf9001f11faad.png
まちがいさがし。↑と↓、どこが違うでしょう。
https://scrapbox.io/files/62a037d6bd71ea001defcaa2.png
正解は……
https://scrapbox.io/files/62a0382ff4cd780020f2c1ca.png
最大コンボ数!ついに念願のコンボプラスを実装できた!
ゲーム実行中に「+」キーを入力すると最大コンボ数が(現状)5まで増加するようにしてやった。まずは今までの3段攻撃を「2+1」段攻撃に変更。具体的には通常攻撃2回とフィニッシュ攻撃1回に分解するように各アビリティのタグを貼り換えた。
https://scrapbox.io/files/62a039e6088c4f002349c274.png
前回の各攻撃アビリティのおしりにこんなものを追加。グレイマンにコンボ数を保存する変数を用意して、castから取り出した。これで任意の攻撃段階からフィニッシュ攻撃アビリティを呼び出せるようになった。つまり通常攻撃n(デフォルトは2)回→フィニッシュ攻撃って感じにコンボ攻撃を拡張したことになる。あとはおんなじ形のアビリティをタグ貼り換えながら(ここは動的に変更できない)用意して、グレイマンのアビリティリストに突っ込めばいくらでもコンボ数を増やせる。やったね!
(備忘録)
castで各アクタ内の変数を何でも取ってこれるようになる。けどcastを乱用すると重くなる(BPが常にロードされる……らしい)。castのご利用は計画的に。
アビリティの所有者はGet Owning Actor from Actor Infoで取得可能。
ちなみに今までコンボを増やす増やすと言ってきたけど、コンボ数の変数はint型で保存してる。つまり減算ができるのだ。
「-」キーでコンボ数を減らせるようにした。通常攻撃n=0回だってできる。すなわち……
https://scrapbox.io/files/62a03c9de7786b0023403bd7.png
初手フィニッシュ攻撃だってできるのだ。
6/10
「毎週金曜日は更新してたのに(ry
git & GitHub演習だったぞ。狭義の自己学習は進捗ゼロだぞ。UE開いてないぞ。
6/15
https://scrapbox.io/files/62a9d3787b8572001d50220c.png
ロックオンカメラを実装したぜい(見づらい)。
ついでにロックオンした相手のHPを右上に表示するような機能も追加したぜい。
いずれロックオンカメラを実装したいなーとは思ってたけどなかなかどう設計したらいいか想像つかずウンウン悩んでたけど、どうやらマーケットプレイスにある「Target System Component Plugin」が簡単に実装できそうだという情報が。
試しにインストールしてコンポーネントを追加したらあっさり作れちゃった。
https://scrapbox.io/files/62a9d5498e8bf1001db4edba.png
プレイヤー側のノードはこれだけ。「C」キーでロックオンオフを切り替え。ロックオン時にロックオンした相手のカスタムイベント(自分で設定できるイベント)を呼び出すようにした。ぶっちゃけロックオンカメラだけなら上半分の「C」ノードから伸びてる部分だけで実装できる。下半分はHP表示に関する処理。
https://scrapbox.io/files/62a9d677e29ccb001d8a1de0.png
https://scrapbox.io/files/62a9d6247b8572001d503539.png
豚側は死亡時の処理にちょっと追加したのと、ロックオンされたときに呼ばれるカスタムイベントたちを追加。ゲーム開始時にHPバーを生成しつつ不可視にしておいて、イベントにより可視性を切り替えてるだけ。これらはあくまでHP表示に関する処理であって、ロックオンカメラとしての処理は一切追加していない。TargetSystemしゅごい。
https://scrapbox.io/files/62a9d848f5d07d0021807f32.png
ついでにサンドバッグも置いた。
https://scrapbox.io/files/62a9d88deb8251001da86bc7.png
移動処理を書いていない以外は基本的に豚と同じ。ただ豚の場合AnyDamageから直接DestroyActorしてた(問答無用で一撃死のマンボウ状態)から、サンドバッグはHPが0になったらDestroyActorするようにしておいた。
https://scrapbox.io/files/62a9d9a4f5d07d0021808fdc.png
のでちゃんとHPが減るようになった(マンボウ以上の耐久性を手に入れた)。
ちなみに内部構造についてのお話。実を言うと豚とサンドバッグでそれぞれ個別にLocked On・Locked Offイベントを用意しているわけじゃない。ある大元のクラスにイベントを定義しておいて、それらを借りる形で豚とサンドバッグはイベントインプットを使っている。
……勘のいい方なら気づいたかもしれません。そう、「継承」しているのです。
https://scrapbox.io/files/62a9db693370c7001f31b665.png
豚とサンドバッグそれぞれの親クラスとしてBP_CharacterParentを用意してそこにLockedOn・LockedOffイベントを用意しているのです。最初はそれぞれ個別にカスタムイベント作ろうとしてたし実際そうしてたんだけど(そこを書け)、結果キャストのオンパレードになっちゃった。エネミーの種類増やすことを考えると拡張性オワタ問題が出てくる。
だもんでどうしたものかと思案してたら「そういやブループリントって中身はC++なんだからオブジェクト指向生かせそうじゃね?」とひらめきが。無事拡張性オワタ問題が解決し、キャストもめっきり減り、コードもすっきり。一石三鳥です。
(備忘録)
親クラスはいつでも変えられる。
……ちょっと今回量多いな。いや原因は分かってるんです。途中経過書かずに一気に「ロックオンカメラ実装→HPライブラ実装→リファクタリング」って走り抜けたからなんです。時間を忘れて作業するデメリットです。そもそももっと大雑把に書けばいいんだろうけど。
気づいたらprogateを半月ほったらかしてた。
6/17
うっそscrapboxくんスクショの大きさ変えられないの!?(discordのどこかの部屋の板で見た)
だいぶ前から画像サイズを50%にして貼り付けてたけどなんも変わらないから嫌な予感はしてた……悲しみ。
つまり画像サイズ50%にしてたのってただ純粋に画像見づらくしてただけ?そんな……。
前回のロックオンカメラを改修。あのままだと「ロックオン中に○○がタヒんだらロックオンを解除する」っていう処理だった。つまりサンドバッグをロックオンしてるときに豚を倒すとサンドバッグのロックオンが外れてしまうってこと。これはいかん。
https://scrapbox.io/files/62ac365d270f6f002229fb5c.png
ので「ロックオンしているのが自分だったら」という条件を追加。これで自分に対するロックオンのみ外せるようになった。ちょっとした修正。
https://scrapbox.io/files/62ac3bff1a2727001dcaccd5.png
ついでにLキーでロックオン時にHPを表示するか切り替えるようにもした。前回の親クラスBP_CharacterParentのイベント定義にインプット値を追加して、豚とかサンドバッグのウィジェット表示にIFを嚙ませただけ。
えーっと前回のFeedBack以降何やったかですか。
・ドットインストール gitコース終了
・progate git学習レッスン終了
・コンボプラス、コンボマイナス実装
・ロックオンカメラ実装
・HPライブラ実装
こんくらいっすね。
------FeedBack------
おぉ!やべぇ・・・ここらへん全然分からないから、すごいの一言になっちゃうけど、すげぇ・・・
やっぱり動いているものを見れると興奮するね!
割と開発者よりみたいな機能ができていて、楽しそう。
UnrealEngine→Unityのノーコード版?みたいなものらしい。
豚がついてくるの地味に難しそう(Unityちょっとかじったくらいだけど)に思ったので凄い
------FeedBack End------
次回の計画なぁ……。そろそろエネミー周りに手を出したいってずっと言ってるなぁ。サンドバッグくんを動かすってのがやりやすそうだけどどう動かせばええんや。エネミーの行動アルゴリズムとか考えてる時間ないぞ。ってか考える指標もないぞ。
あとは気分転換にマップを弄るのもありか……?ってかprogateもHTML中級編終わったままほったらかしてるな……。
それ以前に作業時間が取れるかどうかの戦いにもなりそう。ソロ活動時間外の話だけど。むしろ時間外でやりたいことが多すぎる。
うぎゃあああああ時間が足りねえええええ。
6/22
progate webHTML & CSS道場レッスン初級編、中級編終了
htmlとcssが読めるようになったと思いたい。ただイチからレイアウト設計するのはまだ難しいかなと。インライン要素とかrelativeとかは復習しないとかなー。
あとどの言語にも言えることだけどその言語で「できること」はたくさん知っておきたい。書き方は追々。「そういやこんなことできたような」っていう引き出しを多く持ちたい。
えっ嘘ソロ活動の期間残り1週間もないの!?そんな……( ´・ω・`)
6/24
https://scrapbox.io/files/62b57513f5352f001d2f005f.png
モーション中に身体が伸びるこの現象をどうにかしたい。まぁ原因に心当たりはあるんですが。
今までUE4のグレイマン用のスケルトンでインポートしたアニメーションをUE5のグレイマンで無理やり再生してたからこうなってるのだと思われ。なのでUE4→UE5にリターゲットする必要がありそう(インポートは諸事情あってUE4用でやらねばならないっす)
っていうのをやってたんだけどもう発表の時間になっちまったよこんちくしょう。
今週はprogateのHTML & CSS進めただけっす。ぐすん。
------FeedBack------
体が伸びている...?あ、胴体?
Aoi Matsuda.icon こんなモーションをよくゲームで見るけどすごく似ていてクオリティ高い
バグ修正すごい辛そう...
若干体伸びてる気がしないでもないけど、細かいところまでこだわっていてすごいKeisuke Kuma.icon
------FeedBack End------
せめて発表するときまでにはゴムゴムのグレイマン問題を解決せねば……!
ただ……この時期だから……その……
期末が……
P.S.
https://scrapbox.io/files/62b58fa980ab420023e5ca23.png
無事解決。
←修正前 修正後→
https://scrapbox.io/files/62b5906975932900200e5db1.png
こうして見比べてみると今まで身体が伸びてたってはっきりわかるね。
6/27
発表会用のページ(こいつ)を書いた。人に見せるのが目的だってのにいつもの調子でバカスカ書き殴ってしまった。あーあ。でもここのページよりは真面目です。微々たる差だけど真面目です。誤差として丸め込まれる範囲だけど真面目d(ry あと発表会用にきれいな照明を用意した。ここに書いちゃったらネタバレになるので詳細は当日まで我慢してね。
え?んなもん興味ないって?
……( ´・ω・`)
6/29
あぁ……ソロ活動期間終わっちまった……
ブログやSNSの如く思ったことをだらだらと書くと冗長気味になるのは解ってる。解ってるんだけど文章を推敲してるとどんどん書く内容を忘れちゃうからとりあえず書き殴る。んで書き殴った後推敲が面倒くさくなってそのまま放置する。うーんこの。
ちなみに私は平時からブログ書いてるとかそんな事はありません。ただ書き殴るのが得意なだけです。
ちなみにここだけの話、私は「えふじ」と呼ばれることが多いです。大学入ってからだけど。
理由?Twitterのアカウント名が「えふじ」だし、対面で会うことほとんどないし、自分の本名紹介したことほとんどないし、そもそも入学式やってないし……ぐすん。
とは言いますが特に呼ばれ方は気にしていません。「おおぬま」でも「れお」でも「えふじ」でも「UEの人」でも気にしておりません。貴方の呼びたい私で大丈夫です。呼ぶことがあればだけどな!いらん心配をするのがえふじさんの特徴です。
んなどーでもいい話は置いといて。私が忘れてなければまたちまちま更新していくつもりです。忘れてなければ。大事なことなので(ry
ただ多分UEのことしか書かないと思うっす。progate?あぁ、うん……
10/7
完全に存在を忘れておりました。どうもえふじです。
すぐ上に「多分UEのことしか書かないと思うっす」とか書いときながらUEの進展はありません。怠惰です。
逆に忘れられそうだったprogateの方は更新。なんでや。
progate webJavaScript終了
progate webNode.js I ~ II 終了
やったのは夏合宿始まる前です。かなりscrapboxほったらかしてましたね。