投稿記事

無料プランの記事 (20)

弓猫 2023/10/08 21:19

最近の進捗と今後の方針について

ごあいさつ

どうも、3Dアクションエロゲを開発中のゆみねこです。
前回、声高に「オープンワールドが作りたい!!!」と絶叫していましたが、その後の進捗です。

僕のゲームに関心のある方向けの記事なので、フォロワー向けにお送りいたします。

フォロワー以上限定無料

記事の全文が読めます。

無料

弓猫 2023/10/04 18:43

【技術記事】Unityで2Dキャラクターの移動を実装する

ごあいさつ

どうも、3Dアクションエロゲを開発中のゆみねこです。
今回は作業の進捗とは全く関係のない、技術記事になります。

Ci-enで読みたい人がどれだけいるのか未知数ですが、どのみちどこで書こうが技術記事ってウケが悪いので、あまり気にせず書いていこうと思います。

2Dゲーム制作で参考にしたい方、ゲーム開発の裏側が知りたい方はぜひどうぞ!
好評ならシリーズ化するかもしれません。


最初に

今回のやり方は、数多くある方法のうちの1つに過ぎず、唯一の正解ではありません。
実用的な範囲で、なるべくUnityの機能を使ってラクして実装することを1つの目標にしているので、プログラミングの話はほとんど出てきません。

追記

Ci-enの画面がバグって1回下書きがぶっ飛んでいるので、だいぶモチベが落ちた状態での執筆となります。
内容が雑だったらごめんなさい。
(自動保存ぐらい付けとけよ)

アセットの準備と登録

キャラクターを歩かせるには、対応した画像アセットが必要です。
今回はツクールMVに同梱されている歩行グラフィックを使っていきます(利用規約が緩和され、Unityでも使用OKになりました。ありがたや)



UnityのProjectビューに突っ込みます。
このままでは全キャラが結合していて使えないので、画像を切り分けていきます。


切り分ける前に、先に画像の設定を変更します。
ドット絵なので滑らかにするフィルタを切ったり、いろいろ変えていきます。


横12・縦8の96枚に分割します。
他にも、ピクセルサイズを指定したり画像を識別しておまかせで分割することもできます。
ついでに、PivotをBottomにして画像の中心点を足元に移動させます。
そうしたほうが何かと都合がいいからです。


分割されました。
これはあくまでUnity上で認識されているだけで、実際に分割された画像ファイルは作成されていないので容量の節約になります。
気にせずどんどん活用していきましょう。

アニメーションの作成……の準備

分割した画像を切り替えるアニメーション作成……の下準備をします。
アニメーションをさせるならほぼ必須の工程であり、解説記事も多いので省略気味に行きます。


Playerオブジェクトの作成


空のGameObjectを作成し、Playerと名付けます。
子要素に同様の空GameObjectを作成し、名前をPlayer Renderとします。

アニメーションなどの描画処理は、Player Renderに追加していきます。
Playerの実体とアニメーションを分けることで、例えば透明化(画像だけオフ)にしたり、画像ではジャンプしているが座標は変えたくない、といった処理が簡単に実装できます。




Player Renderオブジェクトに、AnimatorとSprite Rendererをアタッチします。
それぞれアニメーションの再生機能と、画像の表示機能です。


上下左右の4方向のAnimation Clipファイルと、そのアニメーションの切替を制御するAnimator Controllerファイルを作成します。
作成したら、先ほどのPlayer RenderオブジェクトにAnimation Controllerをアタッチしておきます。

この時点では、ファイルを作っただけでまだ中身は空っぽです。
アニメーションの編集は後に行います。



ついでに、上下左右のAnimation Clip全てのループを有効にします。
歩行する限りループしてほしいですからね。


Animator Controllerを編集します。
ステートマシンと呼ばれる機能で管理されており、画像のように矢印で切り替えを視覚的に制御できるスグレモノです。

直接ここにアニメーションを放り込んで制御してもいいですが、今回はブレンドツリーを活用していきます。
パラメータに応じて自動でアニメーションを切り替えてくれる超便利な機能です。




まず、ブレンドツリーのためのパラメータであるXとYをFloat型で作成します
(Blendは、ブレンドツリー作成時に勝手に作成されます)


ブレンドツリーの編集画面にて、上下左右のアニメーションを登録します。
例えばXが0、Yが1なら、Walk Up(上方向)のアニメーションが再生されます。
スティック入力などの中途半端な値でも、いい感じに近いアニメーションを選んでくれます。マジ便利。

さて、これで下準備は完了です。
いよいよアニメーションを作成していきます。


アニメーションの作成

いろいろ方法はありますが、今回はSprite LibraryとSprite Resolverを使った方法を解説します。
割と最近Unityに追加された機能で、とにかくシンプルで便利です。

