FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Unity製ノベルゲームの試作版の中身を公開

以前からUnityでADVを制作するシステムを作っていましたが、色々次のステップに進むのに迷っているので、とりあえず現時点の物を公開することにしました。

UnityでADVを作るメリットは正直アンマリありません。上げるとすれば

・マルチプラットフォーム
・3Dに対応可能

これぐらいです。普通に考えれば他のマルチプラットフォームADVエンジンを使う方がいいと思います。

ですが、一定の条件を満たせばUnityで作る意味が見いだせると考え、自分はUnityでADV制作に乗り出しました。
条件は

・非同期処理が可能
・オブジェクト単位の管理(キャラクターや背景毎に管理)
・高い拡張性

少なくともこれらの条件は満たしておく必要があると考えています。
現状のマルチプラットフォームADVエンジンで以上の条件を満たしているものはほとんどないのが理由です。
逆説的にこれらを満たせていない物はUnityでやる必要が見いだせていません。

これまでの流れ。

・BeHindKiller   WebPlayer版
始めて公開までしたUnityで製作したADV。
元々は吉里吉里で作ったもので、スクリプトに使用していた独自のマクロを読み取る形で実現。
OnGUIのみで作り、各種メニュー等も実装したのでそこそこ色々試せた気がします。
ただ、切り替え演出が弱く一瞬画像が薄くなるのが難点。
また、拡張する形で作ったのでごちゃごちゃになり、恐らく中身は絶対に公開はしない。
バグが大量にあるだろうと思うけど、一旦放置している。

・ルールトランジションが出来るようになった

詳細はこちらの記事で
Unityで吉里吉里のユニバーサルトランジションっぽいのが出来るようになるシェーダー

これにより切り替え演出に関してネックな部分がなくなった。

・夕空恋歌   WebPlayer版
元々は所属しているサークルで一時間でノベルゲームを作ろうぜって企画の作品。
詳しくはここ
短かったのでやりやすいと考えて移植しました。
元々KAGEXで作ってたので、それを読み取るようなシステムを作成。
OnGUIからPlaneに変更して見たり、色々機能のまとめ方とかを考えるために試作した形になります。
今回公開するのはこちらです。

パッケージの形で配布します。自由に使って貰って構いませんが、使用したことによる損害等の責任はおいません。
パッケージ
そもそも完成版でもないので、セーブロードや色々出来ていません。
公開した理由はADV作りたい人の参考になればという感じです。


・今後の予定
次の試作版ではイベント処理システムをメインに作っていこうと考えています。
その試作版を作り終えて、恐らく本格的なシステム開発に移行する予定です。


スポンサーサイト

ユニティちゃんゲームジャムで作ったUI


今回、立命館BKC会場のユニティちゃんゲームジャムに参加しました!

それで、ゲーム自体は後から公開されると思います。それで自分が作った所をソースごと公開する事にしました。
使いたい人は素材もソースも使っても構いません。基本的に参考になればと公開しました。

で、自分の担当箇所は作った部分はUIです。スタートとかロード押すともう一度タイトルシーンを開始します。

WEBPlayerデモ

Unityパッケージ

・使い方概要

CubeとかPlaneにUIButtonを継承したスクリプトをコンポーネント
UIMenuのスクリプトを継承したスクリプトを空オブジェクトにコンポーネント
UIMenuにボタンを登録し、autofoucuにチェックを入れる

詳しい使い方が知りたい人とかいたらTwitterとかメールで言って貰えれば教えます。

Unityで吉里吉里のユニバーサルトランジションっぽいのが出来るようになるシェーダー

概要をざっと書くと。
吉里吉里のルール画像を用いたユニバーサルトランジションをUnityで実現するための物。
たぶん、Unityメインの人には余りよく分からないと思います。
ルール画像という白黒の画像を用意して、黒い部分から白い部分への変化に合わせて画像を変えるための物です。

Webplayerデモ

ぶちゃけ、デモ見れば分かるはずです。

割りと強引な手段です。実際、誰もやらなかっただけで誰でも作れたものだと思います。
Unity でアルファマスクを使う
主にこれを参考にして作りました。

シェーダー本体

使い方

・Planeなどに『Custom/RuleTrans』をセットする。

・テクスチャをセット
Base(Main)は通常表示されているテクスチャ
Fadeは切り替えるテクスチャ
Ruleはルール画像のテクスチャ

・スクリプトでTransやRuleの値を弄る
確かめるだけならInspectorからいじればOK。

(補足)
自分は基本的にOnGUIで挙動を確かめているので、Planeなどに貼り付けた場合に起こるエラーなどは理解していない可能性が高いです。

最後に

一応、作った事によるテンションだけで公開しました。
恐らく今後機能を拡張するのは間違いありません。


ベースはUnityに標準でついてくるシェーダーを元に作っています。
なので、著作権とかが調べてないと言いますか、今の所、調べる気力がないので、使う人はその辺りを自分で調べて使って下さい。
基本的に著作権フリーの方針で行きますが、AssetStoreなどで公開する物に含める場合は連絡下さい。
連絡を入れて貰えれば、返事が来なくても使って大丈夫です。
ちなみに連絡を貰うのは実際にどう使われてるのかをみたいだけなので。

まとめ
・大元の著作権がどうなってるのか理解している(判明しだい消します)
・著作権フリー
・改変OK 
・AssetStoreでの公開物に含める場合は連絡(ただし、返事はなくても使って構いません)
以上


【宣伝】


