渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

Unity

Unity2017.3のAssembly Definitionがコンパイル時間短縮の救世主になりそうな予感

Unity2017.2までは、各ソースはディレクリ命名ルールから以下の4種類のAssemblyファイルが生成されていました。 Assembly-CSharp-firstpass.dll Assembly-CSharp-Editor-firstpass.dll Assembly-CSharp.dll Assembly-CSharp-Editor.dll 詳しくはコチラをどう…

UnityARKitPlugin使用時uGUIが使えない問題

uGUIではなく3年ぶりくらいにNGUIを一時的に使うことになったのだけど、よく出来てるアセットだ。。。(今更orz— bao_bao_ni (@bao_bao_ni) 2017年10月12日 本記事は私のこのツイートについての詳細を紹介します。 UnityARKitPluginはiOS11から提供されている…

Unityでバイブレーションネイティブプラグインを書く

UnityからiPhoneのバイブレーションを扱うAPIを調査しました。 Handheld.Vibrate (); このようなメソッドが用意されています。 しかし、バイブレーションの長さを制御する機能はリファレンスにありません。 https://docs.unity3d.com/ScriptReference/Handhe…

Unityの動画アセットのポストプロセス方法

複数の動画ファイルをUnityプロジェクトにインポートしたタイミングでトランスコードしたくなる時があると思います。はい、先日の私の状態です。 動画ファイル未同梱 のgit管理されたUnityプロジェクトをアプリビルドした時の話です。 ジェンキンスのジョブ…

UnityとObjective-Cのやりとり文字列編

本記事は前回からの続きに当たります。 Unityでネイティブプラグインを作る上でint型のやり取りは、すんなり成功したのですが、String型でハマってしまったのでメモ。 やりたいこと ネイティブプラグインの関数を実行すると文字列を返却してログ出力する 失…

SVGImporterをUnity2017で正常に動かす方法

おそらくUnity5系までは正常に動作していたSVGImporter。 SVGImporterとは、SVG1.1形式保存したSVGファイルをベクターデータとしてUnityに取り込み、メッシュ化し、ベクターデータのように扱うことが出来るアセットです。

EditorSceneManagerのGetSceneManagerSetup関数挙動

GetSceneManagerSetup関数は公式でこのように説明されています。 SceneManager の現在の SceneSetUp を返します。 もう少し噛み砕くと、ロードされているシーンの状態オブジェクト(SceneSetupクラス)の配列を返却します。

UnityとObjective-Cのやりとり

UnityとSwiftのやり取りを進めていたのですが、なかなかうまく行かなかったので、一旦初心に帰り、Objective-CとUnityのやり取りを確認しようと思います。 とても簡単なUnityのネイティブプラグインの作り方 - 渋谷ほととぎす通信 この辺りの記事を思い出し…

アセットバンドルの破棄について

アセットバンドル関連の続きになります。 アセットバンドルのアンロード処理について調べておきます。 以下はStreamingAssetsに格納されたAssetBundleをロードするサンプルコードです。 ※エラーハンドリングなどの処理は無し

そろそろUnity2017のTimelineの基礎を押さえておこう

Unity2017.1.0で正式リリースを迎えたTimelineをそろそろちゃんと理解しようと思います。 最初に大雑把な概念図を作ってみました。 ◆Timeline全体 ◆各種Trackの中 TimelineはPlayableDirectorコンポーネント、Playableオブジェクト、各種Trackで構成されてい…

Unity2017.1.0f3ではConsole Enhancedが対応していません

以前紹介したとても便利なアセットConsole Enhanced。 残念なことに2017.7.27段階ではUnity2017.1.0f3には対応していないようです。

最初理解しづらいReplaced Shadersの仕組み

Unityには結構前からReplaced Shadersという機能が提供されています。 これは特定のシェーダを置き換えてくれる便利機能です。 Unity - マニュアル: Replaced Shaders でのレンダリング 私自身結構前からこの機能の存在は知っていたのですが、リファレンスを…

アセットバンドルに複数のアセットを格納して取り出す

今まであまりアセットバンドルを作る事がありませんでした。 個人で小規模ゲーム作る時にわざわざアセットバンドルを用意することはありませんでしたし、仕事でもそういう担当になることはありませんでしたので、試しにやってみておきます。

Unity2017.2.0b2, b3の気になる更新

Unity2017.1.0が正式リリースして間もないですが、ベータバージョンは粛々と更新が入っています。 本記事では私個人が気になる修正内容をピックアップしています。 Unity - What's new in 2017.2.0 Beta 3

【解決済】Unity2017.1f1ではMissing ComponentをGUIから解決できない件

※本件は先日リリースされた Unity2017.1f3で修正されていることを確認しました。 The referenced script on this Behaviour (Game Object 'Hoge') is missing! Unity外でファイル名を変更などするとmetaファイルが書き換わり、上記のMissingコンポーネントと…

DOTween v1.1.605アップデート時の注意

DOTweenが2017.6.3に1.1.605にgithub上でアップデートしています。 [bugfix] Fixed Shake and Punch tweens returning NaN values if duration was set to 0 (now they just warn you and don’t create any tween) というバグ修正です。 ShakeとPunchがdurat…

Unity2017.1.0f2のリリースノートf1との差分確認

Unity2017.1候補版の第2弾がリリースされました。f1との差分を見ていきます。 unity3d.com

Unity2017.1.0f1のリリースノート日本語訳 その3

正式リリース候補版2017.1.0f1がリリースされました。 前回に引き続きAPI Changesを見ていきます。 リリースノートの2017.1.0f1 Release Notes (Full) API Changesを上から順番に確認していきます。 ※理解していないものは理解していないと記述しています。 …

Unity2017.1.0f1のリリースノート日本語訳 その2

前回記事に続きUnity2017.1.0f1のリリースノートを確認していきます。 リリースノートを読むだけでは分かりづらい事を調べて画面キャプチャなどで紹介するという趣旨もありつつ、読んでも全く理解出来ていないものもあります。 今回はImprovemets(改善項目)…

Unity2017.1.0f1のリリースノート日本語訳 その1

正式リリース候補版2017.1.0f1がリリースされました。 改めて何が追加・修正・変更されたのかを確認していきます。 リリースノートを読むだけでは分かりづらい事を調べて画面キャプチャなどで紹介するという趣旨もありつつ、読んでも全く理解出来ていないも…

Unity GameObjectRecorderが面白いかもしれない

先日Unity2017.1の正式リリース候補バージョンがリリースされました。 改めてリリースノートを読んでみました。 気になった追加機能GameObjectRecorderを調べてみます。 Animation: New GameObjectRecorder in UnityEditor.Experimental.Animations リリース…

Unity任意のテクスチャを使ったステンシルマスク

以前Unityでステンシルテストをやってみた記事の続きです。 前回はキューブ(メッシュの形)をマスクにしましたが、今回は任意のテクスチャを使ってマスク表現をしてみます。

早過ぎたんだ!!!...Live2D Euclid

2017年4月26日にリリースされたLive2D Live2D Euclidをいち早く触って、フォーラムなどでのやり取りを経た今の感想を綴っておきます。 あくまでUnityを使ったスマホゲーム開発視点での感想です。 結論 Live2D Euclidを導入するにはまだ早すぎるので、アップ…

UnityでiOS・Android実機で動くQRリーダーを作る

まずは今回使用するZxingというライブラリを手に入れます。ちなみにライセンスはApache License 2.0 (Apache)とのことなので、比較的自由に使えます。 zxingnet.codeplex.com 解凍すると様々な環境におけるプラグインファイルが現れます。 ちなみにSystem.Dr…

Unity SampleAnimationの負荷は約4倍

UnityのAnimationClip再生方法には単純にPlayではなく、指定秒数の状態にするSampleAnimationメソッドがあります。AnimatorControllerは不要で、AnimationClipだけで動かせます。 animationClip.SampleAnimation (gameObject, time); アニメーションを任意の…

とても簡単なUnityのネイティブプラグインの作り方

ネイティブプラグインのショートコードを書いてみます。 (なんだかんだで私が書いたことがなかったため) 今回はC++で書いたiOSのネイティブプラグインを想定します。

Unityのコンパイル時間短縮化の工夫

Unityは特殊なフォルダ名でコンパイルされるソースの順番と出来上がるDLLファイルが違います。 まとめるとこんな感じです。

UnityのSpriteRendererとRendererの描画順ルール

SpriteRendererとRendererの描画順がどういうルールになっているのかを調べました。 本題に入る前にSpriteRenderer同士の描画順についてまとめます。 ◆ケース1 Sorting Layerが異なる

1枚の画像に複数のSpriteを保持するMultipleモードを使う

あまり2Dゲームを作ったことが無い、というか全く無かったため、勉強がてら2Dキャラクタを動かしたりしています。 2Dキャラを作る際にまずは画像が必要になってきますが、コチラをSpriteシートとして扱うことで1枚の画像でキャラクタのパーツやモーションフ…

Unityステンシルを使ったマスク表現

ステンシルはアルファテストやデプステストと違い、ユーザーの都合でピクセルの描画可否を決めることが出来る機能です。各ピクセル毎に8ビット整数値をバッファ (ステンシルバッファ) に保持し、その値を活用して実装します。 例) マスクする側 マスクされる…