Sprite Libraryの作成


まず先に、Sprite Libraryを作成します。
読んで字のごとく、複数の画像をまとめてカテゴリや名前で管理する機能です。


4方向分を登録します。


分かりにくいですが、登録したら必ずラベル名を汎用的なものに変更しましょう(デフォルトだと画像ファイル名が割り当てられています)

なぜかというと、キャラの画像をSprite Libraryひとつで切り替える際に、カテゴリ名とラベル名が一致している必要があるからです。




このように、Sprite Libraryの名前を統一しておくと、画像の切り替えがとても簡単になります。
逆に言うと、キャラクターの数だけSprite Libraryを作る必要があります。
その分、これから作るアニメーションは流用できるので、この辺は割り切りましょう。

単純作業なので、やろうと思えばEditor拡張やバッチファイルで自動生成できると思います。
今回は本題から逸れるのでやりませんが。


Sprite ResolverとSprite Libraryのアタッチ


先ほどのPlayer Renderオブジェクトに、Sprite ResolverとSprite Libraryをアタッチします。
これで、Player Renderオブジェクトに画像の管理および切り替え機能が追加されました。

Animation Clipの編集

Player Renderオブジェクトを選択した状態で、Animationウィンドウを開きアニメーションを編集していきます。




Animationウィンドウの左上で、アニメーションを切り替えられます。
まずは上方向から作っていきます。


赤丸を押して記録状態にして……。


アニメーション開始直後のカテゴリとラベルを選択します。
片足を前に出しているものが好ましいです。


すると、対応する位置にキーが打たれます。
ずれていたら、マウスでドラッグして0に移動させましょう、



この調子で、キーを打ち込んでいきます。
1/4 の位置に 両足を揃えた画像
2/4 の位置に もう片足を出した画像
3/4 の位置に 再び両足を揃えた画像
4/4 の位置(終了位置)に、開始時と同じ足を出した画像


Animationウィンドウの再生ボタンを押してプレビューしてみましょう。
正しく動いていることを確認します。


Sprite Resolverを見ると、アニメーションによって切り替わっていることが確認できます。
Sprite Resolverのカテゴリとラベル名を、Animationで切り替えているわけです。


秒数ベースで書いてしまいましたが、フレームレートで数えたほうがやりやすい場合は右上を右クリックすれば、表示方法を変更できます。


フレームレート準拠になりました(上部の数値が変わっています)。
60フレームで動作するアニメーションということですね。
Samplesの値を変えれば、フレームレートを変えることもできます。

そんな感じで、4方向分を作っていきましょう。
この作業は一度だけでOKです。
新しいキャラを作る場合にも、アニメーションを作り直す必要はありません。



移動処理

Rigidbody2DとColliderのアタッチ


座標移動の処理を実装します。
これもいろいろやり方がありますが、今回は物理演算を使います。

地味に重力の無効化やZ軸回転の無効化もしているので、忘れずに設定しましょう。
じゃないと悲惨なことになります。




当たり判定も設定しています。見づらいですが黄緑の円です。
ここは好みで大きさを変えてください。
円形にすると、キャラ同士がぶつかった際や曲がり角でインコースを攻めた際にスムーズに滑って回避してくれます。

移動処理のコーディング


移動処理のコーディングをします(唐突)
画像が縦長になるので切っちゃいましたが、全ソースコードが読みたい方のためにフォロー限定(無料)で載せておきます。

そんなに難しいことはしていません。
キー入力を受け取って、その値に応じてアニメーションや移動量の更新をしているだけです。


スクリプトのアタッチ


Playerオブジェクトに、先ほどのスクリプトをアタッチして、テストプレイを実行します。

結果発表~~~!!!


WASD、または方向キーで正常に動いていることを確認します。
お疲れ様でした。

フォロワー以上限定無料

記事の全文が読めます。

無料

弓猫 2023/09/27 22:40

オープンワールドがッ!!! 作りたいッ!!!

ごあいさつ

どうも、モンスター姦がえっちな3Dアクションを開発中のゆみねこです。
以前の記事で、ゲームのコンセプトを大きく見直すと書きました。

その進捗をご報告します。


先に結論

僕は何かと話が長くなるタイプなので、先に結論……の前に。
まず、以前の記事のおさらいを軽くしておきます。

絶対に変えない(実装する)項目

  • アクションであること
  • ダンジョン探索
  • モンスター姦
  • 非現実的なシチュエーションのエロシーン

変えるかもしれない項目

  • 壁蹴り
  • 剣による近接戦闘
  • マップのアート
  • トレジャーハンターという主人公の設定

といった感じでしたね。


ごめんな、嘘ついて
オープンワールド(風)アクションにするわ

