ゲーム開発チーム「丸ダイス」の開発ブログです! 公式サイトはこちら

Beautify 2で手軽にゲームの見栄えをいい感じにする【Unity】【ポストプロセス】

「ポストプロセスでゲームの見栄えをいい感じにするアセット」 Beautify 2 を使ってみました! という紹介記事です。

ポストプロセス とは

画像のように「ゲーム画面に後処理を加えていい感じにするヤツ」のことです。(画像はUnity公式から)

f:id:marudice:20220201170120p:plain

ポストプロセスはUnity標準にも簡単な処理はあるものの、組み合わせただけで十分とは言えません。

Beautify 2は高機能なポストプロセスを多数セットになったアセットです。

検証したところ、「50ドル払って適当にチェックを入れてればいい感じになる」、超有用なアセットです!

assetstore.unity.com

使い方

画像のように、Beaufityには3つのunitypackageが入っていてプロジェクトの設定に合ったものをインポートして使う必要があります。

f:id:marudice:20220201172750p:plain

URP(Universal Render Pipeline )と組み合わせて使う場合、Project Settings / Graphics で設定されているパイプライン設定から・・

f:id:marudice:20220201172511p:plain

レンダラーを選んで

f:id:marudice:20220201173204p:plain

Beautify のレンダラーfeatureを追加する必要があります。

f:id:marudice:20220201173448p:plain

デモシーンを開いて、右のようにギラギラしていたらOK. 左のようにのっぺりしていたら何か間違っています。

f:id:marudice:20220201173831p:plain

これで準備はOK. プロジェクトのシーンでもVolumeコンポーネントを付けてAdd Overrideから「Kronnect / Beautify」を追加して、

f:id:marudice:20220201174852p:plain

中のチェックボックスをポチポチしていれば、様々な効果が試せます。

f:id:marudice:20220201175113p:plain

絵を仕上げていく

まずは標準の状態はこう。少しのっぺりしていますね。

f:id:marudice:20220201175853p:plain

ムワッとした熱気を表現したかったので、Bloom(発光)をオンに。明るさが暗い部分に染み出す効果があります。

f:id:marudice:20220201181418p:plain

暑い太陽が差し込む感じを出したかったので、Sun Flare をオンに。(地形で太陽が隠れた時との比較のため、動画で)

Directional Lightがカメラの方に向いていないと表示されないので、Lightも追加しています。

youtu.be

Lens Dirt(レンズの汚れ表現)がキラキラして南国な感じがしたので、それもオンに。

f:id:marudice:20220201181636p:plain

以上です! 夏っぽい感じに仕上がりました!

Beautifyは2Dゲームでも使えるぞ!という触れ込みで、実際2Dゲームでの十分有用、入れて損なしの超有用アセットと断言出来ます。

ただ、「これは2Dだとなぁ・・」というものもいくつかあり、やはりより真価を発揮するのは3Dかもしれません。

※ドット絵 x Beautify 2 限定のハマりポイントがあったので別記事に書きました。もう少し突っ込んだ内容です。

【おしながき】コミックマーケット99

こんにちは! いつも元気なワンワ……丸ダイスです!

コミックマーケット99の出展情報です!

場所は

12/31(金)2日目 東ツ-37b

です!

1.「さかだちの街」(C99体験版)100円

www.youtube.com

さかだちをして視点をひっくり返すことでぶら下がってることになっちゃう

製作中のさかだちパズルアクションです!

11月のデジゲー博で展示したものと大体同じ内容で、開発中の仕掛けやステージを少し体験出来るものです!

制作中のものでも触ってみたい!という人はぜひどうぞ!

丸ダイスの描いたオマケのポストカードがダウンロードカードになってます!

ほか既作

f:id:marudice:20190727031518j:plain:w150

f:id:marudice:20180730013543p:plain:w150

新しく制作したディスク版になります!

最新バージョンですが、今後Steamなどで予定している翻訳・コントローラー対応版などへのアップデートは出来ない可能性が高いです。

ファングッズだと思って頂ければ。

f:id:marudice:20180730025011j:plain:w150


既作たちは大体いつもどおりです!・・・気付けばもう2年新作が出てない・・・!?

な、なんてこった!! みんなコ○ナのせいだーーー!!()

【Unity】Grid By Cell Size でのSprite EditorのスプライトシートSliceを自動でやる方法

ドット絵のゲームではこんな感じのスプライトシートをアニメーションに使います。 f:id:marudice:20210505110243p:plain

