投稿記事

もっきゃりぺお 2023/05/28 18:12

【ノベルゲーム制作】②Unity Naninovel ポストエフェクト、表情差分【まほだん】

大変でした

前回の終わりに、GWなのでそこでやれたらいいですね、とか言っていましたが、すっかり5月末になってしまいました。だいぶ難航してしまい、実装できたのが5月の半ばくらいです。この記事が5月末に書かれているのはティアキンのせいです。ティアキンやりたい。

今回の記事はポストエフェクトと表情差分について使えるようになったので、それについて書きます。

ポストエフェクト

目的 ―― いい感じの画面にしたい!

ゲームとしていいかんじの、おしゃれな画面づくりをしたい! と、みるきさんに相談を受けていました。ゲーム画面がいい感じかどうかっていうのはやっぱり大事ですよね。それで、作る背景画像やキャラ画像に直接気合でフィルタをかけてもある程度実装できると思うのですが、作業量がすごいことになりそうだし、色々と組み合わせて、揃えてから調整するのもすごく大変そうなので、Unity上でいい感じにやる、なんか、シェーダー? とかいうのを触ろうと思いました。

普通ゲーム制作でいきなりシェーダーとか触らない気がするんですが、みるきさんがこのあと実際にイラストの作製に入る前に、どこまでUnity側でやれるか確認しておきたかったので、ここから入りました。結果的に、かなりそれでよかったなと思っています。

シェーダーって何? ポストエフェクトって何?

というわけで、色々勉強しました。めちゃめちゃいい感じの動画がいっぱいあって、Unityってすごく勉強しやすいですね!

シェーダを書けるプログラマになろう #1 シェーダを理解しよう - Unity道場2019 2月
https://youtu.be/wUx_Y9BgC7k
Unity道場2D編 Shader Graph はじめてみよう!基礎編
https://www.youtube.com/live/3TXHMS8xFJ0?feature=share

まずこれら動画でシェーダーとは何かというのを勉強しました。ノベルゲーで2Dのゲームですから、特に2D向けで色々見ました。(ここに貼ってないものもいっぱいみたよ)

(シェーダーの勉強をしてからティアキンをやると、あ、ここBloomかかってるんだな、とか、ゲームの処理がちょっとだけ透けて感じられて面白いです。ティアキンやりたい)

それから実際にシェーダーを掛けられるまでの遠回りを、ちょっと書いてみようと思います。

遠回りその1 マテリアルに掛けたらだめだった

上記の2つ目の動画では、キャラクターのマテリアルを変更しています。
それに倣い、


デモのキャラクターにはいい感じに掛けることができたんですが、平野さんだけ、四角い黒い箱が出来てしまいます。(平野さんが荒い感じになっているのは意図したもので、ポスタリゼーションを掛けています)
どうも色々試したところ、全く無のシェーダー(入力がそのまま出力される)をかけてみても、この黒い箱は消えませんでした。
NaniNovelはキャラクターの表示方法がいくつかあり、平野さんはLayeredCharacter、他のキャラクターはSpriteCharacterとなっています。色々あがいてみましたが、多分LayeredCharacterと、このマテリアルを変える方法は相性がよくないっぽい……と判断しました。

というわけで、キャラクター単体じゃなくて、画面にポストエフェクトを掛けていくかたちで実装していきます。

遠回りその2 URP非推奨

NaniNovelのポストエフェクトは、エフェクトを追加したCameraPrefabに切り替えるよう設定することで実装できます。
公式のマニュアルにある動画では、Camera Filter Packというアセットを適応させています。今回は自作したいので、ポストエフェクトを掛けるだけじゃなくて、この方法でポストエフェクトを実装できるようにしないといけません。見たところかなりいい感じのアセットなので、買ってみるのもいいかもなんですけどね。

カメラにポストエフェクトを掛ける際、調べると出てくるのが、大体URPを使ったものです。Unityのシェーダーって言ったら、最近はURPが主流で、色々な場面で汎用的にいい感じに使えてURP最高!!! って感じだったので、私も最高になるか……って進めていたら、NaniNovelはURP非推奨です。素人にはおすすめできない。と書いてあって断念。

Post Processing Packageを入れる

URPを入れないで、カメラにポストエフェクトを掛けるには……と調べると、どうやらPost ProcessingというPackageを入れるとよい。結果的にこれが正解でした。

Post Processingはカメラのコンポーネントに追加でき、Post-process LayerとPost-process Volumeを追加し、Add effectボタンを押すと、ポストエフェクトを追加することができます。

