テラシュールブログ

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

【Unity】Unity 2018.2でMacのVS Codeが入力補完してくれなくなった時の対処

Unity 2018.2にしたところ、MacのVS Codeが入力補完をしてくれなくなったので、その対策についてです。 結論としては、下のパッケージを入れればOKでした。 http://www.mono-project.com/download/stable/ WindowsのVisual Studioの場合はこちら tsubakit1.h…

【Unity】TimelineからAnimationEventのようにメソッドを呼び出したい UnityTimelineEvents

AnimationEventのように、Timelineのイベントを実行する方法についてです。 UnityTimelineEvents 実際に使ってみる 関連 Timelineを使用していると、特定のタイミングでイベントを発行したいと思う事はよくあります。例えば通常のカットシーンでは「爆発の衝…

【Unity】AnimationClipの編集が出来ない時の対策

今回は簡単なトラブルシューティングです。 AnimationClipがReadOnlyなのはFBXにAnimationClipが格納されているため TimelineがPreview中はAnimationClipをRecordにできない Optimized Game Objectが設定されたオブジェクトのAnimationは編集出来ない Animat…

【Unity】Timelineでキャラクターの「表情」を変更する時の注意点

今回はTimelineで表情を変更する場合の注意についてです。 Case 1.表情のキーがセットされない Case 2. 表情が変化しない Case 3. 表情がおかしな感じになる Timelineでキャラクターの動き等を変更していると「表情」も変更したくなります。例えばちょっとし…

【Unity】Nested PrefabやPrefabエディターが追加、新しいPrefabワークフローを触ってみた

Uniteベルリンにて、Nested Prefabが可能になるプレビュービルドが公開されたので触ってみました。 Prefabの階層化が出来るようになった Prefabのバリアント Prefabエディターの追加 プレビューのダウンロード Prefabの階層化が出来るようになった Unityでは…

【Unity】Unity 2018.2で「C# プロジェクト "Assembly-Csharp"は、このコンピューターにインストールされていない」が出たので、その対処

Unity 2018.2にてVisual Studio経由でソースコードを編集する際、「C#プロジェクト"Assembly-CSharp"はこのコンピューターにいんすとーるされていない。".NET Framework、Version=4.7.1"を対象にしています。」といった感じのダイアログが出ました。↑のダイ…

【Unity】C# Job SystemからECSのEntityやComponentDataを追加・削除・変更する指示を出す

今回はECSのComponentDataの追加や削除・変更といった動作をJobSystem上から指示する方法についてです。 C# Job SystemからComponentDataの追加・削除等を指示する BarrierSystem サンプルコード IjobParallelFotやIJobProcessComponentDataで使用するには?…

【Unity】実践的なパフォーマンス分析と最適化

今回はUnite Tokyo 2018で紹介された「実践的なパフォーマンス分析と最適化」のセッションの動画から得られた物をメモしていこうと思います。 なおセッションの音声をそのまま文字にするのではなく、メモを元に自分なりの理解を文章に起こしています。内容の…

【Unity】ドット絵に照明効果を追加する

今回はドット絵にライティングを追加するアプローチについてです。 ドット絵 は 光の演出 を手に入れた!!! 光が届く範囲が明るくなるだけで良い 光の陰影や光るパーツなどを表現するのも欲しい ドット絵に影もつけたい 感想 関連 ドット絵 は 光の演出 を…

「Unityテストを完全に理解した」の動画とスライドが公開

先日行われた「Unityテストを完全に理解した」の動画とスライドが公開されてました。 Unity テスト完全に理解した - connpass 動画 動画はこちら。動画では少しスライドが見にくいので、スライドは別に見るのをお薦め www.youtube.com 各セッションのスライ…

【Unity】ECSのメモリレイアウトとその周辺

今回はECS(Entity Component System)とはどういった機能かといった話について書いていこうと思います。この情報はハッキリ言えば知らなくても問題ない情報なのですが、知っておくとECSを採用するべきケースや作り方に迷ったときに助けになるかもしれません…

【Unity】Unite tokyo 2018の講演動画とスライドが公開

Unite tokyo 2018のセッション動画が公開されました。 セッション動画が公開 個人的お薦め 関連 セッション動画が公開 タイトル通りで、イベントの講演動画が公開になったみたいです。セッションのタイムテーブルからYoutubeやSlideshareのページへジャンプ…

【Unity】UnityでOSにインストールされてるフォントを使いたい

今回は「OSにインストールされたフォント」をUnityで使用する方法についてです。 フォントはゲームの第二の顔 そうだ、全部システムフォントを使おう 手順 フォールバックのやりすぎにご注意 CreateDynamicFontFromOSFontは使わないの? WebGLは? 関連 フォ…

【Unity】ドット絵でゲームを作る時に使いたい、ピクセルパーフェクトなスプライト表現するPixelPerfectCamera

今回は先程公開された、ピクセルパーフェクトなスプライト表現をするために(想定)ピクセルに合わせてスプライトやカメラの位置を調整してくれる機能PixelPerfectCameraについてです。現在はPackageManagerのstagingで提供されています。 想定解像度に合わ…

【Unity】Unityでベクターグラフィック(SVG)を利用する

https://github.com/Unity-Technologies/vector-graphics-samples/blob/master/Documentation/vectorgraphics.md UnityのPackageManagerにSVGを利用するライブラリが追加されました。Unity 2018.1でプレビュー版を使用することが出来ます。 どんな事が出来る…

