産出速度調整・連続産出間隔・新産出物など (Fantia)
Published:
2021-10-05 11:01:31
Imported:
2023-02
Videos
-
無題.mp4
Downloads
Content
台風が過ぎたら暑い日が続いております。ですぴよです。 さて、新たなストアで天空神殿(英語版)の配布がはじまりました。 https://www.johren.games/games/download/tenkuushindennokikaikan-en/ こちらは繁体字圏を対象にしたストアのようで、DMM関連会社のようですね。 日本国外が対象なのでこちらからはアクセスすらできません。きっとモザイクないあれやこれやがたくさんあるのでしょう。 我らが天空神殿はやはり国内製ということでモザイクは免れられません。以前も書いたような気がしますがストアの制限というよりかは国内制作の制限。海外の自主規制の激しさからいえばモザイクと引き換えに表現の自由を手にしていると言えます。 これで夏頃からやっていた作業のうち1つが完了。あと2つ。 〇変更履歴 20211005 追加 ★「強化精子(ReinforcedSperm)」追加 ★連続産出間隔を指定できるようにスライダーを追加 変更 ・シーンのマシン更新処理をワーカースレッドからメインスレッドへ移動 ★産出物描画をDeferredShadingへ変更。それに伴って一旦産出物モザイクなしに。 ★キャラの体にCollisionを設定し、産出物が衝突を起こすように ・途中で切れる産出物の挙動変更(一定距離進んだあとに千切れるように) ★舐めまわし円盤のSurfacePickingが大幅にパフォーマンスを低下させていたのを修正(かつ、3フレームに1回に) ★産出速度倍率を拡大 ・背景用モデルにアニメーションするものがあった場合に回転オフセットをつけて正常に描画されるよう修正 ・サラのアニメーションが不正になり初期姿勢をすることがあるのを修正 ・液体産出物(下痢とスライム)にも産出物速度倍率が適用されるように変更 ・液体産出物(下痢とスライム)の太さ設定が各部位の基本拡縮値をベースにするよう変更 内部 ・Entityの型指定で取得する処理に型キャッシュを使用するよう変更 ・MotionStateMachineとActionControllerの初期化処理を分離 〇解説 上記かなりいろいろ変更がありますが★マークのあるところを解説。 ★強化精子 精子は強いほうがいい。ということで以前書いていたような気がするGiant Spermを実装してみました。 意味わかりますかこれ?俺はわかりません。でかい精子。 エロミーム化するほどメジャーではないやつですが、一度みたら忘れられないはず。日本語での情報はあまりなく、海外で発生したものっぽいやつです。ほぼふたなりとセット。 2次絵としては睾丸の内側にこの巨大精子が蠢き、尿道を上って大量に噴き出すという描画がされます。 本来ふたなりというのは「女性」であり、「ちんちん」を持っていて、その絶頂が男性と同じものであり、見るものの快感想像が容易であるという特性があります。そのファンタジーの中で、この特異な形状をしたものが尿道から飛び出すというのは、さらに踏み込んだ想像ができます。このぷりぷりしてそうな巨大精子が睾丸で蠢き、尿道を走るという感触を想像させるのが主目的になるでしょう。 実際に尿道をこういうのがぷりぷりと通ったら気持ちいいのかはまったくの別の話。 こういった想像力を刺激するファンタジーが存在する世界、すばらしいですね。 保健体育の教科書でも精子の顕微鏡写真が大きく載っていたと思いますが、その写真がもし実物大だったら的な。 かなりシュールだとは思いますが、深淵へようこそ。 ★連続産出間隔、産出速度倍率 要望のあった連続産出での間隔設定スライダーです。 使い方は「連続産出」「オートモード」ボタンをオンにしたあと産出物を選択して「産出する」ボタンを連打。画面右がわの「連続産出間隔」スライダーを左に動かすと連続で出てくる感覚が短くなります。 スライダー真ん中で1本終わるとすぐ次の一本。スライダー位置1/4で一本目が半分出たところで次が始まります。 また産出速度倍率の最大値を上げたので、こちらのスライダーも右に動かすととんでもない速度で産出(射出)できます。 ★産出物DeferredShading 産出物のレンダリング方式をDeferred Shadingに移行。 この方式だとまた別のモザイク処理方法が必要になって、現状まだそれが作れていないのでモザイクありのオプションを一旦消去。また後程。 DeferredShadingで背景と同じようにShadingされます。なので光の影響をうけるのでくらいところだと真っ黒に見えるはずです。これはキャラクターはマップにある光源の影響をうけずに個別のキャラ用光源でよく見えるように明るくしているためです。いずれキャラクターもマップに配置した光を反映されるようDeferredに移行する予定です。 〇キャラの体の当たり判定 今回このReinforcedSpermを実装するにあたって、これがキャラクターの体を貫通したら嫌だなと。なのでキャラクターのボーンのうち、主幹をなすボーンに対して当たり判定を付けました。これで貫通せずに体に出せます。 現状だと通常の体勢だと自分にかかることが少ないんですが、産出体勢のうち「ブリッジ」だと自分にかけることができます。 アシッドゼリースライムやアルカリゼリースライムなんかもちんちんから出して自分にかけることができるのでおススメです。 これ産出物のモデルを少し工夫すれば精液としてもいままでより説得力のある絵が作れそうな気がしてます。 ★SurfacePicking処理速度改善 このSurfacePickingはGPUがレンダリングした画像からデータをCPU側に読み込み、そこから位置を取得していると前回書きました。 これはそのまま実装すると問題があります。 CPUがGPUの書いた画像を読み込もうとするとき、GPUは実はまだ宿題を終わらせていません。CPUがデータちょうだいって言うと「やっべ!いまやりまーす」って描画が行われます。これにより描画処理がストールします。 実際前回のものはパフォーマンスが落ちていました。 これを解決するには3フレームかけて解決します。 1フレーム目:読み出したいレンダーターゲットへDrawコール。 2フレーム目:そのレンダーターゲットには描画をせず、Stagingテクスチャへコピー 3フレーム目:Stagingテクスチャから実際のデータ読み込み。 StagingテクスチャとはCPUバウンドで読み書きできる、GPU側とのパイプみたいなテクスチャのことです。 というよくわからない処理をしないとパフォーマンスを下げずにデータを読み込むことができないわけでした。なので今回それを実装。 制限としては、常に3フレーム前の値を取るため遅延を感じることと、取得開始→3フレーム→取得→取得開始→3フレームとなるため応答速度が悪いというのはあります。が、全体的に処理速度が落ちてガクガクするよりはいいかと。 〇ということで 要望や作ろうと思ってたけど作ってなかったものの回収です。 結果的には体の当たり判定も実装できたのでここから先に自由な体勢を作っても問題なくなるかなという感じです。 さかさまになった状態でなんでも産出してOKってことですね! 次はマシンとちんちんまわりの絶頂を作りこもうかなと。上に書いたとおり精液の表現ネットリ目に出来そうというところで。 〇バグなどありましたら コメントへ! 〇x86かx64か x64、つまり64ビットへの移行を検討しています。こちらの方がメモリを潤沢につかえ、しかも処理速度が速いというアドバンテージがあります。 x86、つまり32bitを現状採用しています。こちらは32bitWindowsでも64bitWindowsでも動作するという広範囲な互換性があります。 現在x64Windowsはどれくらい普及してるのか気になるところです。 天空神殿のリリース時には32bitもそこそこ割合が多かったようですが、数年たった今現在となるとどうかなあと。 ゲームエンジン的に多くのことを実装しているとやはりメモリがネックにはなってきています。.netアプリでは32bit環境だとプロセスが使える2GBのうち1GBくらいしか使えません。outofmemoryするまで実際にアロケーションしてみた結果もそれくらいが最大値でした。64bitだとマシンに載ってるメモリいっぱいまでつかえます。 また処理速度も64bitでビルドすると1割から2割くらい早くなる感触です。 というわけで今回は試験的に両方のバージョンを添付。 動作しなかった場合にはおそらく何のエラーも表示されずに落ちると思うんですが、もしそんな感じのことが発生した場合にはご報告のほどを・・・。