初めからいくつかのポストエフェクトが入っていて、先程のBloomとか、色調を変えたりするやつとか、画面の調子を整えるだけならこれだけでも結構いけそうです。

ここに自作のポストエフェクトを追加するには、以下の記事が役立ちました。

【Unity】Post Processing Stack v2入門!簡単にポストエフェクトを掛ける手順を総まとめ - LIGHT11 https://light11.hatenadiary.com/entry/2018/08/07/235251

【Unity】Post Processingで自作のポストエフェクトを実装する - LIGHT11 https://light11.hatenadiary.com/entry/2019/03/31/225111

PostProcessing Stack v2でカスタムエフェクトを作る - Unityを頑張るblog https://ssr-maguro.hatenablog.com/entry/2019/11/19/181217

今回はSRPを使わないので注意が必要で、結局一番参考することになったのは、以下の公式のドキュメント。ここでグレースケールの自作ポストエフェクトを実装しているので、これを改造することでいくつかのポストエフェクトを実装しました。

Writing Custom Effects - unity
https://docs.unity3d.com/Packages/com.unity.postprocessing@2.0/manual/Writing-Custom-Effects.html

このドキュメントのグレースケールもせっかくなのでそのまま追加しました(そのまま追加できました)。もしまほだんでグレスケになる演出があったら、あ、これ使ったんだな、と思ってください。

これを見ると分かる通り、思いっきりシェーダーと実装のためのC#を書くことになっていますね。そう、結局shader graphではなんかいい感じにできなくて、コードを書くことになりました。

実装する上でいくつかわからないところは、chatGPTを活用したりもしました。

ちなみにCameraPrefabの設定はこんな感じ。

変えたのは、
Clear Flags : Solid Color
Background : #000000
Projection : Orthographic

ポストエフェクトが出来た!



というわけで、上がそのまま、下がポスタリゼーションと色収差を掛けたもの。

拡大すると、左がそのまま、右が掛けたものです。
画像だけで見ると掛けないほうが良くない? という感じですが、ゲーム画面だと掛けたほうがいい感じになります。実際の調整は絵との相談で、そのあたりも記事に出来たらいいですね。
何はともあれ自作のポストエフェクトを導入できました。めでたしめでたし。

表情差分

こっちのほうは素直に、NaniNovelのマニュアル通りにやればできました。


平野さんがニッコリ笑ってくれます。かわいいね。

これは平野さんのレイヤー構成がそのままPrefabのグループの構成になっており、


スクリプトのように表示レイヤーを切り替える感じで実装されています。

というわけで、今回はこんなところで。
次回は口パクに挑戦したいな~と思っています。調べてみると結構大変そうですが、頑張ります。多分ティアキンクリアしてからの更新になるんじゃないでしょうか。それではまた!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

もっきゃりぺお 2023/04/29 21:01

【ノベルゲーム制作】①Unity Naninovelノベルゲーム 開始~キャラクター表示【まほだん】

活動記録

新たに一員となりました水面です。


もっきゃりぺおの一員となりました水面です(これはハセさんという方に描いてもらった私で、完全にこれです)。もっきゃりぺおでは、主にゲームとして実装していく仕事をします。他には(私自身もシナリオが書ける人なので)シナリオの相談に乗ったり、案を出したり、どういう方法で展開していくか……とかの話をしたりと、色々しています。備忘録や思考整理を兼ねて、せっかくなので記事に残しながら作っていこうと思います。使い方の解説をする記事じゃないので、細かい使い方はマニュアルを読んでね。

スキルについて

unityははじめてです。C#はちょっと触ったことがあります。
CとかpythonとかC++とかも浅く広く触っているので、プログラミングの全くの初心者ではないです。プログラミング初学者というところで……。私はどっちかというと組み込みとかのハードウェアを動かす方のエンジニアなので、ソフト開発らしいソフト開発はほとんどはじめてなんじゃないかな。
まあプロダクトを考えて実装することはどんなモノづくりだって同じでしょ。という気持ちで取り組んでいます。みるきさんがありえんスピードでゴリゴリシナリオを書いているから私も急がねばならぬと決意した。なんかもう最終章話書いてるし……。

Naninovel

NaninovelはUnityのアセットなのですが、英語です。色々と機能が充実してて、デフォの画面もかっこいいし、色々な環境に移植する際にも勝手に対応してくれるらしいので、Naninovelでやることになりました。
ちょっと触ってみた、みたいな記事や説明はあるけれど、これでガッツリ作っている過程が日本語の記事になっているのはあまり見ないので、読む価値のあるものが残せるだろうと思い、記事にしています。ci-enの記事はいくらあってもいいしね。
純粋にテクニカルな部分の書き出しだけじゃなくて、どういう流れでゲームを作っていくのか……みたいなのも残せたらいいですね。

