テラシュールブログ

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

2D

【Unity】複数のColliderを結合するComposite Collider 2Dを使って少し遊ぶ

今回はUnity 5.6に追加されたComposite Collider 2Dについてです。 Compound Collidersという機能 CompositeCollider2Dという機能 ダイナミック洞窟生成 作り方 関連 Compound Collidersという機能 Rigidbodyの下にColliderが複数ある時、実はUnityはCollide…

【Unity】知らないと面倒くさい事になるかもしれないAnimatorの「Write Defaults」の動作について

今回はWrite Defaultsについて。 この挙動は少し分かりにくいので、少し補足します。 Write Defaultsという項目 キーが未定義なアニメーションは起動時のパラメータをデフォルト値として使う Write Defaultsという項目 注意点 デフォルト値が保持されるケー…

【Unity】スケルタルアニメーション用のアセット、Anima2Dが無償公開

Anima2Dが、パブリッシャーがUnityTechnologiesになりUnity Anima2Dに名前を変えて無償公開されました。 https://www.assetstore.unity3d.com/jp/#!/content/79840 Anima2Dはスケルタルアニメーション(FateGOやSprineのような物)を実現するアセットの一つ…

【Unity】スプライトの描画順制御を楽にするSortingGroup

昨日に引き続きUnity 5.6の新しい機能についてです。 スプライトの描画順制御 Order In Layerで制御した時の問題点 SortingGroupで描画順を制御 利用アセット 関連 スプライトの描画順制御 Unityのスプライトは、標準設定ならば*1、Sorting LayerとOrder In …

【Unity】SpriteEditorでSpriteが自動生成したポリゴンを削減したり透過部分に穴を開けたり

今回はUnity 5.6に新しく追加されたSpriteEditorのポリゴン調整機能について。 Spriteとポリゴン SpriteEditorでポリゴンを削減 穴を空ける 関連 その他 Spriteとポリゴン Unityはスプライトを表現する際、QUAD(4頂点の板ポリ)ではなくポリゴンに切り抜い…

【Unity】iOSでASTCフォーマットのテクスチャ圧縮を使う

今回はPVRTCと比較して割と綺麗で消費メモリも少ないASTCフォーマットのテクスチャ圧縮を使用する方法についてです。 ASTCについて ASTC を使用する ASTCとPVRTCとTrueColorを比較してみる 使えるのはA8以降のCPU 関連 ASTCについて wlog.flatlib.jp ブロッ…

【Unity】uGUIのImageとSprite Rendererの使い分け

今回はuGUIのImageとSprite Rendererの使い分けについてメモします。 ImageとSprite Renderer Sprite Rendererの振る舞い uGUI Imageの振る舞い 最適化に関するアプローチの違い SetPassの削減に関する振る舞いの比較 フィルレート・オーバードロー削減に関…

【Unity】Rigidbody2Dの新しい設定「Dynamic」「Kinematic」「Static」と「Simulated」の使い分け

Unity 5.5からRigidbody2Dの表示が新しくなり、新しいパラメータも追加されました。その内容が凄く分かりにくいので、確認がてらメモします。 「Dynamic」「Kinematic」「Static」 KinematicとUse Full Kinematic Contacts Staticは動かさない、動けない Sim…

【Unity】Rigidbody2Dがスリープになったかどうか確認する

物理演算はスリープしてCPUを節約する 物理演算は複雑な当たり判定と物理的な動作のシミュレーション(再現)を行います。ただゲームのCPUにも限度という物があるため、物理演算はたいてい接触しない・動かないオブジェクトはスリープ状態へ移行する機能を持…

【Unity】Animatorで動かすオブジェクトをスクリプトでも動かす際の注意

少し面白い挙動について調査したので、メモ。 (前提)モデルにスクリプトで回転を加える (前提)さらに色を変えるのみのアニメーションを加える (問題)回転を設定したアニメーションを加えると動かなくなる 位置が変化するアニメーションが設定されてい…

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

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

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

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

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

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

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

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

【Unity】AnimationControllerがプロジェクトを散らかさない設計についての模索とサンプル

Animatorの運用方法について、5つのアプローチを試しに試作してみました。 サンプルプロジェクト Style1:各ステートマシンにて制御 Style2:ステートマシンのアニメーションを上書き Style3:AnimatorOverrideControllerを「シーンにシリアライズ」 このサ…

今は亡きWindows版Skitchに代わりましてMonosnapが超使いやすい

最近1日3回自宅のメインマシンがブルースクリーンになりデータも気前よく消し飛ばしてくれたのでクリーンインストールしたのですが、少し困った事になりました。つまり、 オイイイイィイイ!? さらばSkitch Skitchの後釜は誰の手に!? Monosnapよ、お前が…

【Unity】タップした位置にエフェクトを表示する

