タグ

Unityと2Dに関するtsubaki_t1のブックマーク (18)

  • 【Unity】2Dゲームの背景をカメラに合わせて自動で回り込ませる方法 | TECH PROjin

    今回は、2Dゲームの背景を自動で回り込ませる(ループ)方法について解説します。 これを使うと背景の画像が3枚くらいで済みます。 画面外に出たことを動的に検出するところがポイントで、応用すれば画面左から出ていったキャラが、右側から出てくる的なことにも使えそうです。 実際のところ背景に限らず、スプライトならなんでも可です。 ※Unityのバージョンは2017.2で動作確認済みです。 [Unity_317×90] 画面外に出たことを検出する ワールド座標系のゲームオブジェクトが、画面から外に出たことを検出するためには、CameraクラスのWorldToViewportPointメソッドを使用します。 Vector3 viewport = Camera.main.WorldToViewportPoint(transform.position); このメソッドは、ワールド座標をビューポート座標に変換

    【Unity】2Dゲームの背景をカメラに合わせて自動で回り込ませる方法 | TECH PROjin
    tsubaki_t1
    tsubaki_t1 2017/04/19
    背景無限スクロールでよくやるアレ
  • 【Unity】uGUIのImageとSprite Rendererの使い分け - テラシュールブログ

    今回はuGUIのImageとSprite Rendererの使い分けについてメモします。 ImageとSprite Renderer Sprite Rendererの振る舞い uGUI Imageの振る舞い 最適化に関するアプローチの違い SetPassの削減に関する振る舞いの比較 フィルレート・オーバードロー削減に関する振る舞いの比較 大量に描画した時と動かした時の振る舞いの比較 つまり、どのように使い分けるべきか Tips 関連 ImageとSprite Renderer Unityで2Dの絵を簡単に出す方法として思いつくのが、Sprite Rendererのような2D機能を使用する方法と、uGUIのImage系の機能を使用する方法です。 どちらも「テクスチャを表示する」という振る舞いなので、画面に表示したようなケースでは、全く見分けが付きません。 では、どちらを使っても良いのかと言わ

    【Unity】uGUIのImageとSprite Rendererの使い分け - テラシュールブログ
  • 【Unity】Rigidbody2Dの新しい設定「Dynamic」「Kinematic」「Static」と「Simulated」の使い分け - テラシュールブログ

    Unity 5.5からRigidbody2Dの表示が新しくなり、新しいパラメータも追加されました。その内容が凄く分かりにくいので、確認がてらメモします。 「Dynamic」「Kinematic」「Static」 KinematicとUse Full Kinematic Contacts Staticは動かさない、動けない Simulatedは物理演算と当たり判定をOFFにする オブジェクトプール時に良いカモ 関連 「Dynamic」「Kinematic」「Static」 Body Typeに新しくDynamicやKinemac、Staticが追加されました。 用途は大体こんな感じみたいです。 Dynamic 物理演算で移動するオブジェクト Kinematic スクリプトで動かすオブジェクト Static 原則移動しない、稀に再配置もしくはOn・OFFするオブジェクト Rigidbody2d

    【Unity】Rigidbody2Dの新しい設定「Dynamic」「Kinematic」「Static」と「Simulated」の使い分け - テラシュールブログ
  • 【Unity】ノベルゲームの立ち絵表現で、キャラクターの表情だけ切り替えて、メモリとロード時間を節約する - テラシュールブログ

    ついにユニティちゃんの立ち絵素材が公開されましたよ。超可愛いユニティちゃんとユーコちゃん*1、あとミサキちゃんの立ち絵が使えるようになった!ヤッタネ☆ さらに嬉しい事に解像度は1620×2048と非常に高解像度で、キャラクター全体像をのイメージが使用されているよ! なんと1キャラに表情を5つ用意するとメモリを85MB、それを3体表示するとメモリを255MBも消費出来るよ!ブイブイ☆ さらにこんな大きなテクスチャであればロード時間も追加出来るよ! 5.3から非同期なテクスチャロードも出来るようになったけど完璧なシームレスでは無いから、ゲームをガっと止めるかカクカクに出来るよ!イエイ☆ まあ、最近のモバイルだと実は(LZMA圧縮したAssetBundleとかandroidのresourcesから持ってこない限り)結構高速で読めるし、メモリも(コンソールと違って)潤沢にあるので最悪コレでも良いの

    【Unity】ノベルゲームの立ち絵表現で、キャラクターの表情だけ切り替えて、メモリとロード時間を節約する - テラシュールブログ
  • Unity ChromaPack のアルファ対応版を書いてみました - n-yoda's blog

    ChromaPackとは、Keijiro Takahashiさんが公開しているUnity用のテクスチャ圧縮プラグインです。 ChromaPack -- Unity でテクスチャ圧縮するプラグイン。色差サブサンプリングを使って見た目の劣化ほぼ無しにピクセルあたり 12 bit まで減らします。透過対応。iOS/Android 対応です。 https://t.co/Fv6Dt0btGU— Keijiro Takahashi (@_kzr) January 8, 2015 ChromaPackが用いるChroma subsamplingとは、 色をLuma(輝度)とChroma(彩度)で表し、Chromaの方だけを圧縮すると比較的高品質になるという手法です。 ChromaPackは1ビットのアルファしか対応していないので、半透明を表現できません。 そこで、ChromaPackとほぼ同じ方式で半透

    Unity ChromaPack のアルファ対応版を書いてみました - n-yoda's blog
  • 【Unity】距離に応じて2Dカメラを拡大・縮小する処理 - テラシュールブログ

    カメラワークの続き。今回は二人のキャラクターが必ずカメラ内に収まるようにカメラの描画範囲を広げる、スマブラで見たアレを…作った過程を紹介します。 当初、単純に2点の距離からカメラの描画範囲(camera.orthographicSize)を出していましたが、これは間違っていました。 ので、ちゃんと考えます。「2点のキャラクタが両方とも画面が居に行かない」をレターボックス(テクスチャのサイズに合わせて画面の描画範囲やアスペクト比を設定する)と同じような考えが通用しそうなので、そのアプローチで行きます。 tsubakit1.hateblo.jp camera.orthographicSizeは高さの半分、つまり1を指定すると2mのオブジェクト(Cube2個分)と一致します。 なので縦の距離は簡単。2点の距離を求めて、その半分の長さをsizeに与えてやれば二つともカメラにキッチリ描画されるように

    【Unity】距離に応じて2Dカメラを拡大・縮小する処理 - テラシュールブログ
  • 【Unity】2Dカメラを制御する奴を試作した日記 - テラシュールブログ

    なんか面白くなって色々やってたら無駄に時間かかってしまったので、コードとコードの解説についてはモチベーションが上がった時に。 スタート地点はこんな感じです。プレイヤーの子オブジェクトとしてカメラがくっ付いている、Unityでは良くあるパターンです。 ちなみにカメラ境界線もカメラの移動予測地点移動も無くすとこんな感じ。よくある pic.twitter.com/8mhTgWmD4a — 椿 (@tsubaki_t1) 2015, 9月 27 カメラの移動範囲を制限しようと思いましたが、StandardAssetsのUtilityにCameraFollowなるコンポーネントがあり、これがカメラの移動範囲を制限する機能だったのでそのまま拝借。 類似品にFollowTarget(3D用の対象を追跡するコンポーネント)やSmoothFollow(FollowTargetをスムーズにしたもの)Follo

    【Unity】2Dカメラを制御する奴を試作した日記 - テラシュールブログ
  • UnityのuGUIのUIにシェーダーを適応する - テラシュールブログ

    uGUIUIは今までのUIと違い、独自のシェーダーを適応することが出来ます。例えば、下のように「y軸で縞模様を作る」のようなエフェクトを付与・動的に変更する事が出来ます。 やり方は単純です。 まずUnity 4.6のダウンロードページからBuilt-in Shaders for Unityを入手します。 それを解凍し、Assets直下に入れます。今後はこのシェーダーをコピーしカスタマイズしていきます。uGUIシェーダーをカスタマイズしなければuGUIの機能(表示順番の管理やエフェクト等)を使用できない為です。 後は、ImageコンポーネントのMaterialにカスタマイズしたシェーダーを適応したマテリアルをアタッチします。これだけです。 シェーダーをカスタマイズする事で、単純なスプライトの移動等では表現が面倒な表現を比較的少ない負荷で実装することが出来ます。 やってみると意外と面白いの

    UnityのuGUIのUIにシェーダーを適応する - テラシュールブログ
  • AssetStoreの2D素材 - テラシュールブログ

    今回はAssetStoreに2D素材についてです。 知らないのか使い方が分からないのかは判断出来ませんが、活用せず適当なGUIを使用している人が結構居る気がするので、今回はそのアセットの探し方について紹介します。 「それなりのゲーム」に見える指標の一つに間違いなく「GUI」があるので*1、この項目はAssetStoreなりフリー素材なりを使ってしっかり作った方が良いです。 GUI系素材 AssetStoreのGUI系素材は、「テクスチャ&マテリアル」カテゴリの「GUIスキン」や「アイコン&UI」から見つける事ができます。 GUI系は(大抵NGUIを前提としてますが)UIの組み方サンプルもあるので、組み方を覚えようと思った人にも役に立つ場合があると思います。 また、フォントも「テクスチャ&マテリアル」の「フォント」から見つけることが出来ます。大体英語のみとなりますが、割とクールな物が多いので

    AssetStoreの2D素材 - テラシュールブログ
  • Unity4.3 で追加された Sprite 機能を使ってみよう - その1 - Unityではじめるゲーム開発 - Mobile Touch - モバイル/タブレット開発者およびデザイナー向け情報ポータル

    Unity 4.3 で今まで Unity の弱点だった2Dの部分が強化されました。まぁ、今までも Asset Store で公開されているライブラリを購入すれば2D処理の強化は可能でしたが標準で対応してくれるのはありがたいことです。 今回はその2D機能の基的な部分、Sprite機能について解説します。 素材を準備しよう 今回の最終目標は2Dキャラが歩行アニメーションをしながら上下左右に移動するということとします。素材をイチから作るのは大変なので今回はOpenGameArtで公開されているパブリックドメインの画像を使用することにします1。 上記ページの ada0.png というリンクから画像をダウンロードして下さい(実際のファイル名は ada0_0.png になっています)。 ライセンスがパブリックドメインですのでこちらにも転載しておきます。こちらの画像を使用してもOKです。 今回使用する

    Unity4.3 で追加された Sprite 機能を使ってみよう - その1 - Unityではじめるゲーム開発 - Mobile Touch - モバイル/タブレット開発者およびデザイナー向け情報ポータル
  • Unity3D:iOSビルド時に見慣れないエラーメッセージ | devlog [naru design]

    iOS向けにビルドする際に、見慣れないエラーメッセージが表示された。 An asset is marked as dont save, but is included in the build. 自分ではアセットに対して保存を禁止するような設定はしていなかったのですが・・・。 原因はNGUIラベルのフォント設定 プロジェクトにはNGUIアセットを追加して、ラベル付きのボタンを作成していました。スプライトとラベルから成る単純なものです。 ラベルのフォント指定は、「Lucida Grande」「Dynamic」。Fontをクリックした時に表示されるSelect a Fontから選択しました。LucidaフォントNGUIアセットを追加した際に利用可能になったものだと思います。 エラーの原因は、このフォントの設定でした。「Arial」「Dynamic」に設定したところ、エラー無くiOS向けのビル

    Unity3D:iOSビルド時に見慣れないエラーメッセージ | devlog [naru design]
  • Unity2D入門 スクロールアクションゲームを作る キャラクターを動かしてみる - とあるプログラマの備忘録

    ※このブログはUnityの勉強がてら備忘録として残しているものです、ご使用の際には自己責任でお願いします。 前回はキャラクターが動くようになったので、あとは動かせればなんかそれっぽくなりそうなんですけど、 今まで一切ソースを書いてこなかったんですけど、今回遂にソース書いちゃいます!(いやプログラマなんだから書けよ俺) そのまえに、とりあえずplayerを動かすために3つほどAdd Componentしておきます。 追加するコンポーネントは以下の3つ ・RigidBody 2D ・Circle Collider 2D ・Box Collider 2DplayerのInspectorからAddComponentしてこんな状態にします。 この状態でエミュレートすると、、、キャラクター地面を突き破って下に落ちていきます() あれ?地面作っておいたのになんでですかね。。 どうやらCubeで作成したF

    Unity2D入門 スクロールアクションゲームを作る キャラクターを動かしてみる - とあるプログラマの備忘録
  • 【Unity2D 入門】横スクロールアクションゲームを作ってみたい -マップ作成編 - 株式会社BEFOOL ブログ

    新年開けましておめでとうございます。 技術部のraharuです。 昨年は別のプロジェクトに行ったりしていて忙しい日々をおくっていましたが、 今年からまた少しづつ勉強を開始ししていければと思います。 プロジェクト作成 プロジェクト作成時に3Dと2Dが選べるようになりました、今回は2Dを選択して新しいプロジェクトを作成します。 土台となる床を作成する Hierarchy >create > Cubeからオブジェクトを出してとりあえず横に長い床でもつくってみます。 Transformはこのようにして起きます カメラ視点で確認すると、ここんんな感じです 背景をつくる いくら勉強用といっても背景が無ければしまりません。 しかし自分には一切絵心が無くて、困ってい所!うちのデザイナーのN氏が5分で背景をつくってれました! ありがとうN氏! 作ってもらった背景 この背景のInspectorのTexcure

    【Unity2D 入門】横スクロールアクションゲームを作ってみたい -マップ作成編 - 株式会社BEFOOL ブログ
  • [Unity]NGUIで当たり判定を付ける

    NGUI でスプライトに当たり判定を付ける場合、普通に スプライトに Collider を付ける 必要に応じて RigidBody も付ける OnCollisiionEnter などを書く とした上で、 RigidBody の FreezePosision の z と FreezeRotation の x, y にチェック(負荷が減る、と思う) 表示順の制御に z 座標を使っている場合、衝突し得るように Collider の Size.z などを調整 クリック等のイベントを受け取るスプライトの Collider は最も手前になるようにする または、イベントを受け取るスプライトを含む UIPanel のレイヤを分け(スプライト個別にはレイヤを変更できないため UIPanel 単位になる)、UICamera の Event Receiver Mask をそのレイヤだけに、Camera の Cu

  • [Unity]Unity4.3の2D機能入門まとめ

    Unity4.3 で 2D 系の機能が強化され、スプライト表示やアニメーションなどが便利になりました。 これについては皆さんすでに書かれていますので、自分がとりあえず入門レベルになるまでにお世話になったサイトをまとめておきます。 Unity2DとNewGUIについて : Unity の中の人のスライド。Unity の 2D 機能の概要、噂の次期 GUI (uGUI) との住み分けの話など。uGUI が出るまでの GUI 作成は Unity の 2D スプライトではなく NGUI とか使っておくといいかも、といったことも書いてありました。 スプライトを表示して最低限のアニメーションをするところまでは以下のサイトを見ればできると思います。 Unity4.3 で追加された Sprite 機能を使ってみよう - その1 - Unityではじめるゲーム開発 - Mobile Touch Unity

  • [Unity]NGUIでUnityの2Dスプライトを使う

    Unity 4.3 で 2D スプライト機能などが強化されましたが、GUI 向けではないということで、現状 GUINGUI などのアセットを使うのがよいようです。 Unity の 2D スプライトと NGUI を併用する方法は少なくとも 2 種類、それぞれ独立させる方法と NGUI に取り込む方法がありますが、今回は後者について紹介します。

    [Unity]NGUIでUnityの2Dスプライトを使う
  • [Unity]NGUIでUnityの2Dスプライトをアニメーションする

    NGUIUnity 4.3 の 2D スプライトを使う方法は [Unity]NGUIUnityの2Dスプライトを使う に書きましたが、今回はこれをアニメーションさせる方法です。 NGUI のバージョンは 3.0.6f6 以降が必要です。 まずは上記記事などを参考に、Unity 4.3 の 2D スプライト表示とアニメーション、NGUIUnity の 2D スプライト表示ができるところまで準備してください。 あとは SpriteRenderer と Animator をアタッチして、数行のコードを追加すれば完成です。(空のオブジェクトに下のコードだけアタッチすれば、必要なスクリプトは全てアタッチされます。) コードは以下。( GitHub : unity-ngui/UI2DSpriteAnimation.cs ) using UnityEngine; using System;

    [Unity]NGUIでUnityの2Dスプライトをアニメーションする
  • [Unity]DotFabで出力したモデルを取り込む

    ドット絵を 3D にできる DotFab を Unity で使ってみたときのメモです。 最新の v0.6.1 は 3D モデル出力機能がないので、v0.4.1 を使います。 (注 : 3D の知識はほとんどないので、以下おかしなことを言っているかもしれません) DotFab の使い方は readme を見ればわかるので割愛しますが、SAVE_3D_OBJECT で出力した .obj (と .mtl) を Unity にドラッグ & ドロップしてインポートすると、下記の画像のようになってしまいました。 どうも大半のポリゴンのマテリアルが正しく設定されていないようです。 試しに Blender でインポートしてみると正しく表示できたので、Unity で .obj のインポートに何かあるのかもしれないと思い、形式を変換してみることにしました。 最終的には .dae 形式でエクスポートすると Un

    [Unity]DotFabで出力したモデルを取り込む
  • 1