まずはざっくりデモを触ってみる

基本的な処理はだいたいわかる

なにはともあれデモを触ってみます。プログラムならとにかくできてるものを見て学ぶのが一番だと思ってます。合わせて


NaniNovelはビジュアルエディターって機能があって、動かしながらコードをリアルタイムで追えるから、理解も容易だしデバッグもしやすそうです。キャラクターの挙動や画面効果、演出などを、こういう形でスクリプトとして書いていけばとりあえずはモノになりそうです。
さらっとNaniNovelみたいなアセットを使わない方法でのノベルゲーム作成を調べもしたんですが、バキバキにプログラムする必要がありそうで、ちょっと大変そうでした。
デモで基本的なことはわかりました。マニュアルも同時に追い、どういうことができるかをざっくり確認しました。みるきさんにも、こんな機能があるけどやりたい演出とかある? みたいな質問をしました。それ以外にも、とりあえずマニュアルを眺めて、実装方法はわからなくてもいいから使いたいものがあれは言ってねと伝えてあります。

機能の活用って、すでに表現したいものがあってその手段を探す場合と、機能があってそれならこういうこともできそうだねと広がる場合がありますよね。せっかくNaniNovelを使うので、よくなりそうなら積極的に使いたいところです。

ここからどう制作していくか

チュートリアルには当然、NaniNovelのすべてが書かれているわけじゃないので、すでに決まっている表現したいことの実装方法を考えていきます。
ノベルゲームとして形にするだけなら、テキストを流し込んだあと、ごりごりとスクリプトとして実装していけば、とにかく形になるというのはわかりました。そのままでもかなりおしゃれな感じのセーブ画面、ロード画面とかもすでに用意されてます。なので、ごりごりとスクリプトを書くだけじゃどうにもならない色々なことや、スクリプトを書く前の準備について考えてみます。

  • キャラクターの登録
    • 口パクしたい
    • 表情やらなにやら、差分がめちゃめちゃある
    • 照明の効果だったり、フィルタをかけたりしたい
  • 画面づくり
    • 文字が表示されるところ(プリンターというらしいです)も変えたいし
    • 枠とかつけたい
    • ちなみにおおよそ作りたい画はみるきさんにすでに提示してもらっています
  • かっこいいカットイン
    • カットインを入れるとき、かっこいい感じに入れたい
      • なんかこう……いい感じに入ってきたりね
  • ストーリーの分岐
    • 何を隠そう、まほだんには分岐があります!
  • 特殊なゲームモード
    • 『魔法少女確殺弾』モードというフリーカーソルのモードが挿入されます
    • これはまあ、ちゃんとプログラムをしないといけないでしょうね
  • 多言語対応
    • まほだんは英語とか中国語とかに展開する予定です
  • CG集 エンディング集
    • まほだんはマルチエンディングなので、コレクションしたいですよね

ざっとこんなところでしょうか。他にも細かい色々はありますが、とりあえずこんな感じで実際に作っていきましょう。ものを作るとき、仮固定として方針ぎめをして、それから進めるのがいいんじゃないかな、と思います。まったく方針ぎめをしないとバタバタするし、はじめに決断的に全部決めるのも、現実的じゃないですからね。

平野さんを表示できるようにしよう!

というわけで、まずはキャラクターの表示をしましょう。ただの立ち絵なら簡単で、枚数が少ないなら表情などの差分も全部画像を用意すればいいんですが、もう少し込み入ったことをやりたいです。特に口パク。
というわけで、今回はLayerdCharacterという方法でキャラクターを用意します。
この方法だと表情差分とかを作りやすそうです。unityのスプライトレンダラーという機能をガッツリ使う機能っぽいですね。服を変えるとかもやりやすそう。なにより、PSDImporterPacakageという方法で、PSDファイルからレイヤー情報をある程度維持ししたまま読み込めるらしいので、これは便利そうです。基本的にみるきさんにクリスタで作り込んでもらって、それをインポートする感じでやっていきます。

そのままPSBファイル(PSDインポーターだけどPSBファイルなんですね)を投げ込めばいいんだと思ってしばらく悩んだんですが、PSBインポーターっていうアセットをいれないといけないんですね。入れたら一発で通りました。ちゃんとレイヤーごとに分けられるデータになってますね。


