テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

2016-01-01から1年間の記事一覧

【Unity】ソースコード変更後のコンパイル時間を短く抑える

今回はC#のビルド時間を短くする方法についてです。f C#のコンパイル Assembly Definition Filesを使用する Pluginsフォルダにあるコードは、事前コンパイルされるのを活用 事前にDLLにコンパイルしたコードを使用する コンポーネントをDLL化すると、参照が…

【Unity】パーティクルの生成間隔やサイズや速度をランダムにしたり、ある程度の法則性をもたせたりする方法

今回はパーティクルを生成する際、サイズや回転速度や移動速度をある程度ランダムにしたり、ある程度の法則性に従い制御する方法についてメモします。 ランダムではないパーティクルの値は変化しない パーティクルの値をある程度ランダムにする 一定間隔ごと…

【Unity】AssetBundleのManifestファイルに書かれている内容について

Unity5でAssetBundleを作成する際Manifestファイルが作成されるようになりました。 今回は、このManifestファイルは何というお話。 ManifestファイルはAssetBundleの構成情報が記述されている 生成したパスと同名のManifestにはAssetBundle同士の依存関係を…

【Unity】AssetBundleからアセットを取得する4つの方法

AssetBundleからアセットを取得する方法について、少し整理します。 AssetBundleからアセットを取得する ファイルパスを指定してAssetBundleからアセットを取得する アセットの中に含まれているアセットを取得する アセットが依存しているアセットを取得する…

【Unity】異なるプロジェクトでAssetbundleを構築する際の注意点

今回は「異なるProjectにてAssetBundleを構築するとどうなるのか」についてです 別のプロジェクトで作ったAssetBundleは読める 複数のプロジェクト間で作成したAssetBundleの依存関係 確認方法 プロジェクト2の作業 プロジェクト1の作業 プロジェクト2と…

「Unityまとめ」が便利

Unityまとめ 最近、個人的なUnity情報収集の一角に、Unityに関する記事をRSSのように表示してくれる「Unityまとめ」が追加されました。 内容は、RSS一覧に登録されている記事の中から、Unityに関する記事を淡々と表示してくれる感じで、余計な機能も無いので…

【Unity】物理演算で動かすオブジェクトが壁を貫通する問題と対策

キング・クリムゾン! 『キング・クリムゾン』の能力では、この世の時間は消し飛び・・・・・・そして全ての人間は、この時間の中で動いた足音を覚えていないッ! 当たり判定を弾が貫通する 対策1(補完回数を増やす) 対策2(Collision Detectionを使う) Collis…

Gear VRを使えば、電車内でバーチャル映画館に行けるのか

Gear VRを入手し、ついでにGalaxy s7も入手し、かつ大阪に行く機会があるという状況が重なりました。ので、新幹線で移動中にGear VRでバーチャル映画館に行って映画を見てみました。 Gear VRとは? 実験開始 [good]快適な視聴と高い没入感 [good]パーソナル…

「Unity道場07 研究 x Unity ライトニングトーク大会」

先日、学生/研究者限定で研究に関するライトニングトークがありました。 その内容がトゥギャられていたのですが、内容が面白かったのでこちらでも紹介します。 togetter.com LT登壇者も中々多彩で、中々に興味深いです。やはり人や場所が違えばスキルセット…

【Unity】Matcapテクスチャを動的に作ってみる実験

Matcapなんてバカ正直にPhotoShopで球体塗らんでもええんやで(・ω・)適当に球置いてライトばかすか置いてSS撮ったら完成やで pic.twitter.com/mAoXbl2GTy — ntny (@nD_ntny) 2016年7月1日 成る程、そんな手が…!? あれ、Unity内で出来るなら動的に云々出来…

【Unity】パーティクルにモデルを使いたい

今回はパーティクルにモデルを使用する方法と、モデルを使用した際「色」を設定出来るシェーダーについてです。 パーティクルをモデルで表現する パーティクルに色を設定したい パーティクルの色を設定するには パーティクルにメッシュを使用する問題点 Unit…

【Unity】Matcap、事前に用意した綺麗な光表現を利用する

今回はMatcapについて紹介しようと思います。 Matcapを利用した材質変化。思ってたよりソレッポイ絵が出来てビックリ。 pic.twitter.com/F5swLI5YXG — 椿 (@tsubaki_t1) 2016年6月10日 手前からゴーストユニティちゃん、トゥーンユニティちゃん、クリスタル…

【Unity】GPU Instancingで遊ぶ

Unity 5.4から搭載されるGPU Instancingで遊んでみます。 docs.unity3d.com GPU Instancingは、複数の「同一メッシュ」かつ「同一マテリアル」なオブジェクトがあった場合に、GPU側で一括で描画してくれる技術みたいです。 扱いにかなりクセがありますが、上…

【Unity】StandardShaderをAssetbundleに格納した際にNormalやAlphaが動作しない問題の回避方法

AssetBundleにシェーダーを格納し常にロードしておく事で、シェーダーのコンパイルやGPU転送コスト、それにシェーダーのメモリ消費を回避出来ます。特にシェーダーのコンパイル・GPU転送等は地味に馬鹿にならないコストを要求するので、出来れば積極的に排除…

【Unity】CPUプロファイラでパフォーマンスを改善する 後編

CPUプロファイラに関する内容の後編です。 パフォーマンスの問題を解決する GCを減らす GCの発生要因を減らす コルーチンとGC GCの負荷を減らす オーバーヘッドとは何ぞや 実機で動作するアプリのパフォーマンス検証 出力したアプリを計測するメリット 実機…