スマホでよくあるような、タップした位置にエフェクトを表示させる表現の作り方について、少しメモします。 タップした位置(カメラから見た3D座標)を取得 タップエフェクトを表示 エフェクトだけを表示するカメラの設定 おまけ:最前面にパーティクルを表…

【Unity】画面外のターゲットを追跡するカーソル

今回は画面外に移動したプレイヤーを追跡するカーソルを作ってみます。 画面外と画面内の判定 アイコンにキャラクターを追跡させる 追跡するアイコンにターゲットを映す 関連 画面外と画面内の判定 まず、キャラクターが画面外に移動した際の判定を行います…

【Unity】UIで表現するテキストを1文字ずつ”動かす”

今回はUnityのUIのテキストを動かしてみます。 テキストを動かす テキストを動かす テキストを揺らす テキストの大きさを変える テキストを動かすの基本 テキストを動かす UnityのUIシステムであるuGUIですが、実はテキストを表現するためのポリゴン…頂点を…

【Unity】リングコマンド的にUIを円形に配置する

今回はUIを円形に配置する方法について紹介します。 UI要素を円形に並べる 色々と試作してみる この「回転するUIの名前」 関連 UI要素を円形に並べる せっかくなので、ILayoutGroupを使用して円形に配置するレイアウトグループを作ってみます。ILayoutGroup…

【Unity】ノベルゲームの立ち絵表現で、キャラクターの表情だけ切り替えて、メモリとロード時間を節約する

ついにユニティちゃんの立ち絵素材が公開されましたよ。超可愛いユニティちゃんとユーコちゃん*1、あとミサキちゃんの立ち絵が使えるようになった!ヤッタネ☆ さらに嬉しい事に解像度は1620×2048と非常に高解像度で、キャラクター全体像をのイメージが使用さ…

【Unity】テキストをぴょんぴょんさせたりフェードしながら表示する、Typeface Animator

文字を表示する際、テキストを一括で表示させるのではなく、アニメーションさせながら・フェードしながら表現したいといった希望がある事があります。 今回はその辺りをやってくれるアセットの紹介です。*1 Typeface Animator とは 割と簡単に使える 関連 Ty…

【Unity】高解像度のゲーム画面向けにゲームビューを調整する

Unity 5.4(現在ベータ中)の機能の一つに、ゲーム画面のズーム機能が追加されました。GameViewのScaleを調整することで、ゲーム画面をズームする事が出来ます。 このズームですが、実は解像度を直接指定することでゲームビュー以上の解像度を指定することが…

【Unity】SpritePackerとResourcesについて

昨日はSpritepackerとAssetBundleについて書きましたが、今日はSpritePackerとResourcesについて書こうと思います。 tsubakit1.hateblo.jp SpritePackerとResourcesについて ResourcesからSpritepackerのテクスチャアトラスを使う 関連 SpritePackerとResour…

【Unity】SpritePackerとAssetBundleについて

今回はSpritePackerとAssetBundleの挙動について少しメモします。 SpritePackerとAssetBundleといふ便利機能 SpritePackerでパックしたテクスチャアトラスはAssetBundleに自動的に組み込まれる SpritePackerでパックしたテクスチャアトラスの部分組込は出来…

【Unity】【uGUI】Screenの座標とWorld(3D)座標の変換について

HUDのように、UIをキャラクターの上に表示する方法について、少し悩んだのでメモします。 World SpaceとScreen Spaceについて World座標をUIの座標へ変換する World Space を Screen Space Overlayへ World Space を Screen Space Cameraへ World SpaceをWor…

【Unity】Googleのマテリアルデザインっぽい表現をuGUIで作るMaterialUI

マテリアルデザインをUnityで再現するMaterialUIについてです。上のGif画像のような感じの操作を再現する事が出来ます。 MateialUI マテリアルデザインとは何ぞや? 関連 MateialUI MaterialUIはマテリアルデザインをUnityのUIで楽に使うためのアセットです…

【Unity】UIに立体的に見せるライティングを付ける

要するにuGUIにノーマルマップを適応してみた所、少し面白い感じになったので紹介します。ドット絵のようなものは、もう少しマトモなノーマルマップを適応するともう少し綺麗になるかも。 ノーマルマップ 3Dモデルでモデルを立体に見せる手法の一つにノーマ…

【Unity】uGUIのボタンクリック後のハイライトを消す

UnityのuGUIでボタンを作った時、クリック後にハイライトが消えない事があります。この場合、例えば下のような感じで動きます。対象をクリック後、明らかにハイライトが残っているのが分かります。 このハイライトが残っているのは、単純にUIがゲームパット…

【Unity】Animatorのアニメーション終了待ちをする方法

今回はAnimatorを使用している時にアニメーション再生が完了した事を検出する方法について考えてみます。 アニメーション終了検知 現在のステートのnormalizedTimeを見る ステートを比較してアニメーションの終了を知る ステートが移動する…について コルー…