というわけで、デモにねじ込まれて荒野で元気よく挨拶する平野さんです。やった~表示はできたぞ!(デモで表示されてるNaniNovelのNaniくんの代わりに平野さんを表示できるようすげ替えました)

今回はこんなところで。次回は表情差分とか、シェーダーとかで、もっとちゃんと色々実装してみようと思います。GWなので、そこでやれたらいいですね!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

もっきゃりぺお 2023/04/23 21:21

【ゲーム開発】⑥「魔法少女確殺弾」制作進捗

こんにちは!
サークル「もっきゃりぺお」のみるきーです!
さてさて今回の進捗は…

三章が書き終わりました

やった~~~~~!!
四章構成なので残すところあと一章です。
終わりが見えてきましたね(シナリオだけは…)
めちゃくちゃ面白いものが出来上がりつつあります。
前作「世界を破壊する魔法」でもシナリオは高評価だったのですが、
前作よりもぐぐっとパワーアップ!
エンタメ! 暴力! 百合! 特殊性癖!
という感じになっています。
皆さんにプレイしてもらえる日が楽しみです。

もっきゃりぺおに新メンバーが加入しました

水面さんです。
水面さんは前作「世界を破壊する魔法」でも大変お世話になった方で、
全体的なシナリオの的確なアドバイスをくださったり、


作品紹介ページのポエムを作成してもらっています。

「魔法少女確殺弾」ではシナリオを見てもらったり
ゲームのプログラムを組んでもらう事になりました。
もっきゃりぺおは新体制になりますが、
今後とも応援よろしくお願い致します!
↓水面さんからもコメントが届いています!↓

というわけで水面です。
heartのスペリングはhartじゃないよ、とかのちょっとしたアドバイスから、
こういうヘキならこういうシチュエーションがあるよ、とか、
えっちすぎる、気が狂う、とかコメントして製作をサポートしています。
正直unityは触るのがはじめてなんですが、多分C++とかよりは気のいいやつだから仲良くやれると思います。
そういうシステム的なことの進捗があれば、ここでちょっとした記事を出せたらなの気持ちです。よろしくお願いします。

という訳でした。心強い!! ありがとう!!

開発環境をunityにしました

前作ではティラノビルダーでゲームを作っていたのですが、
水面さんにプログラマーとして参加してもらう事になった影響で、
開発環境をティラノビルダー→unityに変更する事になりました。
ティラノビルダーからunityにすると、
より色々な事ができるようになります!
つまりぐっっとゲーム性が高まります。
すごく面白いものが作れるようになると思うので、
楽しみにしていてください。

boothで得た利益をありがたく製作の足しにしています

https://mokapedesu.booth.pm/
ci-enでのチップやもっきゃりぺおショップでの
ご支援などありがとうございます!
さっそくNaninovelという
unityでノベルゲームを作るためのアセットの
購入費用に一部当てました。とても助かっています!
ci-enで有料プランを作るのはゲームの形が
できてからにしようと思っているので、
現状のできる形で支援してくださるのはとてもありがたいです。

あとはツイッターでちょこちょこイラストのせるようにしてます

いつもリツイートありがとうございます!
以下はツイッターであげたイラスト+特別なラフを乗せています。
無料プラン加入者限定記事です、ぜひ加入してみてください~!

【 もっきゃり500えんぷらん 】プラン以上限定 支援額:500円

化け物になる平野みずちとかが見れます。

プランに加入すると、この限定特典に加え、今月の限定特典も閲覧できます 有料プラン退会後、
閲覧できなくなる特典が
あります

バックナンバー購入で閲覧したい方はこちら
バックナンバーとは?

月額:500円

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

もっきゃりぺお 2023/03/19 19:02

【ゲーム開発】⑤「魔法少女確殺弾」制作進捗

こんにちは!
サークル「もっきゃりぺお」のみるきーです!
さてさて今回の進捗は…


ゲーム画面のUIを暫定で決めたり~!

シナリオを進めたり~!

新キャラのキャラデザをしたりしました。
という訳で詳しく紹介していきます!

新キャラしょうかい!

ひゅーひゅーぱふぱふ!

浪川えり&田口はな です。
(誤字に関しては大目に見ていただきたい……)

田口はなは平野みずちの友人です。前作「世界を破壊する魔法」
に出てくる平野みずちの友人の名前と容姿を借りたかたちになります。
性格は大人しくて優しい感じです。普通の女の子。

浪川えりは魔法少女のオタクで、魔法少女に憧れを抱いています。
トラブルメーカーな一面も…?