通常はこんな具合に

f:id:marudice:20210505110801p:plain:w400

テクスチャのImport Settingsから48x48でBottomが原点~みたいな設定でSliceしてスプライトシートを作るのですが・・・

f:id:marudice:20210505110949p:plain:w300

まぁたくさんあって大変ですね・・。毎回同じ設定で良いので自動でやりたい。

答えはほぼこちらのフォーラムにあって、おなじみのAssetPostProcessorエディタ拡張を使います。

Cell Size 48x48
Pivot Bottom Center
ほか ドット絵っぽい設定
対象 "Assets/Texture/Sprite"以下のテクスチャのみ

例えばこんな感じなら、 以下のコードをAssets/Editor以下に入れれば、対象フォルダに画像を入れるだけで自動でSliceまでやってくれます!

GridSpritePostProcessor.cs

using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class GridSpritePostProcessor : AssetPostprocessor
{
    public override uint GetVersion()
    {
        return 1;
    }

        // 特定のパス以下のみ処理する
    private bool IsAssetGridSprite() { return assetPath.StartsWith("Assets/Texture/Sprite"); }

    public void OnPreprocessTexture()
    {
        if(IsAssetGridSprite())
        {
            TextureImporter importer = (TextureImporter)assetImporter;
            importer.textureType = TextureImporterType.Sprite;
            importer.textureCompression = TextureImporterCompression.Uncompressed; // ドット絵で圧縮すると色が崩れる
            importer.filterMode = FilterMode.Point; // ドット絵でポイント以外を使うと超ぼやける
            importer.spriteImportMode = SpriteImportMode.Multiple;
            //importer.spritePixelsPerUnit = 48; // 何ピクセルを1.0とするか?必要ならゲームに合わせてお好みで.
        }
    }

    // code from here: https://forum.unity.com/threads/sprite-editor-automatic-slicing-by-script.320776/
    public void OnPostprocessTexture(Texture2D texture)
    {
        if (IsAssetGridSprite())
        {
            ImportGridSprites(texture);
        }
    }
    private void ImportGridSprites(Texture2D texture)
    {
        TextureImporter importer = assetImporter as TextureImporter;
        if (importer.spriteImportMode != SpriteImportMode.Multiple)
        {
            Debug.LogErrorFormat($"GridスライスするスプライトがMultipleになっていません");
            return;
        }

        var cellSize = new Vector2(48, 48);
        Rect[] rects = UnityEditorInternal.InternalSpriteUtility.GenerateGridSpriteRectangles(texture, Vector2.zero, cellSize, Vector2.zero);
        List<Rect> rectsList = new List<Rect>(rects);

        string filenameNoExtension = System.IO.Path.GetFileNameWithoutExtension(assetPath);
        List<SpriteMetaData> metas = new List<SpriteMetaData>();
        int rectNum = 0;

        foreach (Rect rect in rectsList)
        {
            SpriteMetaData meta = new SpriteMetaData();
            meta.rect = rect;
            meta.alignment = (int)SpriteAlignment.BottomCenter;
            meta.name = filenameNoExtension + "_" + rectNum++;
            metas.Add(meta);
        }

        importer.spritesheet = metas.ToArray();
        AssetDatabase.Refresh();
        Debug.Log($"Generate {metas.Count} sprites from {filenameNoExtension} PostProcess.");
    }
}

いい感じですね! good stuff! f:id:marudice:20210505113122p:plain

【EQUALINE】ver 1.4.2 アップデートパッチ

こんにちは!丸ダイスです!

EQUALINEにFailure Reviewという失敗した問題を復習する機能が追加されました。

f:id:marudice:20210313014204j:plain

出来なかった問題も、復習してパターンを身につければ地力がましていつか打開できる!という寸法ですね!

Steam版、itch版と同様、パッケージ版でもこのFailure Reviewが追加されたver1.4.2が利用可能になります。

下記URLよりダウンロード&実行で最新版に更新可能です。

https://drive.google.com/file/d/1xhaSZGCmRagIX_ELFUSRhJm34Db8EKNR

どのバージョンからでも最新版に更新可能です!

ver1.4.1, 1.4.2 の修正内容は以下の通りです

・ゲームオーバー後のFailure Reviewを追加

・Failure Reviewを複数問題対応

・ゲームオーバー時の演出バグを修正

【EQUALINE】Steam版公開、ver 1.4.0 アップデートパッチ

こんにちは!丸ダイスです!

