投稿記事

2023年 06月の記事 (5)

パワードコアラ 2023/06/26 21:07

【ゲーム制作進捗Part15】壁尻用の画像を変更・差し替えができるようになりました

こんばんは!
パワードコアラです。

画面右側のパッドに専用のボタン群を追加して、ゲーム中に画面中央パッドに表示されている画像を切替・差し替えることができるようにしました。

左右の矢印を押すことによって画像を切り替えます。この順番はImagesフォルダ内に格納されている画像順になっています。

真ん中の顔アイコンをクリックすると中央パッド用の画像を格納するフォルダが開きます。このフォルダの場所は ゲームフォルダ/Data/Imagesとなっていて、ゲーム中でなくてもこのフォルダ内の画像を差し替えれば変更することが可能です。
また、画像の枚数に制限をかけていないので現状では何枚でも画像を読み込むことができます。(これから枚数限界を定める可能性大)

右上の更新ボタン(丸の矢印)を押すことでフォルダ内の画像変更を読み込みます。

実際に画像を入れ替え・差し替えている様子です。(!音が出ます!)

少し手順がややこしいかもしれないので、作品完成後にCi-enの方で画像差し替え手順の記事を作ろうと思っています。

機能としては一通り作ることができたので、後は完成度を高めていく工程に移っていきます。(今まで目をつむっていた部分がいっぱい・・・!)

より良いものになるよう、全力で作りこんでいきたいと思います。
また進捗があったら記事にしたいと思うので、チェックしていただけるととてもうれしいです!

パワードコアラ 2023/06/21 20:14

【ゲーム制作記録】Unityで動的にLive2Dモデルのテクスチャを入れ替える

こんばんは!

この記事は制作過程で悩んだ記録を残しておこうという内容です。
ゲーム制作の進捗報告はひとつ前の記事で行っています。
そちらもよろしくお願いします!

(個人用メモに近いので少し砕けた書き方をしています。)
今回はゲーム中にLive2Dモデルのテクスチャを色違いのものに切り替えたいという問題について悩んだ記録。

お尻の色を変えたい。

結論

結論としてはアートメッシュがそれぞれ個別でMainTextureの設定を持っていたので、
切り替えたいパーツ(ArtMesh)単位でテクスチャの設定を切り替えていく方法で実現することができた。
(詳細は本記事最後の方に記載)

以下は実装までの記録

公式マニュアルを読んでみる

