タグ

ブックマーク / tsubakit1.hateblo.jp (46)

  • Unity5で車の挙動をパパっと追加して乗り回す。ついでにAI Carも。 - テラシュールブログ

    今回はUnityがSampleAssetsで提供している車の挙動について紹介します。 なおこの挙動はUnityの物理演算(主にWheel Collider)に従った挙動のため、マリオカートやF-ZEROのような、全体的に物理的ではない挙動を表現したい場合は、これを改造して作るより0から自分で挙動を書いたほうが良いかもしれません。 またレーシングゲームで使いたい場合、転覆したら戻す・もしくは絶対転覆しないように一定角度以上傾いたら強制的に戻すといった仕組みがひつようになるかもしれません。 目次 目次 とりあえず車を走らせる 車をオリジナルカーにする AI Carによるルートの巡回について とりあえず車を走らせる まずはStandardAssetsのVehiclesより、Carコンポーネントを含むコンポーネントを入手します。メニューバーのAssets>Import Package>Vehicl

    Unity5で車の挙動をパパっと追加して乗り回す。ついでにAI Carも。 - テラシュールブログ
    Hamken100per
    Hamken100per 2018/04/19
    Unityの車サンプルのモデルを変更して使用する方法。
  • 【Unity】AssetBundle Managerが思ってたより凄く便利 - テラシュールブログ

    AssetBundle関連を使用する上で便利な上位層APIとして、AssetBundle ManagerがAssetStoreで公開されています。これが思ってたより便利だったので、改めて紹介します。 AssetBundleを簡単に使う為のAsset Bundle Manager AssetBundleを構築する ローカルサーバーを構築してAssetBundleを配置する AssetBundleを構築せず動作をシミュレート 同一のAssetBundleを呼んでもOK 依存関係を解決してくれる 感想 関連 AssetBundleを簡単に使う為のAsset Bundle Manager http://u3d.as/jyk AssetBundle Managerは、AssetBundleを使用するAPIをラッピングして使いやすくまとめたアセットです。例えば、以下のような機能が備わっています。 As

    【Unity】AssetBundle Managerが思ってたより凄く便利 - テラシュールブログ
    Hamken100per
    Hamken100per 2017/12/12
    AssetBundleを使いやすくするAssetBundle Managerの使い方。
  • UnityのCollider2DやColliderに対してクリックやドラッグのイベントを使う - テラシュールブログ

    Unity4.6よりUnityにはEventSystemが追加されました。これは例えばドラッグやクリックといった基的な挙動を登録することが出来ます。 例えばダブルクリックを検知するコード。 ダブルクリックを検知する これをColliderがアタッチされているオブジェクトに追加します。 後はメニューバー>GameObject>EventSystemでイベントシステムを配置し、MainCameraにPhysicsRaycasterを設定します。*1 もしCollider2Dで使用したい場合、PhysicsRaycast2Dを使用して判定します。 これを上手く使うと、例えばIPointerClickHandlerを使ってダブルクリックするといったイベントを使用したり、ゲーム内のユニットをクリックするといった事が簡単に実装出来るので、若干便利です。 使えるイベントはこちら IPointerEnt

    UnityのCollider2DやColliderに対してクリックやドラッグのイベントを使う - テラシュールブログ
    Hamken100per
    Hamken100per 2017/10/22
    IPointerDownHandlerなどの入力インターフェースに対応したコードの書き方。
  • Unityでアスペクト比率を固定する - テラシュールブログ

    n番煎じですが、Unity/基形/025 画面のアスペクト比を固定にする や Unity そのアスペクト比を固定するぞ・・・っ! を参考にアスペクト比率を固定するスクリプトを作成した。他と違うのは、背景を塗りつぶすようのカメラの配置を自動化している点だけです。後は実行しなくても確認できる所とか。 ちなみに背景を何らかの方法で塗りつぶさない場合、デバイスやプラットフォームによって点滅したり、別の場所にレンダリングした内容が表示されたり、最後に描画した内容が残ったりします。基的に塗りつぶすが吉です。 縦・横どちらに伸びても大きさを維持する 再生中に画面比率を変更した場合、対応まで若干のタイムラグがある これと、Unityのカメラ描画範囲を常に表示させる を組み合わせるのは思ってたより便利でした。また、これとUnityでドット絵の1ドット単位移動を組み合わせる事で、画面左下の座標を(x:0,

    Unityでアスペクト比率を固定する - テラシュールブログ
    Hamken100per
    Hamken100per 2017/07/06
    スクリーンのアスペクト比を固定にして、範囲外を別のカメラでレンダリングして塗りつぶす方法。
  • Unity初心者が知っておくと少しだけ幸せになれる、シーンにオブジェクトを配置する時に使える18のTips+10 - テラシュールブログ

    Unityエディタでオブジェクトを操作する上で、知っておくと少しだけ幸せになれるTipsを幾つか紹介します。 個人的に重要と思うものには★を設定しました。 目次 目次 オブジェクトの操作に関するTips コライダーの上に載せる感じで配置する Vキー&移動で他モデルの頂点にくっつく Ctrl(Command)押しながら動かすとスナップ移動★ Inspectorの数値を動かす Inspectorの値を足す モデルをスナップに合わせて整列させる モデルを平面に動かす★ オブジェクトを伸ばす ResetでTransformの値を初期化する★ 矢印のグローバル・ローカル切替 操作モードをキー操作で切り替える 複数のオブジェクトを一括で拡大縮小・回転する Ctrl + Dでオブジェクトを複製する★ シーンビューの操作 シーンビューを一発で平行投影かつ上から視点にする★ シーンビューを前後上下左右に移動

    Unity初心者が知っておくと少しだけ幸せになれる、シーンにオブジェクトを配置する時に使える18のTips+10 - テラシュールブログ
    Hamken100per
    Hamken100per 2017/05/25
    エディタ上でオブジェクトを配置したり移動したりする時に便利な機能紹介。知らなかったことがたくさんあった。
  • 【Unity】uGUIの自動レイアウトが分かりにくいと評判なので解説してみる - テラシュールブログ

    uGUIには自動レイアウトなシステムが積まれています。ただ、このシステム便利ではあるんですが色々と複雑なので、少し補足です。 UIの大きさを動的にフィットさせる、オートレイアウト UIの大きさはLayoutElementで決まる Minは最低限サイズ、Preferredは変化するサイズ、Flexibleは余りを割合で レイアウトプロパティの確認はInspectorビューで UIを並べるだけでなくサイズも変更するLayoutGroup LayoutGroupは子のLayoutを親に伝える Control Child Sizeは子のLayoutを元に子のRectTransformを変更する Control Child SizeがFalseの場合、RectTransformのサイズをLayoutに使う Control Child Sizeによるリサイズは親より大きくならない Child Forc

    【Unity】uGUIの自動レイアウトが分かりにくいと評判なので解説してみる - テラシュールブログ
    Hamken100per
    Hamken100per 2017/05/15
    uGUIのオートレイアウト関連の解説。
  • 【Unity】知っておくと少し便利な Profiler に関する小技集 - テラシュールブログ

    今回はプロファイラーの小技についてです。 プロファイラー小技集 CPUGPUの使用時間を確認 表示する項目を増やす・減らす CPUプロファイラの表示項目を隠す CPUプロファイラの表示順を変更する 負荷のあるオブジェクトがドレかを確認する Timelineで表示する 選択項目に合わせてTimelineの範囲をズームする アセットを参照してるオブジェクトを探す Pforilerのプロファイリング内容をSave&Loadする 関連 プロファイラー小技集 プロファイラーを使うとゲームのボトルネックになっている場所を探したり出来ます。 今回は、その機能に関しての幾つかの小技についてです。 tsubakit1.hateblo.jp CPUGPUの使用時間を確認 CPU UsageとGPU Usageが出ている時に、CPUGPUの使用時間が確認出来ます。 これが16.msを超えてたら60FPSを

    【Unity】知っておくと少し便利な Profiler に関する小技集 - テラシュールブログ
    Hamken100per
    Hamken100per 2017/03/28
    Profilerの見方。色々参考になる記事。
  • UnityのuGUIとImageとSpriteとスライスについて - テラシュールブログ

    uGUIのスライスは覚えておくと便利な機能です。 今回はコレを作ろうと思いましたが、スライス部分が予想以上に色々と出来たので分割します。コレの作り方は次回。 目次 目次 スライスする方法 大きさを調整する 真ん中を塗りつぶさないでフィルレートを節約する スライスする方法 Spriteを選択し、SpriteEdit。エディット画面で緑色の部分を調整します。 大きさを調整する スライスしたスプライトは外側のパーツを固定したまま、内側のパーツを引き伸ばすことが出来ます。Imageにスプライトを設定しSlicedを設定すれば、下のように引き伸ばすことが出来るようになります。 この機能の面白い所は、Tiledにした際に「項目を繰り返す」事です。例えば下のように切り抜いたスプライトがあった場合、引き伸ばすと面白い結果が得られます。 見て分かる通り、引き伸ばした際に「スプライトの途中を繰り返して伸ばす」

    UnityのuGUIとImageとSpriteとスライスについて - テラシュールブログ
    Hamken100per
    Hamken100per 2017/03/03
    uGUI スプライトのスライスの方法。スライスの周辺だけ使うならImageコンポーネントのFill Centerのチェックを外すとフィルレートが稼げる。
  • 【Unity】Unityでトランジションを使用した綺麗な場面転換(uGUI対応版) - テラシュールブログ

    以前に紹介した「場面転換」をよりスムーズな感じで行う処理ですが、uGUIに対応させるついでにUI単位で削除出来るようにしました。 UnityでuGUIのトランジション。パターンはマスク画像(白黒画像)を使用。トランジションするUIの下にあるUIも一緒に消える pic.twitter.com/YmJPSmAowy — 椿 (@tsubaki_t1) 2015, 10月 28 新しいFade Cameraは、ここからダウンロードできます。 サンプルはここからダウンロードできます。 目次 目次 新しいFade Camera 普通のトランジション設定 UIトランジション設定 スクリプトによる制御 関連 新しいFade Camera 今回のバージョンから、uGUIを基として動作するようになっています。 「最前面でuGUIのImageがエフェクトをかけて場面転換する」理屈です。 これの応用で、「テキ

    【Unity】Unityでトランジションを使用した綺麗な場面転換(uGUI対応版) - テラシュールブログ
    Hamken100per
    Hamken100per 2017/02/26
    マスク画像を使ってトランジションを行うアセット。
  • 【Unity】Ambient Occlusionを設定 - テラシュールブログ

    物の接地感を出すのにAmbient Occlusion(AO)を使うのは中々に有効です。その設定方法が少しわかりにくかったのでメモしておきます。 Ambient Occlusion Unity - マニュアル: Screen Space Ambient Occlusion曰く、 互いに接近している折り目、穴、地表を暗くする効果があります。現実世界においては、環境光を遮られ光効果を無視するため暗く見えます。 との事。 ちなみにBlenderのマニュアル曰く AO は照明とは全く関係ありません。描画トリックでしかない AO が自然に見えるのは、現実世界で間近にある面同士(小さなすきまなど)は影やほこりなどのせいで、前に何も置かれていない面より暗くなるためです。 だそうで。 静的なライトマップに Ambient Occlusionを焼く 簡単なステージを作ってみました。早速AOを焼いてみます。

    【Unity】Ambient Occlusionを設定 - テラシュールブログ
    Hamken100per
    Hamken100per 2017/02/22
    AOの解説。
  • 【Unity】モバイル向けのライトマップTipsと、ライトマップを動的に更新するHack - テラシュールブログ

    Unity 5はリアルタイムな光源を基としている節がありますが、モバイル上では依然としてパフォーマンスを稼ぐためライトマップをベイクする方が良いです。 今回はそのライトマップの色々なアプローチについて紹介します。 ライトを焼く ライトマップを焼く時間を短縮する リアルタイムGIをOFFに 重要度の低いライトマップの解像度は下げる Directional ModeをNone-Directionalに設定 Lightprobeを置くポイントに関するTips ライトマップをAssetBundleから読み込むTisp LightSnapshotに関するTips ベイクしたライトを更新するHack ライトマップを分割するTips LightmapをPrefabに適応するHack 関連 ライトを焼く ライトを焼く基的なアプローチは下の記事を参考にしてください。 tsubakit1.hateblo.

    【Unity】モバイル向けのライトマップTipsと、ライトマップを動的に更新するHack - テラシュールブログ
    Hamken100per
    Hamken100per 2017/02/22
    ライトマップのTips。ライトプローブの説明などもある。
  • 【Unity】GameObjectのstatic設定についてのアレコレ - テラシュールブログ

    UnityはGameObjectにstaticのフラグを設定する事が出来ます。 面倒な場合はeverything(全部)で設定してしまうのですが、これは結構意味がり、場合によってはチェックを外したほうが良い事もあります。 色々なstatic Lightmap Static Reflection Probe Static Batching Static OcluderとOcludeeのstatic Navigation StaticとOff Mesh LinkGeneration まとめ 関連 色々なstatic static(静的)が設定されているオブジェクトは、基的に「動かない」モノとして扱われます。とりあえずstaticに明確にチェックが入っている場合は全てのstaticフラグにチェックが入った物として扱われます。 全てにチェックを入れる必要が無い場合、▼ボタンより個別に設定すること

    【Unity】GameObjectのstatic設定についてのアレコレ - テラシュールブログ
    Hamken100per
    Hamken100per 2016/12/29
    GameObjectをStatic設定にする時に考えておくべき点が書いてある。
  • 【Unity】5.3からのマルチシーン編集を前提として使用する上で注意すべき7つの項目 - テラシュールブログ

    今日はMulti Scene Editingを利用して設計する上で注意すべき項目についてまとめてみます。他にも「こんな事ある」的な事があれば、教えてもらえれば超嬉しいです。 読み込んだシーンへの参照は1フレーム後に行う 「シーンの相互参照」は出来ない Scene.UnloadにはUnloadUnusedAssetsは含まれない オブジェクトはActiveなシーンに生成される Activeなシーンの切替は最小限に留める SceneManagerはStart以降に使用する Sceneは毎回取得する 注意書き 関連 読み込んだシーンへの参照は1フレーム後に行う シーンはResourcesやAssetBundleからPrefabを取得する場合と異なり、即座にロードが完了する訳ではありません。これは、非同期(Async)ではないSceneManager.LoadSceneを使用した場合も同様です。具

    【Unity】5.3からのマルチシーン編集を前提として使用する上で注意すべき7つの項目 - テラシュールブログ
    Hamken100per
    Hamken100per 2016/12/06
    マルチシーン編集機能の解説。
  • 【Unity】ライトマップのベイク時間を短時間で終わらせる - テラシュールブログ

    最近、Unityの割と大きめでリアルな感じのデモが幾つかきました。例えばThe Courtyard(上画像)とか、The Blacksmith: Environments(下画像)等です。 で、広範囲かつリアルなのは良いのですが、この手の大きなデモ・大きなステージはライトマップのビルドに物凄い時間がかかります。 既にあるデモを見る分には大した問題では無いのですが、これを調整しようと思うと凄く面倒くさいです。 なので、このベイクを短時間で済ませる設定について紹介します。 目次 目次 ベイクを短時間で終わらせるTips Resolutionを下げる リアルタイム用解像度の意味 Bake GIについて FinalGatherとAmbient Occlusionは重い オブジェクト毎にライトマップの解像度を設定する ライトマップを焼かない 透明なオブジェクトをライトマップに焼かない 関連 ベイクを

    【Unity】ライトマップのベイク時間を短時間で終わらせる - テラシュールブログ
    Hamken100per
    Hamken100per 2016/11/16
    レベルエディット中のベイク時間を短縮させるTips。これ、1ボタンで切り替えられると楽なのになぁ。
  • Unityで影が汚く表示される場合の対処 - テラシュールブログ

    新板 tsubakit1.hateblo.jp 旧版 Unityを使っていると、たまに影が汚く表示される事がある。例えば以下の様な感じ。これは極端な例だが、「なんかブロック調になる」とか「ボケる」等々、そういった特徴が出る。 対策 1つは、影を生成しているLightコンポーネントのShadow TypeのResolutionを「High Resolution」にせっていする事だ。こうすると、綺麗に表示されるようになる。ただし影に使用するバッファの解像度が上がるので負荷は上がる。 もう一つは、影の描画範囲を狭くすることだ。つまり、Quality SettingsのShadow Distanceを最低限の値に設定する。 この方法は負荷が少なく、多少は綺麗にしてくれる。というか、この値が恐ろしい設定になっていると、HighResolutionにしても汚いままとなる。 ただし、ShadowDist

    Unityで影が汚く表示される場合の対処 - テラシュールブログ
    Hamken100per
    Hamken100per 2016/11/15
    影が突然汚くなって表示されるようになった時にチェックする項目。
  • カメラに写っている間のみ処理を行う - テラシュールブログ

    Unity助け合い所で「カメラに写っているオブジェクトの一覧を取得する方法」が聞かれていたので、ここに書いておこうと思う。 デモ 楽な方法は、OnBecameVisible()及びOnBecameInvisible()を使用する方法。 OnBecameVisibleは可視状態になった際に呼ばれるMonoBehaviourのコールバック。OnBecameInvisibleは逆。つまりUpdateのようにコンポーネントに書いておけば勝手に呼ばれるメソッドだ。 こんな感じの処理を記載しておけば、画面外にオブジェクトが移動した際は処理を停止させてくれる。 void OnBecameInvisible () { enabled = false; } void OnBecameVisible () { enabled = true; } ただしSceneViewに表示されていても見える扱いといった、若

    カメラに写っている間のみ処理を行う - テラシュールブログ
    Hamken100per
    Hamken100per 2016/10/23
    オブジェクトがカメラの範囲内かどうか知る方法。
  • 【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をWorld Spaceへ ScreenSpace Overlayを他の座標系へ変換する UIの座標をWorld Spaceに変換する 関連 World SpaceとScreen Spaceについて UIを考える場合、二つの座標系について考える必要があります。つまりWorld SpaceとScreen Spaceです。 World spaceは3D空間上の座標で、XYZで指定します。この座標は世界の中心点(x:0, y:0, z:0)を基準にした

    【Unity】【uGUI】Screenの座標とWorld(3D)座標の変換について - テラシュールブログ
    Hamken100per
    Hamken100per 2016/10/13
    World SpaceをuGUIのCanvasの座標に変換する方法。Screen Space OverlayとScreen Space Cameraでは計算式が違うので注意すること。
  • UnityのuGUIのテキスト表示機能について解説してみる - テラシュールブログ

    UnityのuGUIでテキスト表示の扱いについて解説します。 目次 目次 Textの機能 文字のエフェクト 自動改行と禁則処理 フォントサイズと描画範囲 フォントがぼやける問題(uGUIの場合) Textの機能 TextはuGUIでテキストを表示する機能です。 作成するには、以下の操作を行います。 Hierarchy>Create>UI>Text (もしくはメニューバー>GameObject>UI>Text ) あとはTextの内容を差し替えることで画面にテキストを表示出来ます。またFontに自前のフォントを指定してフォントを変更したり、Font Sizeで文字を大きくしたり、Line Spacingで行間の幅を指定する事ができます。 文字の位置はAlignmentで決定します。テキストの位置を行の頭に合わせるか行末に合わせるか、またテキストの初期座標を範囲の真ん中にするか範囲の上にするか

    UnityのuGUIのテキスト表示機能について解説してみる - テラシュールブログ
    Hamken100per
    Hamken100per 2016/09/26
    uGUIのテキストアウトラインやシャドウ、日本語禁則処理について。
  • 【Unity】AssetBundleのVariantでローカライズ - テラシュールブログ

    AssetBundleのVariantを使用して、ローカライズ的な事を行うアプローチについてです。 今までは少し面倒なバグのせいで紹介するのを避けてきましたが、Unity 5.4bの何処かのバージョンでバグが治ったので、使えるようになりました。 Variantでローカライズ テクスチャやアセットの差し替え(下準備) AssetBundleの読込 ScriptableObjectでテキストデータの差し替え Prefabの差し替えでレイアウト破綻を回避 Resourcesのようにスクリプトから呼び出すアセット群 AssetBundleManagerのSimulatorモード使用した時の問題 関連 Variantでローカライズ VariantはAssetBundleの依存関係を解決する際、参照先を切り替える技術です。 Variantに関するお話はこちら。 tsubakit1.hateblo.jp

    【Unity】AssetBundleのVariantでローカライズ - テラシュールブログ
    Hamken100per
    Hamken100per 2016/06/17
    AssetBundleのVariantでアセットの切り替えを行いローカライズに利用する方法。
  • 【Unity】「Unityスキルがなくても使える短期間ゲーム開発のポイント」 - テラシュールブログ

    ゲームを作る上で知っておくと良いTipsが濃縮された資料です。 どちらかと言えば超オススメ資料です。 ゲーム作りたいと思った人は全員見るといいよ speakerdeck.com プログラムもできない、 絵も描けない、 ゲームも考えられない…… それでもできることがある! 内容 だいたいこんな感じです。 ゲーム作りでよくある問題 企画がまとまらない コンセプトが定まらない 操作やルールを理解してもらえない等) テーマ選びのポイント キャラクターを考える 絵でイメージを共有する ゲームの構成と進行 どんな役割があるか 時間の配分 何を重視すべきか 操作方法を伝える フォントを選ぶ アセットストアのアセットを使う 特にオススメの「使いドコロ」 色使いについて デザイナーが作るものを考える モーションづくりの基 ゲームバランスの調整 ゲームバランスの波 サウンドを探す 作業がストップしないように

    【Unity】「Unityスキルがなくても使える短期間ゲーム開発のポイント」 - テラシュールブログ
    Hamken100per
    Hamken100per 2016/06/06
    ゲーム作りのポイントスライド資料。