Twitterで告知したEQUALINEのSteam版がついに配信開始となりました!

store.steampowered.com

Steam版では、今までイベント会場限定だった対戦モードが正式に実装され、計算の腕を競い合うことができます!

f:id:marudice:20210211142442j:plain

また同時に、Steam版向けの追加要素を含むパッケージ版向けのver1.4.0アップデートパッチを配信しました!

パッケージ版をご購入の方は下記URLよりダウンロード&実行で最新版に更新可能です。

https://drive.google.com/file/d/1bI63fqYO7EYdSxN8FeVJ8CpCss1n3tCp

どのバージョンからでも最新版に更新可能です!

ver1.4.0での修正内容は以下の通りです

・Battleモードを追加

・Mission 16の演出関連バグを修正

【EQUALINE】itch.ioでダウンロード販売を開始しました!

こんにちは!丸ダイスです!!

EQUALINEの最近

丸ダイスが開発したアクションパズルゲーム「EQUALINE」をご存知でしょうか。

www.youtube.com

EQUALINEはこんなゲーム。数字と記号に線を引いてすばやく計算する「一筆書き計算パズル」です。

EQUALINEは、2019年夏の公開後、長らくコミックマーケットなどのイベント会場限定で頒布を行っていました。

ですが、実はこの半年新たに「EQUALINE」のパッケージを手にとった方は一人もいません。なぜでしょう・・?

そう、なぜなら……

ゲームを頒布できるリアルイベントが全くないです・・・。

理由はもちろん、アレのせいです。

もっと多くの人にEQUALINEを遊んでほしい… 丸ダイスはアレと販売体制の間で苦悩します。

PGRFの競技タイトルに選出

もう一つ、EQUALINEにはいいこともありました。

Twitterで#PGRF というタグを見たことがあるでしょうか?

正式名は「Puzzle Game RTA Festival」といい、2日間に渡って20以上のパズルゲームがプレイされるRTAイベントです

Puzzle Game RTA Festival

このRTAイベントで、なんと「EQUALINE」が競技タイトルに選出&当選し、プレイされることが決まっています!

ほかの当選作品一覧を見てもらえば分かる通り、プレイされるのは誰もが聞いたことある有名パズルゲームばかり・・!

その中で「EQUALINE」がRTAの対象タイトルに選ばれたことに丸ダイス一同(2人ですが)は盛り上がり、舞い上がり、天に昇りました。

ということで……

EQUALINEのDL版を、新しく配信開始します!!

今日からです!配信ストアはitch.io。 こちら からどうぞ。

これに合わせて追加のアップデート!……とかあればよかったのですが、残念ながらないです。

代わりに、Puzzle Game RTA Festivalが開催される10/17, 18(土、日)までの4日間限定で、70%の大幅セールを実施します

配信スケジュールによると、EQUALINEのプレイは10/17(土)17:20ころのようです。

凄腕プレイを見て興味を持った方は、ぜひ遊んで見てくださいね!

unity1week17「しょくもつれんさ・どうぶつえん」開発の振り返り

こんにちは! 丸ダイスです!

先月のunity1weekで「しょくもつれんさ・どうぶつえん」というゲームを作りました!

しょくもつれんさ・どうぶつえん | フリーゲーム投稿サイト unityroom

今回は「1万RT!超バズった!」でもなければ「総合優勝やったぜイェイ!」でもないので軽めですが、 開発の振り返りをします!

企画

いつもどおりババー!っとアイデアを出して(画像略。しょーもないアイデアメモが30枚くらい生まれました)

その中にあった「ゆうなま」「ライフゲーム」「百獣の王」あたりをベースにして

こんな企画に決まりました。

f:id:marudice:20200902203000p:plain:w200f:id:marudice:20200902203054p:plain:w200

決まったのは火曜日の夜くらい。

もう1作作った「こけぴよぱずる」の企画も既に出ていて、企画を比較するとこんな感じ。

  • 「どうぶつえん(仮)」
    • 面白さが不明。状態が複雑すぎて面白いパズルになるか不明
    • 実装が重い(厳密な決定論的シミュレーション、早送りなど時間操作インターフェイス、D&Dエディタ)
    • アートが重い(どうぶつ5種必須。捕食、被食、繁殖などアニメが多い)
    • 「動物を捕食させてふやす」:奇抜でウケそうな表現
    • →明らかにキツそうで不透明なゲーム
  • 「こけぴよ(仮)」
    • 面白さが確実。予測しきれる複雑さで確実にパズルが作れる
    • 実装が軽い(一律方向のキー操作でのターン制パズル)
    • アートが比較的軽い(企画時点では「たまご」「にわとり」のみだった)
    • 「タマゴを孵してひよこがふえる」:奇抜な表現ではなかった
    • →無難に作れそうで普通に楽しめそうなゲーム

