テラシュールブログ

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

2D

【Unity】uGUIの自動レイアウトが分かりにくいと評判なので解説してみる

uGUIには自動レイアウトなシステムが積まれています。ただ、このシステム便利ではあるんですが色々と複雑なので、少し補足です。 UIの大きさを動的にフィットさせる、オートレイアウト UIの大きさはLayoutElementで決まる Minは最低限サイズ、Preferredは変…

【Unity】Unity 2017の新しいスプライトをパッキングする仕組み、”SpriteAtlas”について

Unity 2017でSpritepackerの仕組みが新しくなったみたいです。 新しいパッキングの仕組み、SpriteAtlas パッキングの単位はフォルダ・テクスチャ・スプライト 圧縮フォーマットはSpriteAtlasで一括指定 SpritePackerはLegacy扱い パッキングしたAtlasの運用 …

【Unity】1週間ゲームジャムに参加しました。メイキング・オブ・超速ブロック崩し(仮)

一週間ゲームジャム(#unity1week)が面白そうなので、参加してみました。 作ったゲームはこんな感じのゲームです。 超速のブロック崩し(仮) | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう 一週間ゲームジャム 作るものを決…

【Unity】スプライトの描画順を「下にある物を手前」にする

今回はUnity 5.6から追加されたTransparency Sort Modeを使って「スプライトの描画順を下にある物を優先」にします。 Spriteの描画順 下にあるスプライトを手前に描画 縦に長い物体の問題 解決:Z軸で描画順を調整する 複数のスプライトを合わせて表現してい…

【Unity】Spriteで9 Sliceを使う

今回はUnity 5.6から可能になったSpriteでの9 Sliceについて紹介します。 Unity 5.6から搭載された 9 Slice(スプライト向け) 9 Sliceって? 9 Sliceを使ってみる スプライトの用意 タイリング(Tiled) TiledのTile Mode TiledとSlicedの違い Colliderの大…

【Unity】アニメーションと物理演算を連動させる 5.6以降

以前、アニメーションと物理演算を連動させる方法について紹介しましたが、Unity 5.6でもっとシンプルになりました。 tsubakit1.hateblo.jp Animate Physicsなる機能 Unity 5.6のアップグレードガイドを眺めていると、少し気になる項目がありました。 docs.u…

【Unity】公式の「テキストベースなアドベンチャーゲーム」を作るチュートリアル

先日、ついにUnity公式のテキストベースなアドベンチャーゲームのチュートリアルがチュートリアルムービー一覧に追加されました。 「テキストベース」なアドベンチャーゲーム テキストベースなアドベンチャーと言えば、現状日本製のモバイル・コンソール(AA…

【Unity】Video Playerでアルファチャンネル付きムービーを使う

アルファチャンネル付きムービー、アルファムービー、透過ムービー、with alpha、αムービー、Aビデオ、呼び方は色々ありますが、背景が透明なムービーについてです。 アルファチャンネル付きムービー 使用出来るコーデック Webmを再生出来ない端末では アル…

【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…