Live2Dが用意してくれているマニュアルに、「ランタイムにモデルを読み込む」という内容のページがあった。
[Live2D公式マニュアル](https://docs.live2d.com/cubism-sdk-tutorials/initializemodel/)

動的にモデルを読み込むことができればテクスチャの設定を切り替えることも同時に実現できそうだが、マニュアルの方法だとその都度シーンにモデルを新しく生成するようだ。
これだとコンポーネントなどの設定がされていない素の(?)状態なので再度スクリプト上で必要な設定をモデルに対して組み込んでいく必要があるように感じた。(深く確かめていないので確かではない)

また、
既存の方法:Live2DモデルをUnityにインポートすると自動で生成してくれるプレハブをシーンに置いて使う
(フォルダ構成は割と自由)

ランタイムモデル読み込み:「StreamingAssets」というフォルダにLive2Dモデルを格納し、特定のタイミングでそのパスを渡してモデルを新たに生成する

と結構流れが違ってくる。
ある程度全体像が出来上がっている今から変更するとなると少し怖いなと思ったので、別の方法を探すことにした。

.setTexture

マニュアルによれば、以前のバージョンでは.setTextureというメソッドがあり、それでモデルのテクスチャ設定を行っていたようだ。
最近のバージョンだとこの機能が前述のランタイムモデル読み込み方式に変更されている。

ピンポイントでテクスチャの設定ができそうだったので.setTexture使いたかった・・・。

アートメッシュそれぞれがテクスチャの設定を持っていた

半ば放心状態でインスペクターを眺めていると、Drawable(アートメッシュ)にMainTextureという項目を見つけた。

あるアートメッシュのインスペクター

model3.json(モデル設定ファイル)にテクスチャの項目があったのもあり、今までモデル全体を通して共通のテクスチャ設定を使っていると思い込んでいたので衝撃を受けた。
個別で設定持ってるならなんだかいけそう。

実際に行った実装方法

アートメッシュ単位でテクスチャ設定を切り替える方法をとることにした。

流れはこんな感じ

using UnityEngine;
using Live2D.Cubism.Rendering;

public CubismRenderer artMesh;
public Texture2D mainTexture;

//どこかから呼ぶ
private void SetTexture()
{
	artMesh.MainTexture = mainTexture;
}

CubismRenderer型でアートメッシュ、Texture2D型でメインテクスチャを宣言する。
アートメッシュのMainTextureにメインテクスチャを代入すればテクスチャを切り替えることができた。

この方法だと、こんな感じで一部分のみ切り替えたりできる。 すごく気持ち悪い。

欠点としては、色を変えたいアートメッシュの数だけ変数宣言・代入を行うので
大幅な色切替の場合はすごい数の変数操作が必要になること。

別の実装方法案

  • 案1:そもそもmodel3.jsonのテクスチャ参照先をスクリプトで書き換えれば解決なのでは・・・?(未確認)
    - なぜ思いつかなかったのか

  • 案2:同じメッシュの形で同じデフォーマに格納されていれば同じ動きになるはずなので、Live2Dモデルの時点で色違いアートメッシュを作っておき、それらの表示を適宜切り替える(だいぶ力技)
    - Activeを切り替える or Opacity(透明度)を変更する

パワードコアラ 2023/06/21 19:36

【ゲーム制作進捗Part14】肌色変更ができるようになりました

こんばんは!
パワードコアラです。

(サムネイル用GIF画像)

肌色変更ができるようになりました

ゲーム中、いつでも変更することが可能です。
現状は色白、デフォルト、褐色の3パターンを選択することができます。
精子付着状況やその時使っているアイテムなど、全く同じ状態で肌色のみ変わります。

実際に色変更している様子です。(!音が出ます!)

変更可能な色を増やそうか検討中です。

今後の予定

中央のパッドに表示されている画像をスムーズに切り替えることができる仕組みを作ろうと思っています。
現状はroot/Data/Imageフォルダ内にある画像ファイルを差し替えればパッドの画像も切り替わるようになっていますが、少し分かりづらいのといちいちゲームを終了しないと切り替えることができないのでもう少し良い画像の切り替え方法を探してみたいと思います。

また進捗があったら記事にしたいと思うので、チェックしていただけるととてもうれしいです!

パワードコアラ 2023/06/15 20:40

【ゲーム制作進捗Part13】ボタン等のUIを作成してオートモードを追加しました

こんばんは!
パワードコアラです。

(サムネイル用GIF画像)

ボタンなどのデザインを変更しました

ボタンなどがUnityのデフォルトのままだったので、全体的な画面のUIデザインを行いました。
全体的に緑色で作ってみました。
アイテム欄は状況によって大きさが切り替わります。

実際に変更したUIで操作している様子です。(!音が出ます!)

何が変わったのかわかりづらいと思うので、一応デザイン変更前の状態を貼っておきます。
こんな感じでシンプルなデザインでした。

オートモードを追加しました

男根かバイブの注挿操作に対してオートモードを追加しました。
速さは低速・中間・高速の三段階選択可能になっています。

実際にオートモードが動作している様子です。(!!音が出ます!!)

オートモード中は男根とバイブの注挿操作はできませんが、ほかのアイテム操作は変わりなく行うことができます。(射精やバイブの振動関係の操作はオート中でも可能です。)

今後の予定

残る工程で大きなものとして認識しているのが、中央のパッドに表示する画像をスムーズに変更できる仕組みを作ることと、肌色を変更できるようにする工程です。

どちらから着手しようか決めかねていますが、進め方のイメージが付いた方から取り掛かっていきたいと思います!

また進捗があったら記事にしたいと思うので、チェックしていただけるととてもうれしいです!

パワードコアラ 2023/06/04 17:29

【ゲーム制作進捗Part12】壁尻のデータを入力できるようにしました + 色々追加

こんばんは!
パワードコアラです。

(サムネイル用GIF画像)

今回は主に左右のパッドに表示されているデータ関連の進捗報告です。

壁尻のデータが入力可能になりました

画面右側のパッドに名前・年齢・詳細の三項目を追加しました。
ゲーム中にクリックしてキーボードから自由に編集できます。

データを編集している様子です(!音が出ます!)

各データをゲーム終了後も保持するようになりました

感情ゲージや射精量、絶頂数、右側の入力したデータといった左右のパッドに表示されている各データをゲームを終了しても保持するようにしました。
(!強○終了ではなく、ゲーム内の終了ボタンから終了しないと保存できません!)

ゲーム終了後もデータを保持している様子です。(!音が出ます!)
感情が一定以上になるとパッドのUIがピンクになる機能もつきました。

各データをリセットする機能の追加

左側パッドのデータに対して初期化をする機能がつきました。
パッド内の矢印マークが射精量や絶頂数、画面左側のボタンが感情ゲージを初期化します。

各データをリセットしている様子です。

感情ゲージリセットボタンのアイコンが思いつかなくて悩んでいます・・・。
お茶のマークにでもしようかなぁ。


今後の予定

ゲーム画面の右下に映っている、各アイテム選択ボタンやオプション画面などのUnityデフォルトの素材がむき出しになっている部分に対して手を加えていく予定です。

また進捗があったら記事にしたいと思うので、チェックしていただけるととてもうれしいです!

月別アーカイブ

限定特典から探す

記事を検索