投稿記事

2023年 05月の記事 (4)

WL 2023/05/28 23:29

5/28更新分

こんばんは。今週はBotWをクリアしたりしました。私はオープンワールドの金字塔はSkyrimだと思ってるんですが、BotWの良さは少し違うところにある気がしています。
この違いは、Skyrimは「プレイヤーがゲームに対して期待することが(だいたい)何でも実現される」のに対しBotWは「人間が世界に対して期待することが(だいたい)何でも実現される」と表現することができると思います。BotWでは木製の物を燃やしたら燃えるとかの現実世界と地続きのルールが適用されていて、その結果面白いことが起こることにフォーカスされているって感じですね(オタク特有の早口)

年貢


今週分の年貢です。Hな絵を描く息抜きにHな絵を描いています。気が狂いそうだけど楽しいです。徒然草のあやしうこそものぐるおしけれってこういうことだったんだな~

振り返りと次回

先週思い切ってCG枚数を減らす決断をした結果終りが見えてきたというか完成をイメージできてきました。それはそれとして完成するのはまだまだ先だと思います。南無三。

来週も引き続き絵を描いていきます。

では来週もよろしくお願いします。お元気で。

WL 2023/05/21 23:04

5/21更新分

こんばんは。今日は昼の暑さにビビりました。余裕ができたら雪国に引っ越したいです。

年貢

休みです。すみません~~

振り返りと次回

今週は絵を描いていたので何も言うことがありません。困りました。Ci-enがほぼ私自身のペースメーカーとしてしか機能してないので見てくださる方には感謝しかありません。ありがとうございます。
そして一つ重大な事実に気づいたんですが、いまの計画だと差分を考慮しないCG枚数が50枚くらいになっていてこれは普通に無理ということです。そのくらいのゲームまあまあ見るしまあ行けるやろと思ってた過去の自分を殴りたい。冷静になるととんでもねえな......
とりあえず20枚くらいあれば話は成立すると思うのでまずはそこを目指していきたいと思います。

来週も引き続き絵を仕上げていきたいと思います。

では来週もよろしくお願いします。お元気で。

WL 2023/05/14 23:09

5/14更新分

こんばんは。今週は流行に乗ってゼルダの伝説 ブレスオブザワイルドを始めました。あまりに完成度の高いゲームをやると楽しさより怖さのほうがデカくなりますが、このゲームはそれでした。今リンクを貼るために公式サイトに行ったら見たら2017年とか書いてあって我が目を疑いました。

年貢


今週分の年貢です。

実装

C++でUMGを実装するときに知っていると便利なこと

ライフサイクルメソッドはNativeXXXを継承して実装する

UUserWidgetクラスを継承したWidgetを実装したい場合を考えます。Blueprintだったら最初から用意されている Event Construct や Event Pre Construct を実装したい場合どうすれば良いでしょうか?
UUserWidgetには Construct() や PreConstruct() があるのでこれを継承すれば良さそうですが実際はうまくいきません(何でかは分かりません)。それとは別に NativeConstruct() や NativePreConstruct() があるのでこれを継承して実装しましょう。

WorldContextはGetWorld()で取れる

UMGに限りませんが、継承したNativeConstruct()内であるなどの理由によって関数の引数でWorldContextを取得することができない場合があります。なにをやっているか全く理解していませんがGetWorld()を渡すとWorldContextが取れます。

IsDesignTime() でゲーム内かどうかを判断できる

Pre Construct() はエディタ上でWidgetが生成された場合でも呼ばれるので、エディタ上かゲーム内かを判断したい場合があります。それをやる関数がこれです。

meta = (BindWidget) と meta = (BindWidgetAnim)

あるwidgetが必ず特定の名前の子widgetやanimationを持っていることを表現するためにこれらのUPROPERTYが便利です。使用例:

protected:
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta = (BindWidget))
	class UImage *Thumbnail;
	UPROPERTY(VisibleAnywhere, BlueprintReadOnly, meta = (BindWidget))
	class UButton *OpenButton;

	UPROPERTY(Transient, BlueprintReadOnly, meta = (BindWidgetAnim))
	TObjectPtr<UWidgetAnimation> Spread;

振り返りと次回

今週は完成に向けて仮データを埋めたりしていました。この作業をやった結果ゲームロジックの進捗に対して絵や音楽の進捗がカスすぎることがわかりました。
来週からは絵を仕上げていきたいと思います。

では来週もよろしくお願いします。お元気で。

WL 2023/05/07 22:50

5/7更新分

こんばんは。今週はパスパルトゥー2をやりました。絵を描いて売るゲームなんですが、びっくりするくらい売れるので笑いが止まらなくなります。また、卑猥な絵を美術館に飾ったり○女に売ったりできるのでそういった性癖の方にもおすすめです。欠点を挙げるとするならClipStudioPaint+お題箱とかのほうが楽しいことですかね......

年貢


今週分の年貢です。

実装

C++でBlueprintのEventDispatcherと同様のものを実装する

表題の行為をやろうとしてハマったので見るべきサイトのリンクを張っておきます。

これでハマって何がムカついたかって公式のドキュメントがクソの役にも立たないことでした。

UDELEGATE(BlueprintAuthorityOnly)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FInstigatedAnyDamageSignature, float, Damage, const UDamageType*, DamageType, AActor*, DamagedActor, AActor*, DamageCauser);

というコード片が乗ってるんですが、これをどこに書けばいいの?(クラス内?外???)BlueprintAuthorityOnlyって何?Dynamicとは??
という感じで結局謎だけが残りました。有識者の方はぜひコメントで教えてください。

振り返りと次回

今週は向こう三ヶ月の予定を立てて回想機能を実装してました。GWもありけっこう余裕で終わって良かったです。
来週は

  • 画像やテキストのデータを入れて無いところは仮データで埋める
  • 埋まってないところを把握する
  • (上のが終わったら)終わってない絵を仕上げる

ができればいいかなと思います。

では来週もよろしくお願いします。お元気で。

月別アーカイブ

記事のタグから探す

限定特典から探す

記事を検索