【Unity】Allocator.TempJobで作ったNativeArrayを自動的に開放する

今回はNativeArrayの開放の方法についてです NativeArrayの削除 .Tempは普通に開放 .TempJobは少し楽 サンプル NativeArrayの削除 NativeArrayでコンテナを作る際、アロケータのモードに「Temp」「TempJob」「Persistent」の3つを選択することが出来ます。 …

Gobe2というフィットネストラッカーについての私見

Gobe2というフィットネストラッカーを購入してからそろそろ半年になるので、ここでレビュー的なものを書いてみようと思います。 Gobe2はフィットネストラッカーの一つ デザインは…厚い 時計として使えなくはない 一日の摂取カロリーは、多分あってるような気…

【Unity】構造体の配列(NativeArray)と参照渡し

今回は構造体を配列(NativeArray)にした時の、そのアクセスについてです。 ECSとJobSystemは構造体の配列を使う 配列からrefやoutで参照を貰う事は出来ない そうだ、unsafeを使おう ArrayElementAsRefで要素のrefを取得する 関連 ECSとJobSystemは構造体の…

【Unity】ECSで簡単なゲームを作ってみたので、その解説

ECSで技術デモ的な物は結構あるのですが、ゲーム的になっているものが余り無いので、ECSで簡単なゲームを作ってみました。 そうだ、ECSで球転がしを作ろう ステージの作成は今までどおりシーンに作る 球のコントロールはGameObjectをシステムからコントロー…

【Unity】Timelineと移動を連携して、特定のタイミングから"指定の座標"へ移動させる

今回はTimelineの機能を使用するが、「目標地点が異なる」場合を対処する方法についてです。例えば「距離の異なる崖をジャンプで超える」や「位置が毎回異なる敵に攻撃を仕掛ける」といった物をTimelineで制御する場合の話です。 Timelineアニメーションの「…

【Unity】Unity 2018.1でunsafeなコードを使う

今回はunityでunsafeなコードを使う方法についてです。 以前はUnityは公式的にはUnsafeはサポートしていませんでしたが(unsafeを使う手順は存在して、IL2CPPもunsafe向けコードを出力していた)、Unity 2018.1辺り?からオプションとしてunsafeに対応したみ…

【Unity】ProBuilderがなんか重い対処

ProBuilderでステージを作るときに何か重い…というものの対処についてです。 ProBuilderで作成…あれ重い? ライトを焼いてるせい 対策1:自動的にベイクするのを止める 対策2:ライトマップを最初から諦める 対策3:Enlightenを使用する 対策4:ライトの…

【Unity】知らないと苦労するかもしれない、Timelineと座標の話

Timelineの座標系の話 AnimationControllerがAnimatorにセットされていれば現在位置から移動、無ければ絶対座標からアニメーションを開始する ApplyTrackOffsetはAnimationControllerの有無で用途が異なる AnimationControllerがセットされている場合、移動…

【Unity】ProBuilderで作ったパーツを組み替えてステージを作る アプローチ

パーツの組み合わせで簡単なステージを作ってみるのを試してみました パーツを組み合わせてステージを作るアプローチ ステージのパーツを作る パーツを使い回すために出力する 並べる 関連 パーツを組み合わせてステージを作るアプローチ ステージを作る上で…

C#のコードがどのようなILに変換されるのかを確認するWebサービス SharpLab

C#

以前に教えてもらった、C#のコードがどのようなILに変換されるのかを確認することが出来るWebサービスについてです。時々ど忘れするので、こちらにもメモしておきます。 SharpLab sharplab.io SharpLabは、コードをILやアセンブリに変換することが出来るサー…

【Unity】Unityエディターを日本語化する方法(Unity2018.1)

今日Unite Tokyoで発表されたUnityエディターの日本語化についてです。 Unityエディターの日本語化 日本語化の手順 Unity未インストールの場合 もしくはUnityHubでインストールした場合 既にインストールしている場合 POファイルを入れたなら 関連 Unityエデ…

【Unity】Timelineで物理演算の動きを使用するアイディア

今回はTimelineで物理演算の結果を使用する方法について考えてみます。 Timelineという機能 Timelineはゲームを再生しないから効率的 物理演算の動きはゲームの再生を要求する Timeline上で物理演算を動かす 物理演算の動きをAnimationClipに保存する Timeli…

【Unity】物理演算を指定秒数 進める Physics.Simulate

今回は「シーンの物理現象をシミュレートする」という、一見分かりにくいAPIのPhysics.Simulateおよび Physics2D.Simulateついてです。 物理演算を指定秒数進めるAPI 物理演算を進める 物理演算を指定秒数進める・巻き戻す 未来予測 感想 関連 物理演算を指…

【Unity】Unityでプレゼンテーション資料を作る

今回はUnityでKeynoteやPowerpointにあるようなプレゼン資料を作るプロジェクトの紹介です。 もはやPowerPointに切り替える必要はない… そうだ、Unityでプレゼン資料を作ろう 使い方を見てみる 発表者ノートは?プレゼンの残り時間の確認は? その他 もはやP…

【Unity】独自に作成したスレッドの処理時間をCPU Profiler(Timeline)で確認する

まんまタイトルの通りで、.NETで作成したスレッド上の処理時間をProfilerに乗せる方法についてです。 Profilerで負荷のかかっている場所を見つける 非同期処理とProfiler 複数フレームを跨げる 関連 Profilerで負荷のかかっている場所を見つける 処理負荷や…