「作れるゲームをただ作ってもつまんねぇじゃん!」……という思いが半分、 「いや、既に2日消費してるし、出来るもの作ろうよ…」…という思いが半分。

「どうぶつえん」になりました

どうして(現場猫

開発作業

結果

こんな感じでした「予想通り」って何やねん!という話だと思うので、自分が何を思ったか忘れないためちょろっと振り返りを…。

「楽しさ」が低かったことの評価

丸ダイスがパズルをしっかり遊び始めたのは実はゲームが公開されてからでした。

(実装が重すぎて、パズルの作問はいつも通りとしてステージの配置・通しプレイもPuzzler.K先生にまかせてしまっていたため)。

そして気付きます。「これ、初期配置で全部決まるゲームなのに、複雑すぎて予想しきって解くのムリじゃん…」あなたの企画ですよ。

Puzzler.K先生は、「状態が複雑でちゃんと予測しきるパズルは難しい。要点は抑えながらあとはいろいろ試して解いてもらう」とせざるを得ないことに 比較的早く気付いたようで、そういうパズルデザインが基本になっています。

丸ダイス的にはパズルとしての解ききれなさと同時に、「過程に全く介入できない」不自由さがイマイチだなという評価です。

こうしたライフゲーム的なルールベースシミュレーションはやはり過程が楽しいので、そこを見ているしかないルールはゲーム体験として微妙です。

評価の「楽しさ≒ゲームプレイの競技性」が低くなることはここから予想していました。

「面白そう」さのプロモーションでひよった話

Puzzler.K「あの、動物が食べられる時に『ギエーー!!』とか鳴いて怖いです…」

丸ダイス「よかった!ちゃんと怖く聞こえたんだ!これから動物の残骸を撒き散らしたりしたいな!」

……マジで怖がっていたのにすぐ気付いて、やりすぎたかな・・?と思ってしまいました。

丸ダイスは「ウルトラ草」とか「受精3D」とか、ブラックユーモアが大好きで、表現の面でもちょっと狂ってる方が良い(し、客観的にも有利)と思ってはいるのですが、ややビビリなのです。怒られるのが怖いのです。

結果、実装の物量も相まって、悲鳴以上のハデな捕食リアクションは入れませんでした。

その結果は記事冒頭の動画のとおり。「面白そう」でしょうか?

改めて見ると、「どうぶつがどうぶつを捕食する」インパクトがツイートがTLを流れる0.5秒では伝わらないです。

要は日和ったのです。やると決めたら日和ってはダメです。

心を強く持ち、ファンシーライオンがファンシーウサギを噛みちぎるザンギャク・バイオレンスをお姉さんが満面の笑みで眺めるべきでした(?)。

その他、楽しかったこと、イケてたこと

  • むじ先生のアートが非常に優れていました。おねえさんのキャラ立ち&かわいさ、どうぶつのかわいさ、地形まで含めたアートの統一感、あまりにもカンペキで驚きました。
  • 50以上のどうぶつの声をかき集めてノリノリでミックスした結果、要所でどうぶつがガンガン鳴くいいサウンドデザインが出来ました。
    • 最近、テーマに合わせた音作りに慣れてきて楽しいです。シンセは出来ないんですが…。
  • これだけ狂った基本ルールの元でも、ちゃんとパズルを作り切ったPuzzler.K先生はやはり偉大です
  • 「斬新さ」が結構高いのは(予想はしつつも)安心しました。ルールそのものの物珍しさを感じてもらえたようです

今回の試作はイケる?ボツ?

ボツです

理由は、ゲームの競技的な楽しさを上げるためにルールの根本的見直し(例:途中の介入を踏まえたパズルとして再設計)が必要だからです。

ちょっと残念ですけどね。私はtnk先生の「やってダメならすぐ諦める」という言葉を信じたいのです(ちなみに、ラピッドプロトタイピングのプロと言えるハイパーカジュアルのクリエイターも口を揃えて同じことを言います)

こけぴよぱずる 振り返り

追記:2作目「こけぴよぱずる」についてPuzzler.K先生がTwitter連投で書いてくれました!