平野みずちのお父さんとお母さんです。
どちらも優しい人で、平野みずちの事を大切に思っています。

平野みずちが家で飼っている愛犬チャッピーです。
かわいいね。

シナリオは具体的にどれくらい進んだの

二章がやっとこさ書き終わり、今は三章の前半を書いています。
この「魔法少女確殺弾」は4章構成なので、構成としては半分いったという事なんですが、話としては盛り上がれば盛り上がるほど物量が多くなるものなので
…やはり先が見えてこないw でもうんしょっうんしょっと悩んでたところを乗り越えられて峠は超えたようなきもちもあります! 気が早すぎでは?

そのほか悩み

以前のせかはかは日本人以外の方にも遊んでいただけたのもあり、
今作はローカライズを絶対にしたいぞ! という気持ちがあります。
ただ、頑張ってやりくりするつもりなのですが、資金面でだいぶ不安が…
ローカライズのための資金援助をみなさんにお願いするにしても、
ローカライズという関係上どうしても
日本人ファンの方の多くに実感のある還元ができないこともあり、
ちょっとどうしようかなと。考え中です。
今思いついてるのだと、ci-enの記事をdeeplとかに
ぶっこんで翻訳してもらって
再投稿するとかです。(大変だけどそれしかなさそう)
(そもそも魔法少女確殺弾というタイトルが
ネイティブ的に訳するとどういう感じなのかとかもわからん)

以下はプラン加入者さま限定記事になります~

【 もっきゃり500えんぷらん 】プラン以上限定 支援額:500円

いろんならくがきです

プランに加入すると、この限定特典に加え、今月の限定特典も閲覧できます 有料プラン退会後、
閲覧できなくなる特典が
あります

バックナンバー購入で閲覧したい方はこちら
バックナンバーとは?

月額:500円

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

もっきゃりぺお 2023/02/28 08:56

【ゲーム開発】④「魔法少女確殺弾」制作進捗

こんにちは!
サークル「もっきゃりぺお」のみるきーです。

2月が終わる!! というか2月あまりにも少ないですね。
なんで28日しかないんだよ~。

アクリルキーホルダーつくりました

https://mokapedesu.booth.pm/
こちらから注文できます! オンデマンドって楽~!
ci-enさんでboothのリンク貼るの、ちょっと背徳的ですね。
せかはかのグッズなのですが、出た利益は
まほだんの開発費に使わせて頂きます。
皆さん応援ありがとうございます!

実際進捗どうなんだ

プロットを手直ししてもらったり、シナリオ分岐をどうするか詰めたり、
結局ティラノスクリプトじゃなくてunityで開発するかとなったり…
(まだ予定は未定ですが)そういう、夜空の星座を
具体的になぞるような作業をしたりしてもらったりしていました。
前回もちらっとお話しましたが、魔法少女の技名などなど、
水面さんという方に全面的に協力して頂いてます。
水面さんは前作の『世界を破壊する魔法』でもシナリオを見てもらったり、
作品紹介ページで使っている冒頭のポエムを作ってくださった方です。
めちゃくちゃやり手! 敏腕!
ほんと助かってますいつもありがとうございます……!
水面さんがいなかったら平野がチンピラのままでした。敏腕!
https://ci-en.net/creator/10768/article/759987

今月は正直、シナリオ自体はあまり進まなかったです。辛い…
胃カメラ飲んだり胃を壊してのたうちまわってたり
(ずっとおかゆ食べて過ごした)
蕁麻疹でかゆかゆになったりしててんやわんやでした。
とりあえず病院の力で全部良くなった気がするので
前に進んでいきたいですね。確定申告ってやつを攻略…してからね…

ツイッター等にあげたイラスト

みるきーのアカウントであげたりなんだりしてしまいましたが、
まほだんの絵なのでこっちにまとめておこう。


落下平野。

ねこのひ。

電柱の上にいる夕暮とそれを見上げる平野。

鼻血出て横たわっている朝野。お大事に。

以下はもっきゃり0えんぷらん限定記事です!

【 もっきゃり500えんぷらん 】プラン以上限定 支援額:500円

ちょっとしたラフ・そして敏腕手伝い者の偉業の一部

プランに加入すると、この限定特典に加え、今月の限定特典も閲覧できます 有料プラン退会後、
閲覧できなくなる特典が
あります

バックナンバー購入で閲覧したい方はこちら
バックナンバーとは?

月額:500円

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

1 2 3 4 5

月別アーカイブ

記事を検索