【Unity】AssetBundleのVariantでローカライズ

AssetBundleのVariantを使用して、ローカライズ的な事を行うアプローチについてです。今までは少し面倒なバグのせいで紹介するのを避けてきましたが、Unity 5.4bの何処かのバージョンでバグが治ったので、使えるようになりました。 Variantでローカライズ テ…

【Unity】AnimationClip単位でアニメーションを再生するPlayable API

新しい記事 tsubakit1.hateblo.jp Animator+AnimationController+AnimationClip(s)の組み合わせを使用せずともアニメーションを再生できるPlayable APIについてです。 このAPIは正確にはカスタマイズ可能なブレンドツリー的な何かになるのでしょうが、現状…

【Unity】複数のAssetBundleから参照されるアセットを見つけ出す

AssetBundleにて「AssetBundle一つにつきPrefabを一つ格納」といった感じで設計している場合、一見Prefabのアセットのみが格納されているように見えますが、実際は「Prefabが参照しているすべてのアセット」が含まれます。 といった内容が以前書いた【Unity…

【Unity】SpriteRenderer「モドキ」の試作

昨日の記事の検証の為、テンションのままに作りこんでしまったSpriteRendererモドキです。せっかく作りましたし、そのうち何かに役立つかもしれないので公開します。 主にRenderTextureや独自Atlasからテクスチャを抜き出して、Spriteっぽく使える事を想定し…

【Unity】RenderTextureをTexture2DにしてSpriteに使用する

以前RenderTextureにテクスチャをバックバッファとして展開し、Spriteとして使用することでSetPassを抑えて使用する方法に聞かれたので、一応ココに書いておきます。 結論としては、別にSpriteとして使用しなくても良いよねって話です。内容としては、ココか…

【Unity】マテリアルやSetPassを増やさずテクスチャのUVを変える

色やテクスチャを変えるとマテリアルが増える UnityはGetComponent<Renderer>().material.color = 色;とかでマテリアルの色を変更する事が出来ますが、これを行うとマテリアルが追加で一つ作られます。 異なるマテリアルは一括で描画出来ないので、内容物が同じであっ</renderer>…

【Unity】「Unityスキルがなくても使える短期間ゲーム開発のポイント」

ゲームを作る上で知っておくと良いTipsが濃縮された資料です。どちらかと言えば超オススメ資料です。ゲーム作りたいと思った人は全員見るといいよ speakerdeck.com プログラムもできない、絵も描けない、ゲームも考えられない……それでもできることがある! …

【Unity】WebGLで日本語入力を行う

WebGLは日本語の入力が出来ません。何故ならばIMが使用出来ないからです。UnityのWebGLでもIMは使用出来ず、キー入力を片っ端から受けソノママ流し込める半角英数字のみが表現可能みたいです。なのでコピペも出来ません。 そんな問題があった訳ですが、Unity…

【Unity】 タイルマップ、9スライス、スプライトのポリゴン調整、他… 2D Experimental Preview がパブリックで触れるように

Unityの2D機能(ベータ版)が一般公開になったみたいです。 機能群 タイルマップよくあるタイルマップが追加されました。よくあるタイルマップのように、並べると自動的に繋いでくれる設定です。 ちなみに、SetPassはちゃんとソレナリに節約してくれるみたい…

【Unity】コンパイル時についでにテストも行う設定

ソースコードを書いた際、コンパイラが判断出来ないコードや文法的な間違いがあった場合、コンパイラがエラーとして指摘してくれます。コンパイラエラー以外でも、インスタンスを設定されていないオブジェクトを使用するとか、そういった単純なエラーはコン…

【Unity】アプリケーションの終了を確認するダイアログを表示する

ゲームのアプリケーション時に「終了しますか?」的な事を聞く機能についてです。具体的にはエロゲのそれ。 終了を検知する 終了をキャンセルする 改めて終了する ソースコード 応用 終了を検知する まずはアプリケーションの終了を検知します。 これは難し…

【Unity】引き伸ばしてもテクスチャが伸びないキューブを作る MasterCube

UnityのCubeを引き伸ばしても、テクスチャが引き伸ばされずにしき詰めてくれるアセットを見かけたので、メモします。 Master Cube Cubeを引き伸ばしてもテクスチャが伸びなくする CubeのUVを面毎に調整する メッシュを結合して単一のメッシュにする 感想 Mas…

【Unity】GPUベースでパーティクルを行うKvant/Spray

UnityでGPUベースのパーティクルを行う話です。 GPUパーティクル GPUベースでパーティクルを行うKvant/Spray v2 導入 使い方 関連 GPUパーティクル UnityのParticle System、通称「Shuriken」は現在CPUベースで動作しています。Unity 5.4では殆どの処理をメ…

【Unity】Cinematic Image EffectsのBloomの使い方

以前紹介したCinematic Image Effectsですが、新しくBloomが追加されてました(追加されたのはだいぶ前ですが)。今回はその使い方についてメモします。なお、Cinematic Image Effectsは内容がちょくちょく変化するので、UIが変化してるかもしれません。その…

【Unity】Visual Studioが使えなくなった時の対策

Visual Studioを起動したら使えなくなっていたので、使えるようにした過程をメモします。 事象 Visual Studioを起動すると、上の図のようなダイアログが出てきてVisual Studioが操作できなくなりました。これは要するに、Visual Studioの試用期間(30日)が…