※(風)の部分も大事なので、忘れないでください。

ダンジョン探索の部分は変えないと言っていましたが、変えます。
やっぱオープンワールドが作りてンだわ。



オープンワールド風

フィールド

オープンワールドとはどういうことなのかと言いますと、以下のようなフィールドを歩けるということです。

  • 同人にしてはまあまあ広い
  • ロードを挟まずシームレスに繋がっている

広いというのはあくまで同人基準で、企業が出したら叩かれるレベルの狭さです。
元々「ボリュームはそこそこ」を目指すつもりでしたし、そこは今も変わっていませんので。

ただのフィールドだけでは飽きてしまうので、洞窟や城といったダンジョンも上手くシームレスにつなぎ合わせたいところですが、まだ技術的に可能かどうかなんとも言えません。
無理だったらロードを挟みます。

モンスター

モンスターはフィールドの各地を徘徊しており、プレイヤーと出くわしたらその場で戦闘が始まります。
もちろん、えっちなシーンもその場で展開されます。シームレス最高!


戦闘

未だに戦闘の詳細を決めかねていますが、剣より銃を担ぎたい気分なのでTPSになるかもしれません。
魔法だけで戦うのもありかなと思ってまして、いずれにせよ遠距離攻撃が主体のゲームになりそうだなとだけ言っておきます。

アクションであることを変えるつもりはありません。


自由度

オープンワールド=自由みたいなイメージが強くありますが、今回は特に意識せずに作ります。
理由は簡単、自由度のあるゲーム作りが難しいからです。


一応、自由に歩き回って好きなボスから倒せるようにはするつもりですが、やれキャラクリだのジョブだの武器種だので自分なりのビルドキャラクターでロールプレイができる、といった要素はありません。


ストーリーも、エンディング直前の選択肢で分岐するバッドエンドを除けば一本道にするつもりです。
やたら分岐を増やせば面白くなるわけでもありませんしね。



ストーリー

まだ決めかねているので、後日記事にします。




オープンワールドにしたい理由とか

なんで急にオープンワールドやねんって話をしていきます。

フォロワー以上限定無料

記事の全文が読めます。

無料

弓猫 2023/09/15 17:11

Unityの炎上と今後の方針について

お久しぶりです、モンスター姦がえっちな3Dダンジョン探索アクションを開発中のゆみねこです。
今回は、今後の方針について軽く話したいと思います。

まだ処女作の方向性すら定まっていない中「今後」とはどういうこっちゃねんって話ですが、ここ数日Unity界隈が激荒れしておりまして、僕のほうとしても今後の創作に影響しかねないものだったので、書き留めておきたいなと思った次第です。

では、よろしくお願いします。



結論

軽くと言いつつ長くなってしまう悪癖があるので、結論から書きますと

UE5(Unreal Engine 5)に移行してえ(できるとは言ってない)

です。
本当は箇条書きにする予定だったけど、考えをまとめてみたらそれ以上でも以下でもなかったです。

詳しく

なぜUnityではだめなのか

まず、ここ数日、Unityが料金プランの変更を発表したことに伴い、開発者たちの間で大バッシングが起きているという事情から話す必要があります。
いくつか分かりやすい記事があるので、仔細はそちらに譲ります。

Unityが突如発表した「ゲームのインストール数に応じた料金システム」にゲーム開発者が怒りのコメントを続々投稿 - GIGAZIN

はっきり言って、特に理由がないならUnityを避けるべきと言っていいほどイケてない事態になっています。


確かに、擁護する人の中には 「過去12カ月の収益が20万ドル(約2950万円)を超えた場合」じゃないと当てはまらないため、ほとんどの個人開発者には無縁 だと言う人もいます(公式もそんな内容の弁明に追われています)。


ただ、問題は僕のような個人開発者がロイヤリティで赤字になるかどうかではなく、Unityが一部の開発者の生活を根底から脅かすようなプランを、突如として打ち出してくるその信用のおけなさを問題視しています。


いつ何時、「エロゲは一切合切禁止」なんて言うかわからないですよね。
というか、アダルトゲームを作っていいかどうかに関しては公式の声明がバラバラで、その辺ほんと昔から信用がおけなかったんですが……。


そんなわけでして、選択肢が他にあるのなら、渦中のUnityを今からわざわざ使うメリットがない、というのがまず一点。



次に、Unityがここ数年、舐め腐ってんのかと言うぐらいクソしょうもないアプデしかしてこなかったからです。

これ言うと絶対ダサいから控えたかったんですけど、僕はもう2年前ぐらいから「Unityオワコンなんじゃね……?UE行ったほうがよくね?」って思ってました。真面目に。はい。

ダサいね、笑えよ。
僕もここまで酷い事態になるとは思わなかったんですよ。


