いんでぃーづ

個人でゲーム開発してる上で吸収したモノたち紹介。UnityからGIMPまでなんでも。デザインとかゲーム論まで語っちゃうよ的なアレ。

MENU

Unity : Google Game Service ログイン実装 - Android 公式 無料プラグイン使用

今まで Google Play Games のログインはアセットストアのものを使っていたのですが、Google公式のプラグインに載せ替えたのでまとめ。

続きを読む

Unity : テキストファイルをメンバ変数として扱う [C#]

TextAssetというクラスを使うと、テキストファイルを扱えます。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;

public class TextSerializeTest : MonoBehaviour {

        // テキストファイルをメンバ変数に
    public TextAsset RawTextFile;

    void Start () {

            // テキスト読み込み
            StringReader stackLevelCostReader = new StringReader(RawTextFile.text);
            string text = stackLevelCostReader.ReadToEnd();

    }   
}

インスペクターからファイルをドラッグ&ドロップすればよし。

TextAssetで扱えるファイルの拡張子は下記リンクに載っている、.txt、.html、.htm、.xml、.bytes、.json、.csv、.yaml、.fnt。
Resources.Loadしなくてよいので覚えておくと便利かも。

Unity - マニュアル: テキストアセット

Unity - スクリプトリファレンス: TextAsset

Unity : 錯視での瞬間移動を表現する

先日試したモニュメントバレーの件でもういっこ。

錯視で離れている場所がつながり、さも最初から道があったかのように移動できるギミックをためしました。

f:id:sugar_affordance:20170204101806g:plain

古くは無限回廊からある手法ですね。

続きを読む

Unity : Gitなどで共有時のビルド対象プラットフォームを固定する

UnityはLibraryディレクトリがないプロジェクトをPCビルド設定で開きます。

あまつさえアセットのインポートまでしてしまうため、「Android用のプロジェクトなのにー!」とハンカチーフを噛みながらプログレスバーをじっと見つめるという状況がたまにあります。

これはGitなどで複数人でプロジェクトを共有して、Libraryディレクトリを管理から外した場合に、割とイラつく部分です。

コマンドラインでbuildTargetを指定して開くという方法もありますが、実はプロジェクト内にスクリプトを一つ置いておくだけで回避できたりします。

続きを読む

Unity : Terrainを軽量なメッシュに変換する

地形を作ろうとしたときに真っ先に思い浮かぶのはTerrainですが、致命的な難点として重いということが挙げられます。

下は適当に高さだけ作ったテラインですが、

f:id:sugar_affordance:20170131224945p:plain

下のようにかなり描画コストのかかるオブジェクトになっています。

f:id:sugar_affordance:20170131225024p:plain

こんなとき、テラインをメッシュオブジェクトに出力しつつ、頂点数や三角形を減らして描画コストを下げる方法をご紹介します。

「このアセットのテラインそのまま使いたいんだけど重いなあ…」

というときに便利(かも)。

続きを読む

3Dモデル描画パフォーマンスをまるごと面倒見てくれるアセット:SimpleLOD

UnityにはLODという機能があります。
カメラからの距離が離れたら、描画する3Dモデルを簡素なものに変えることで、遠くのオブジェクトの描画コストを減らすというコンポーネントです。

docs.unity3d.com

しかしこの機能を使うためには、あらかじめ頂点数が違うモデルを何種類か用意しておく必要があります。

今回紹介するアセットSimpleLODは、LOD用のメッシュをボタン一つで一瞬で用意してくれるスグレモノです。

続きを読む

Amazon.co.jpアソシエイト