ホロライブの二次創作ゲーを作りたい (953レス)
1-

705
(1): 名前は開発中のものです。 [] 2024/05/01(水) 20:07:19.72 ID:+oqZ/AQ+(1) AAS
【悲報】貴重な連休GW、半分終了

ぶっちゃけ既存アセットのエフェクトを眺めて、どのエフェクトを誰のスキルに使うか考えてただけ(しかも2,3人くらいしか決まってない
あとはやっぱり息をするようにプログラムの最適化をする人生だった
明日からはいよいよ、キーを押すとエフェクト付き攻撃モーションをするみたいなバトル部分の本格的な制作ができるはず
706: 名前は開発中のものです。 [] 2024/05/04(土) 13:41:59.69 ID:5Zu1vaZd(1) AAS
Unity2022.3のC#はバージョン9だけど、CySharpのライブラリとか色々使ってC#10や11に引き上げる裏技が存在する
これによってglobal usingとか新しいnamespaceの書き方とか使えるようになること自体は嬉しいんだけど
今後新しく導入するライブラリが万一C#10や11に対応してないせいで結局9に戻さなきゃってなった時のことを考えると踏ん切りがつかない
(既にMemoryPackはC#11にするとエラーを吐くので現状は10止まり)
こういう過度な保守的な考えが現状の開発の遅さを招いてるんだろうなあ
707: 名前は開発中のものです。 [] 2024/05/05(日) 12:26:21.51 ID:lKf/S92O(1) AAS
キーを押すと攻撃モーションするってそんなに難しいことあるのかな
708: 名前は開発中のものです。 [] 2024/05/05(日) 13:15:05.07 ID:H3uE/8nb(1/4) AAS
>>705から現在まで
・ゲーム開始からインゲームまでの整備
・モーション&エフェクトの再生
 >モーションとエフェクトをよしなにアセットバンドル化してくれる機構の整備
 >モーションのAnimationEventの実装&AnimationEventを起点にエフェクトを再生してくれる機構の整備 ←イマココ

野暮用で少し抜けてたのもあるけどやっぱり時間かかりすぎ
709: 名前は開発中のものです。 [] 2024/05/05(日) 13:17:18.16 ID:H3uE/8nb(2/4) AAS
エフェクトの生成から破棄(プーリング)の機構はわいの過去作のソースコードの流用でこれでも時短できてるほうなんだ・・・恐ろしい
710: 名前は開発中のものです。 [] 2024/05/05(日) 15:26:33.49 ID:H3uE/8nb(3/4) AAS
同じUnityプロジェクトにアセットバンドル用の資産とビルド用の資産が混在している
 →ビルドする時はアセットバンドル用の資産をビルド対象から除外するために無効化したい…
  ビルド中だけ拡張子の後ろにアンダーバーを付けてビルド後に戻す処理を足そう!
 →.metaをリネームするのを忘れる。流石にバックアップから戻すしかない
 →単純にバックアップからコピペだとシンボリックリンクが維持されない・・・
  7zipで圧縮してから解凍すればいけるか?
 →7zipでシンボリックリンクをそのままに圧縮&解凍する方法は? ←ここで30分経過
711: 名前は開発中のものです。 [] 2024/05/05(日) 15:33:29.18 ID:H3uE/8nb(4/4) AAS
解決
robocopy /E /DCOPY:T /SL "コピー元フォルダ" "コピー先フォルダ"
712
(1): 名前は開発中のものです。 [] 2024/05/06(月) 20:19:46.57 ID:wxNusPCC(1/3) AAS
GW終了
画像リンク


相変わらず外堀はゲームとして全然成り立ってないけど中身はめちゃめちゃ高品質というアンバランスさ
開発途中に高速化を狙って一時的にも品質を落とすと元の水準に戻せる自信がないのでこのスタンスを貫くしかない
まだ敵とか当たり判定とか実装できてないけどそこらへん実装できれば一気にゲームらしくなる・・・はず!!
あとエフェクトもアセットそのままなので多少は改変したい
713: 名前は開発中のものです。 [] 2024/05/06(月) 20:27:03.49 ID:wxNusPCC(2/3) AAS
エフェクトもモーションもこれからブラッシュアップしていくけど
何しろキャラクターがキャラクターなので(余計な解釈違いとか起こらぬよう)モーションはほぼ無しにしたい
攻撃の予備動作と攻撃終了後のポーズが何となく分かる程度に抑えて、攻撃途中はほぼ姿を消してる感じ
原○の雷○○軍みたいな
714: 名前は開発中のものです。 [] 2024/05/06(月) 20:45:16.57 ID:wxNusPCC(3/3) AAS
最適化のノウハウとかおすすめライブラリとかテクニカルな記事をめちゃくちゃ書けそうなくらいには手元の情報量が蓄積されているのを実感する
見ての通り開発速度が遅すぎて良い例と言えるか微妙なので書けないけど
715: 名前は開発中のものです。 [sage] 2024/05/07(火) 11:40:14.90 ID:zRujutzP(1) AAS
>>712
おつかれさん

現段階だとただのモデルViewerって感じだな
タイプ別にキャラ3つくらいに絞ってエフェクト盛りまくってゲームっぽくしてα版としてFixした方がholo indieとかでアピールしやすそう
まあ趣味ならその限りじゃないけども
716: 名前は開発中のものです。 [] 2024/05/07(火) 12:48:19.43 ID:MByQcUFs(1) AAS
ありがとう
モーションやエフェクトは後から差し替えが効く部類なので、今は特にこだわらずバトル開始から終了までの流れを成立させたい
(と言いつつ結局こだわってしまうのだろうなあ)
717: 名前は開発中のものです。 [] 2024/05/15(水) 19:33:34.19 ID:SAvmcEvu(1) AAS
画像リンク

攻撃の当たり判定、肉眼で確認できるエフェクトに準じた設定が何かしらできるやろー(鼻ほじ)って甘く見てたけど結局ダメだった
Particle Systemはパーティクル1つ1つの座標を基準に衝突判定を行う特性上 無数のパーティクルから成り立つエフェクト向きであり、1つのパーティクルで画像みたいな斬撃を表現している場合の座標は真ん中の何もない位置になるので衝突判定は使えないという寸法

結局、エフェクトの当たり判定をつけたい部分に衝突判定用のMeshColliderを一定時間設置することで実現。なんか間抜け・・・
718
(1): 名前は開発中のものです。 [sage] 2024/05/15(水) 23:34:01.83 ID:Tw0e5XRh(1) AAS
どういう攻撃かわかんないけど(カマイタチみたいな攻撃?)
パーティクルの先頭の移動に同期させた見えない剣振るイメージでもいいんじゃねとは思った
敵がたくさん出てくる想定だと、今の扇状のヒットボックス出す方がシンプルでいいかもね
719: 名前は開発中のものです。 [] 2024/05/16(木) 18:50:00.39 ID:5D4l4urC(1/2) AAS
>>718
そう 左から右へ薙ぎ払うモーションとエフェクト
敵が大勢出るのもそうだけど、このエフェクトの場合緑の部分が0.5秒くらい残像として画面に残るので今回はMeshColliderのやり方がいいかも
他の攻撃も武器は持たせない方針で目に見えてるエフェクトがほぼそのまま攻撃判定になるように実装していきたい
720: 名前は開発中のものです。 [] 2024/05/16(木) 19:53:25.41 ID:5D4l4urC(2/2) AAS
UnityEngine.Objectを継承した変数に対して「component?.Test();」という記法が使えない(Destroyされていた場合にnullチェックが通常と異なる挙動をする)問題

public static T GetSafe<T>(this T component) where T : UnityEngine.Object
{
 return component != null ? component : null;
}

こういう↑拡張メソッドを噛ませて「component.GetSafe()?.Test();」ならいけるくない?と思ったけど、1フレーム毎に何千回何万回も余分なオーバーヘッドが発生しそうなのが気になった
でもMethodImpl(MethodImplOptions.AggressiveInlining)が効くなら別にアリかも?
この程度のオーバーヘッドすら気になるお年頃
721: 名前は開発中のものです。 [sage] 2024/05/16(木) 21:36:45.85 ID:Xj71hb0i(1) AAS
Unityってビルドインのプロファイラすらないの? 見りゃ一発じゃん
722: 名前は開発中のものです。 [] 2024/05/17(金) 19:28:20.02 ID:mlGHjeZv(1) AAS
プロファイラはあるけど
これを検証するために数百か所のコードをGetSafe用に書き換えるのが機械的にできないから時間かかって面倒なんよな・・・
まあ他の作業の興が乗らないとかで時間ができたらやってみる
723: 名前は開発中のものです。 [] 2024/05/18(土) 15:22:52.51 ID:njNgCw95(1/4) AAS
そういえばSourceGeneratorがうまく動かない件はしれっと解決済みです
Unityプロジェクト内のファイルを読み書きするロジックをSourceGeneratorに含めてたけどそれがUnityエディタに弾かれてたようで、修正して無事SourceGeneratorのコンパイルは通るようになった
ただし>>703
703(1): 名前は開発中のものです。 [] 2024/04/29(月) 04:11:23.29 ID:3qzGYh0B(1/2) AAS
ソースジェネレータはソースコードの難読化に一役買ってもらいたい

ソースコード内の変数名やメソッド名などの固有名詞の難読化は専用のアセット等でほぼほぼできてたけど
アセットバンドル化するオブジェクトにアタッチしたコンポーネント名やシリアライズされた変数名は、アセットバンドル化した時点の名前から変えられないので難読化が現実的じゃなかった

画像リンク


これをソースジェネレータで解決する
・難読化前のコンポーネントを継承した難読化済みコンポーネントをソースジェネレータで生成して、実際にオブジェクトにアタッチするのは難読化済みコンポーネント
・難読化前コンポーネントの変数はシリアライズせず、難読化済コンポーネントの変数のみインスペクタに表示される&CustomEditorで難読化前の変数名をインスペクタに表示する
・その他、開発環境では難読化を感じさせないようにしつつ成果物はがっつり難読化させるためのテク色々

この「開発環境で難読化を感じさせない」の部分でソースジェネレータにかなり助けられてる
の目的だとファイルの実体が必要(アセットバンドル化するオブジェクトにアタッチするコンポーネントは一意のGUIDが事前に定まってないといけない)ので
生成したファイルをプロジェクト内に吐き出す現状を維持することにした
724: 名前は開発中のものです。 [] 2024/05/18(土) 21:11:49.29 ID:njNgCw95(2/4) AAS
アイドルマスター新作ソシャゲのグラフィック(シェーダ)が評価されてて、わいのシェーダの開発者さんも関連ポストをリポストしてるけど
もしかして同じシェーダを使ってる?と思ったけど全然違った
でもトゥーンシェーダとしての特徴はどことなく似てるような・・・
725: 名前は開発中のものです。 [] 2024/05/18(土) 21:11:53.07 ID:njNgCw95(3/4) AAS
外部リンク:x.com
外部リンク:x.com
アイマス新作

画像リンク

わいの使ってるシェーダ
726: 名前は開発中のものです。 [] 2024/05/18(土) 21:12:51.26 ID:njNgCw95(4/4) AAS
アイマス新作のほうは1ゲームに特化したシェーダということならモデルの仕様も統一されててかなりピーキーな最適化が適用できるということかもしれないけど
わいの買ったシェーダは多様な顧客のニーズに応えられる汎用性も売りの1つだろうから細かいところは妥協が入ってるんだろうけど
個人的には今ので十分かな・・・
727: 名前は開発中のものです。 [] 2024/05/19(日) 20:12:22.03 ID:DcTsEWz1(1) AAS
画像リンク

頭上にHPゲージを表示させた

カメラに近いキャラのHPゲージを前面に表示させるようにしたい
安直に思いつくのはTransform.SetAsLastSibling();だけど、例えばステージにキャラが10体いるとして毎フレームTransform.SetAsLastSibling();を10回実行する負荷がどんなもんか調べる必要がある
大したものじゃないといいけど・・・
728: 名前は開発中のものです。 [] 2024/05/20(月) 19:32:54.17 ID:R1T9k8fl(1) AAS
バトルの状態異常についてちょっと妄想を巡らせてみた

ホロライブにはラミィという氷系の子がいる
→この子にはやっぱり氷系の攻撃スキルを持たせたくなる
→つまり状態異常は凍結系になる

3Dモデルの凍結の表現・・・めちゃ難しそう
729: 名前は開発中のものです。 [] 2024/05/22(水) 17:28:08.68 ID:QjJZ+5Gk(1) AAS
氷結系はマテリアルじゃないでしょうか。
HPゲージはワールド座標でキャラの頭上に表示して
毎フレームプレイヤーの方向に向かせるようにとか
1-
あと 224 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.014s