2D
スプライトアニメーションを今まで通りドラッグ&ドロップで作成した所、やたらとアニメーション再生が早いという事になりました。例えばトップ絵の左のように、速歩きのような速度でアニメーションを再生してしまいます。出来れば右のような速度に設定した…
NavMeshComponents NavMeshComponentsはNavMeshの機能を拡張するクラス郡です。NavMeshを動的に構築したりアセットに書き出したりといった事を非常に簡単に実現してくれます。エディターからリンクを参照される程度には重要な機能の割にパッケージ化されない…
LWRPはカメラのスタックができない PostProcessingの後にUIとパーティクルを描画する UIの間にパーティクルを挟む 注意点 PCを新しくしてからの初更新です。 環境:Unity 2019.2f8、LightWeight RP 6.9.1 LWRPはカメラのスタックができない いろいろと便利な…
今回はLWRPの2DRendererでShaderGraphを使用してみます。 2Dパイプライン Shader Graph 使ってみる 注意事項 2Dパイプライン コチラを参照 tsubakit1.hateblo.jp Shader Graph この2Dパイプラインでは、単純なLit/Unlitのシェーダーだけでなく2D用のマスター…
今回は昨日チラっと書いた、暗闇をライトで表現するアプローチについてです。 意図的に暗い空間を作る ライトの減算設定を登録 実際に暗黒の光を発する発光体を配置する 注意点 意図的に暗い空間を作る ステージを作るとき、 重要である事を示すために明るく…
今回はLWRPに追加された2Dライトを試してみます。 2Dにライト 導入手順 とりあえずライトを試す 陰影表現の追加 注意事項 2Dにライト 最近の海外で2Dなゲームでは、2Dでもライティング…正しくは法線効果で光源の位置を示しているゲームをよく見ます。 そのや…
AddressableでMultiSpriteを使用する方法についてです。 Unity 2019.1 Addressable 0.8.4 preview 追記:1.1.4で問題なく使えるようになりました マルチスプライト AddressableはSubAssetを直接ロード出来ない 解決方法 アイディア1: スプライトを取り出す…
Addressableを使用した場合も、SpriteAtlasの利用手順はそれ程代わりません。 AddressableでSpriteAtlasを使用したスプライトを利用する 対策 Analyzeを使う 手動でスプライトを配置を使う場合… なんか上手くSpriteAtlasが更新されない場合… 感想 関連 Addre…
面白い議論が上がっていたので、少し試しにやってみました。 顔だけアイコンでマスクをするのは勿体無い バストアップのスプライトを用意する やり方 オマケ:ポリゴンの切り抜き オマケ:Atlasを使用する場合での注意 関連 顔だけアイコンでマスクをするの…
今回はMecanim(Animator Controller)を使用している場合に即座にアニメーションが切り替わらない問題、その対策についてです。 例えば上の画像では、右はジャンプ開始時や着地直後に速やかにアニメーションが切り替わっているのに対して、左側はモーション…
今日は前回の続きで、スケルタルアニメーションをやっていきます。今回やるのは独自のキャラクターを動かす方法についてです。 タナカさん登場 タナカさんをIKで動かせるようにする アニメーションにする 感想 関連 タナカさん登場 前回のキャラクターを動か…
今回は Anima 2Dの後継、Unity 2D Animation(V2)でボーンベースで動くキャラクターを作成してみます。 なお今回は長くなりすぎたのでIk周りはやりません。セットアップまでです。 スケルタルベースのキャラクター表現 パッケージの導入 PSBをインポート スキ…
Sprite Atlasの設定 幾つかのページ*1*2にて、Sprite AtlasとAssetBundleの組み合わせで問題が起きるという話を聞いたので、確認してみました。 SpriteAtlasをAssetBundleに格納しただけだと問題が起こる 手っ取り早い解決策:SpriteAtlasに登録したSpriteも…
今回はPSDのスプライトをレイヤー単位でスライスし、Photoshopの配置そのままにインポートするPSD Importerという機能を紹介します。 PSD Importer PSD Importerの導入 PSD Importerの設定 感想 関連 PSD Importer PSD Importerは、PSBをインポートするカス…
今回は、キャラクターやUIといったシーンに配置したSpriteのテクスチャを遅延ロードする事で、ユーザーが操作出来るまでの時間を短縮するアプローチついてです。 SceneやPrefabから参照するSpriteは即時ロードされる テクスチャの遅延ロード Textureをロード…
コンパクトなUnityゲームを出力するTiny Modeのプレビュー版が公開されました。 ということで、早速触ってみます。 この記事はTiny Mode 0.13.2 previewで作成されています。 モバイルブラウザ向けUnity 現状使える機能群 スクリプトはECSベース レンダリン…
SpriteAtlasを始めとしたパッキングのアプローチを使用することで、スプライトの描画時に必要なパスの数が減り、パフォーマンス的に良い感じになります。よく言われるDrawCallやSetPassの削減というやつです。 さて、SpriteAtlasでスプライトをパッキングし…
Unity Playgroundは組み合わせで作るプロジェクト UIが2D向けに簡略化 インタラクティブな動作 感想 関連 Unity Playgroundは組み合わせで作るプロジェクト github.comUnity PlaygroundはUnityを学ぶという目的で少し面白いデモです。これはプログラミング無…
今回はUnityで曲線を描く方法について紹介します。 Unity 2018.1でVector Graphicが導入可能に Vector Graphicsでベジェ曲線を描画する Vector GraphicsのAPIを見てみる PathのAPIを見てみる 感想 関連 Unity 2018.1でVector Graphicが導入可能に Unity 2018…
前回はRigidbodyの動きをTimelineに格納することで、物理演算の負荷軽減やタイミングの調整などを行いました。今回はゲームの動きをAnimationClipとして格納しておき、Timelineで再生してみます。 ゲームの動きを再現したい やり方 再現できるのはInspector…
今回は「OSにインストールされたフォント」をUnityで使用する方法についてです。 フォントはゲームの第二の顔 そうだ、全部システムフォントを使おう 手順 フォールバックのやりすぎにご注意 CreateDynamicFontFromOSFontは使わないの? WebGLは? 関連 フォ…
今回は先程公開された、ピクセルパーフェクトなスプライト表現をするために(想定)ピクセルに合わせてスプライトやカメラの位置を調整してくれる機能PixelPerfectCameraについてです。現在はPackageManagerのstagingで提供されています。 想定解像度に合わ…
https://github.com/Unity-Technologies/vector-graphics-samples/blob/master/Documentation/vectorgraphics.md UnityのPackageManagerにSVGを利用するライブラリが追加されました。Unity 2018.1でプレビュー版を使用することが出来ます。 どんな事が出来る…
今回は「シーンの物理現象をシミュレートする」という、一見分かりにくいAPIのPhysics.Simulateおよび Physics2D.Simulateついてです。 物理演算を指定秒数進めるAPI 物理演算を進める 物理演算を指定秒数進める・巻き戻す 未来予測 感想 関連 物理演算を指…
ちょっと欲しいと思ったので、SpriteをMeshに変換する方法を探してみました。 Spriteという機能 Meshは使えるがSpriteでは使えない機能 SpriteをMeshに変換する なんでこんなこと書いた! 言え!! 関連 Spriteという機能 Unityは2D表現の機能を追加するにあ…
今回はUnityの2Dゲームを割と簡単に作れる 2D Game Kitで、キャラクターの差替を行ってみます。 2D Game Kit チュートリアルは翻訳済み キャラクターの差替方法 前提:必要なアニメーションの一覧 ポイント1:スプライトの大きさを調整 ポイント2:スプラ…
見て楽しい、覚えるに便利という、控えめに言って神なスライドが公開されていました。 シェーダーお絵描き入門勉強会の資料を公開しました #spzcolabhttps://t.co/kwRANl48uC — setchi (@setchi) 2018年4月11日 内容は板ポリにシェーダーを割り当ててちょっ…
今回は敵とプレイヤーが常にカメラに映るようにするカメラワークについてです。 ターゲットが全て映るようなカメラワーク CinemachineのGroup機能 使い方 追跡対象の登録 カメラの動きの細かい指定(3D) カメラの動きの細かい指定(2D) 関連 ターゲットが全て…
今回は指定したCollider2Dへの最短座標を求める機能について紹介します。 指定したColliderへの最短距離の問題 指定したColliderへの最短距離を求める それで、これは何に使えるのかな? 関連 指定したColliderへの最短距離の問題 オブジェクトから指定したC…
今回は2Dゲームで地面に接触しているかを判定するアプローチについてです。 ピヨちゃん大地に立つ判定 ただし壁や天井は除く 地面の接触判定をする Colliderに接触しているかどうかを取得する GetContactsやIsTouching GetContactsやTouchesで得る値を絞り込…