テラシュールブログ

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

2D

【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を見る ステートを比較してアニメーションの終了を知る ステートが移動する…について コルー…

【Unity】uGUIでスプライトアニメーションするには

uGUIでスプライトアニメーションを行う方法についてです。難しい事は全くないのですが、気づかないと分からないかもしれないので、一応ここに書いておきます。 下のGIFはキャラクターアニメーションをuGUIで行って居るので影付けたりアウトライン付けたり、…

物凄いシンプルなデモ「 2D UFO Tutorial」

2015年12月18日に突如として襲来した謎のUFOアセット、2D UFO Tutorial。しかしてその正体は、なんか物凄くシンプルなサンプルでした。 https://www.assetstore.unity3d.com/jp/#!/content/52143 凄いシンプルな2D UFO Tutorial 凄いシンプルなスクリプトと…

【Unity】コライダーに特定の機能を追加するEffectorで少し遊んでみる

Unity 5で新しく追加された2D向けEffectorで色々と遊んでみました。 Effector Surface Effector 2D Point Effector 2D Area Effector 2D Buoyancy Effector 2D Platform Effector2d Effector Effectorは2Dと付くColliderに対してエフェクトを追加する機能で…

【Unity】Rigidbody2DとJointで、物理パズルみたいなやつ

何となく以前に作ったロケットをRigidbody2Dでリメイクしました。素材やアセット・スクリプトは使用せず、全てアリものだけで作っています。 以前はRigidbody2DのJointにBreakable設定やConstant Force2Dが無かったのでRigidbody2Dでは作れませんでしたが、…

【Unity】ステンシルバッファを使った2D面白表現を色々と試す

ステンシルバッファをUnityで利用した表現で、面白かった2D的な表現について書いてみようと思います。 ステンシルバッファとは? ステンシルバッファで色々と試す 壁の向こうにいるキャラクターのシルエットを表現 2Dマスク ImageEffectがかからないスプラ…

【Unity】二つのカメラをクロスフェードで切り替える

二つのカメラをクロスフェードして切り替えます。 概要 カメラのフェード実装方法 フェード実装時の注意点 絵が上下反転する ScreenOverlayで代用 uGUIとの連携 参考 概要 やり方はなんてことは無い、ImageEffectとRenderTextureの合わせ技です。もう一つの…

【Unity】AssetBundleからMultiple Spriteに含まれるスプライトを取得する方法とその周辺

今回はAssetBundleの中に格納したMultiple Spriteから特定のスプライトを取得する方法と、その挙動についてです。 Multiple Spriteの取得方法について AssetBundle.LoadAllAssetsでは駄目 AssetBundle.LoadAssetWithSubAssets 不要なスプライトの破棄 特定の…

【Unity】uGUIドロップダウンメニュー(コンボボックス)の使い方

ドロップダウンについてです。 ドロップダウン(或いはコンボボックス)とは、よくある「ボタンを押したら選択肢が出てきて、その中から選択する」的なアレです。 目次 目次 とりあえずの使い方 カスタマイズ 要素を増やす UIの表示を変える 関連 とりあえず…

【Unity】パフォーマンスが良いらしいUIのマスク、RectMask2Dについて

Maskと異なり四角形でしか切り抜けませんが、Maskよりかなり高速に動作するRectMask2Dが何時ごろか追加されました。 このRectMask2DはRectTransformの範囲で切り抜きを行うためMaskで必要だった「画像」を必要としませんが、その代わり高速で動作するみたい…