FreelyApps

個人によるアプリ開発の日記です。アプリの収入だけで生活できるようになるのが目標です。UnityでAndroid向けのゲームアプリを作成しています。


    ブログを
    https://freelyapps.net/
    に移転する予定です。
    リンク切れがある記事はこちらに移動した可能性もあります。

    カテゴリ: Unity

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Asset Storeに「Gem Shader」 というものがあります。名前の通り宝石のような見た目を表現するシェーダーを提供するアセットです。デモシーンは以下のような感じです。

     
    宝石のようなモデルに専用のシェーダーがついています。デモシーンはリフレクションプローブを使用しているので、Quality Settingsでリアルタイムのリフレクションプローブを有効になっていないと、反射がされず真っ黒になってしまいました。赤く囲ったところのチェックを入れればちゃんと表示されます。
    gem-qs

    gems-noreflection

    言うまでもないかもしれませんが、きれいな表示がされる反面描画にはそれなりのコストがかかります。モバイルで使うにはドローコールが多くなりすぎる気がします。(ひとつのマテリアルごとに2ドローコール。)
    アセットに入っているモデルにStandardシェーダーを適用したものを使ったりすると、描画負荷を減らすことができます。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Unity Multiplayerの料金について」でPersonal版のUnityでは20CCUの制限があり、これを取り払うことはできなさそうだと書きました。一応Unityの方に質問をしてみたのですが、やはりそうだということでした。

    Unity Multiplayerを使ったゲームを作り、制限なくオンラインを行うにはPro版を買うしかありません。つまり、商用としてオンライン機能を提供するには、Personal版の場合はUnity Multiplayer以外の方法を考えるべきということになります。
    Unity MultiplayerはUnityに組み込まれているので使いやすいものです。それだけにマッチングのためのサーバーを利用したくても利用できないという現状は残念という他ありません。将来的にアセットストアで従量課金分チケットとか売ってそうな気もしますが、今のところはPhotonとかを利用するのが賢明だと思います。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Invokeという便利な関数があります。これは好きなメソッドを何秒か遅れて呼ぶという機能です。ある時点で発生することは確定するが、少し遅らせて処理をしたいという時に使うと簡単に処理ができて便利です。

    「ボタンを押したときにSEが流れて、それからWebページに飛ぶ」という処理を作るときにこれを使いました。ボタンを押した瞬間でSEを再生するのですが、同じタイミングでWebページに飛ばしてしまうと制御がブラウザーの方に切り替わってしまい、SEが途切れてしまいます。
    これを防ぐため、 ボタンを押した瞬間でSEを再生し、同じタイミングでWebページに飛ばす処理をInvokeで予約しておくのです。0.5秒ほど(SEの長さによります。)遅れてWebページに飛ばすにはInvoke("GoWebpage", 0.5f);というようにします。

    すぐに処理を行わないので、1度しか実行したくない場合でも複数回実行してしまうミスが起こりやすいです。フラグによる制御でも良いし、CancelInvokeで呼ばれているものを消してからInvokeしても良いです。IsInvokingを調べて予約されていたら、Invokeしないというのでも同じことです。

    何回も処理を呼ぶInvokeRepeatingというのもあります。 間違って使うと処理の流れを複雑にしやすいですが、処理の遅延を簡単に書けるのは重宝すると思います。
    Invokeで呼んだ中でInvokeを呼ぶような構造にすると、厄介なので遅延のために1回だけ使うような単純な使い方が良いと思います。

    InvokeはMonobehaviourのメソッドで、アタッチしたゲームオブジェクトが消えると呼び出しは破棄されるようです。Invokeで重要な処理を呼ぶときは、ゲームオブジェクトが破棄されないようにしておくことになります。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    新しいサイトの方へ引っ越しました。

    このページのトップヘ