なんでオワコンと思ったかと言うと、出す新機能がことごとくヘナチョコで使い勝手が悪く、それでいて「さあ使ってください!」と態度だけ一丁前で 「こいつら本当にこんなんでゲーム作れると思ってんのかな」 と薄ら寒さを感じたからですね。

もちろん理論上は作れますよ、理論上は。
でも、車輪の再発明をした挙げ句にバカバカしいほど使いにくい新仕様を引っ提げたり、出る出ると言われた新機能もいつの間にか音沙汰がなくなったり、スパム広告を出すことで有名な会社を買収したり、CEOが収益に関して炎上発言をしたり、3Dゲームのサンプルプロジェクトを開発した部署を解体したり、Unityアカン臭はムンムンに漂ってました。


つーかぶっちゃけた話、とっっっっっっくの昔にイケてないゲーム開発ツール最大手となったツ◯ールがUnityで甘い汁吸い始めようとしたあたりで、もう本格的に泥舟なんだろうなって思ってましたね。
悪意の有無はおいといて、やってることがドン引きするほどイケてない連中の目にすら止まるほどには浸透したし、落ちぶれたんだなと。
全体公開で言うとめっちゃ怒られそうだけど、めんどうくさいのでこのままにします。


UEだとなにがいいのか?

僕はUEも軽く触ったことがあります。軽くね。
触ってみた感想としましては、「こんなに簡単に作れていいのか」 と涙が出るレベルに親切設計でした。マジで。

例えば、Unityで傾斜のある地面に3Dキャラを立たせて歩かせたいとしましょう。
素人がやると、数万円規模のアセットを買わない限り1週間経っても実装できない可能性大です。
が、UEの場合はテンプレートを選んで起動するだけです。

Unityの場合、キャラを歩かせるための各種機能は揃っています。
「地面を編集加工する機能」
「物理演算で衝突を計算するエンジン」
「指定アニメーションを再生する機能」
などなど

それらを、プログラミングで組み合わせて自分で作る必要があります。
物理演算なので当然すっ転ぶし、地面を貫通します。アニメーションも自動ではしないので、自前で作らないとホバー移動してしまいます。


めんどいんだが???
歩かせるだけだぞ???


UEも基本は同じですが、その面倒を軽減するためのテンプレートが備わっています。
非生産的なストレスを極力抑えて、表現したいものづくりに集中できるツールだなと感じました。

一方でUnityは、「坂道で突っ走っても体が宙に浮かないための処理」とか、まともに動かすためのバグ取りばっかしてる思い出しかありません。
本題に入る前の準備だけで燃え尽きそうです。


決してUnityが貧弱な機能ばかりというわけではないんですが、穴が欲しい人にややこしいドリルを売りつけるダメな営業マンみたいなものを感じます。


で、結局ゲームにはどう影響するの?

案の定クソ長くなったので、強引に話題を切り替えようと思います。
僕のゲームが今後どうなるかについてです。

フォロワー以上限定無料

記事の全文が読めます。

無料

弓猫 2023/08/27 23:40

進捗報告と今後の展開について

ごあいさつ

お久しぶりです!
モンスター姦がえっちな3Dダンジョン探索アクションを開発中のゆみねこです!

8月上旬から記事の更新が途絶えてしまって申し訳ありません。
現在の進捗報告と、今後の方針についてお話していきます。


詳しく書いたらとてもしんどい長さになってしまったので、全体公開では簡易的な内容にします。
理由や詳細を、フォロー限定にて書かせていただきます。



進捗報告

ぶっちゃけ、ほとんど進んでいません。
申し訳ありません。


創作意欲が枯れ気味でした。
なんでノれないんだろうなと考えていましたが、ゲーム内容が全体的に迷走しているように思いました。


今後の方針

コンセプトやゲームシステムを見直す予定です。
ゼロから作り直すわけではないので、絶対に変えることのない項目と、再検討している項目を挙げておきます。

絶対に変えない(実装する)項目

  • アクションであること
  • ダンジョン探索
  • モンスター姦
  • 非現実的なシチュエーションのエロシーン

変えるかもしれない項目

  • 壁蹴り
  • 剣による近接戦闘
  • マップのアート
  • トレジャーハンターという主人公の設定

早い話、僕が毎回言っている 「モンスター姦がえっちな3Dダンジョン探索アクション」 の部分は変える気がないということです。


簡易的なまとめができたところで、その詳細や理由についてお話します。
ご興味がある方はどうぞ。無い方は、いいねだけでもしていただけると大変うれしいです。

フォロワー以上限定無料

記事の全文が読めます。

無料

1 2 3 4

限定特典から探す

記事のタグから探す

月別アーカイブ

記事を検索