BeHindKiller
元々Unity作ってたADVのシステムに、吉里吉里で作ったこれ移植できんじゃねって無理やりねじ込んだ作品。
ADVのシステムが未完成であり、マップ探索など想定していなかった作りだったからさあ大変。
さらに移植にこだわりすぎて、元のスクリプトを偏重した余り内部がトンデモなくグチャグチャで見せられなり、バグも量産している(現在も探せば残ってるはず)。
中のこと突っ込まれたくない気持ちとADV作ったぜどやって気持ちであんまり強気の宣伝が出来なかったが、最近吹っ切れた。
ちなみに内部のことを一つ言うと全部OnGUIで回してます。
バグを直すか迷ったんですが、もうADVシステムをきちんと組んでから、再び挑戦した方がいいだろうとやっていません。

UnityChan JumpGame
ユニティちゃんを使って作ってみたゲーム。
基本的にゲーム内容は説明不要なぐらい単純なので、特に触れません。
一応、Google Playとふりーむとで配信していて、Androidでもプレイできます。
ただ、スペックが少し必要なのとやってるとスマホがカイロになるらしいです。




OnGUIのボタンの重ね合わせ

Unityでボタンを重ねて表示したい場合、少々厄介なことが一つあります。
それはクリックした時に下に表示されているボタンが反応する点です。
まあ、基本的には上に表示されているボタンが反応して欲しいですねってことで、一応対処法があります。

まず、なぜこれが起こるかですが、OnGUIは呼び出された際のイベントによってGUIの動きが変わることに原因があります。
クリックされたことによって発生したイベント時にマウスがボタン内にあると、ボタンがクリックされたと解釈しているわけです。
ここで問題なのがイベントに呼び出されそれに応じた動きがあった際、このイベントは終わりましたって解釈される点です。
当然、下に表示されているボタンは先にスクリプトに記述されるので先にクリックされたと解釈されます。そうすると、今度はイベントが終わってると認識されているので、上に表示されているボタンのスクリプトは素通りされます。

それで本題になりますが、ボタンの重ね合わせと上にあるボタンが反応することに絞れば対処は簡単です。
ぶっちゃけ描写の時だけ重ね合わせ順にスクリプトを記述し、後は逆の順番でスクリプトを書けばOKです。
ただし、あんまり利口なやり方ではありません。ボタンを重ねないほうがいいです。

C#

public void OnGUI(){
if(Event.current.type==EventType.Repaint){
  //ここに重ね合わせの順番にボタンを記述
}else{
  //上とは逆の順番でボタンを記述する
}
}


もっとUnityの記事書くか。

これからノベルゲームエンジンを学ぶ人へ

かなり放置してたのでたまには役に立つことをってことで別の物に載せるつもりで書いたものを乗せます。
まあ、実際は役に立つかは微妙でかなり自分の主観に基づいている気がするが。

とりえず自分は吉里吉里押しです。話すと長くなるので省きます。

【NScripter】
解説:習得は比較的容易だと思われます。基本的な機能は揃っていますが、少し古めです。また、他のプラットフォームへの移植が簡単に行えます。

私見:昔から使っているユーザーか、プログラマーがいない場合によく使われている印象です。機能的も今の時代の演出に追い付いていない印象があります。一応、機能を拡張できるのですが、それをするなら吉里吉里を使ったほうが資料の量などもあり手っ取り早いです。ただし、他のプラットフォームへの移植を考えている場合はこのエンジンを選んで損はないはずです。

【吉里吉里】
解説:解説は省きます。

私見:一言で言えば鏡みたいなエンジンです。実力が性能や機能に直結します。また、情報が圧倒的に多いため学習しやすい環境と言えます。

【LiveMaker】
解説:数少ないGUI操作で制作することが出来るエンジンです。視覚的に制作できるので初心者にも手軽に使うことが出来ます。

私見:NScripterと同じくプログラマーがいない場合によく使われています。また、NScripterとは逆に新しく使いはじめる人が使うことが多い印象です。機能面では標準では少し低く、性能を引き出しても商業の最高レベルには届かないと思われます。しかし、ユーザーから見て満足する作品を作れるだけのスペックはあります。個人制作レベルでは問題ないでしょう。また、企業が作っている数少ないフリーのエンジンですので、サポート面は優秀と言えます。

【YU-RIS】
説明:高性能な機能を持つエンジンです。すでにセーブロードなどの各種システム画面が組まれており、画像や表示位置などを変えるだけで作ることが出来ます。ただし、公式の使用説明が不十分で解説サイトもほとんどありません。

私見:説明でも言いましたが標準の機能で高性能です。すでにノベルゲームに必要な機能は全て揃えられており、新しく追加する必要は余りありません。また、機能を拡張することも可能です。ですが、問題がいくつかあり、習得難易度が吉里吉里よりも難しいことに加えほとんど解説が存在しません。そもそもまだベータ版であるため、若干不安定と言えます。しかし、商業でも見かけるエンジンなので使用に関して問題はないはずです。なので、エンジンの機能を拡張するのが煩わしく、プログラマーがいる場合に使うのがいいでしょう。

【CatSystem2】
解説:元々ノベルゲームを制作している企業が自社で作ったエンジンを個人制作に限りフリーで公開したものです。その為、機能は十分揃っており、その他制作を補助するツールなどもあります。

私見:自分が知る限り最も標準性能が高いフリーのエンジンです。拡張性がありませんが、する必要がないと思われます。ただし、それに比例して習得難易度が高くなっています。また、個人で採用する場合が少ないためか、公式以外の解説がほとんど存在しません。

プロフィール

矢沢 一男

Author:矢沢 一男
同人ノベルゲーム量産中。システム担当。最近、Unityをギャルゲーエンジンにすべく奮闘中。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
メールフォーム

名前:
メール:
件名:
本文:

カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。