タグ

unityに関するyutaka_kinjyoのブックマーク (239)

  • Unity3D上でマウスポインタの位置のグリッド座標を簡単に取得する - Crieit

    はじめに いつもお世話になっております。 この度アドベントカレンダーに参加したいなと思いまして、 なんでも Advent Calendar 2020に記事を投稿することにしました。 普段はnoteTwitterで活動しております。 さて、今回のテーマは「Unity3D上でマウスカーソルの位置のグリッド座標を得られるようにする」というものですが、言葉だけつらつら並べてもわかりにくいのでサンプル画像を用意しました。最終的にこんな感じで選択できるようになります。 この画像のようにマウスカーソルの位置の座標を光らせられるようにしましょう。 (キャラクター移動方法などは省略致します。ご了承下さい。また地形に高低差がある場合、この方法では上手くいかないと思います) 使用する機能 上記を実現する方法としてパッと思いつくのはPlaneやCubeを敷き詰めて全てにコライダーコンポーネントをアタッチし、マウ

    Unity3D上でマウスポインタの位置のグリッド座標を簡単に取得する - Crieit
  • Cinemachineの使い方③(Blend List Camera)

    Blend List Camera とは Blend Listカメラはサブカメラをいくつも持つことができ、 クラッシュズームやドリーイン/アウトなどの共通の動きを作成することができます。 要するに用意された複数のカメラを切り替えることができます。 導入 メニューから、 Cinemachine > Create Blend List Camera を選択します。 すると、ヒエラルキーに Cinemachine Blend Camera コンポーネントが ついている親オブジェクトと、その子オブジェクトに VirtualCameraがついた2つのオブジェクトが出来ると思います。 (画像では子オブジェクトの名前を変更しています。) これで一応準備は完了しました。 設定 動きとしては、Blend List Cameraコンポーネントが有効化されたときに 一度だけ設定されたカメラ順にカメラが切り替わっ

    Cinemachineの使い方③(Blend List Camera)
  • 【Unity】CinemachineのVirtual Camera切替をコントロールする - テラシュールブログ

    今回はCinemachineのVirtual Camera間の切替時間をコントロールします。 #Cinemachine でカメラの切替 pic.twitter.com/aipJxHRTJF — 椿 (@tsubaki_t1) 2018年4月3日 カメラの切替とCinemachine カメラを切り替える カメラの切り替わる時間を制御する カメラの切替とCinemachine Cinemachineはカメラの位置をVirtual Cameraとして保持しており、これを切り替えることで複数のカメラの位置や視点の先の切り替えを実現しています。 例えば下のように、後ろからのショットと壁の向こうからのショットが欲しい場合、二つのVirtual Cameraを用意してソレを切り替えれば、自分の欲しいショットが得られる訳です。 これは実は、カメラの挙動も切り替えが可能である事を意味します。 たとえば通常は

    【Unity】CinemachineのVirtual Camera切替をコントロールする - テラシュールブログ
  • Unity 開発者向け Visual Studio からの Rider 乗り換え案内

    数ヶ月前から Unity 開発の IDE を Visual Studio から Rider にしてみました。しばらく使ってみてどっちか選ぼうとした結果、無事、Riderはいいぞおじさんになりました! せっかくなので乗り換えまわりのアレコレを書いてみます。 環境 Window 10 Visual Studio 2019 Rider 2021.3 Unity 2021.2 使った感触 安定している、挙動が気持ち速い Visual Studio でも基は問題なかったのですが、複数ウィンドウ開いている場合などたまに調子が悪くなる場合がありました。極端なときはハングアップしたりしてたのですが Rider では今のところ安定しています。また起動時などもなんとなく挙動が速い気がします。 UI がモダン 全体的に UI がすっきりしてモダンな印象を持ちました。たとえば CodeLens(クラスや関数の定

    Unity 開発者向け Visual Studio からの Rider 乗り換え案内
  • 【Unity C#】ビルドの画面サイズ

    ビルド設定の解像度と画面サイズについては、いくつかのモードが用意されています。 全画面表示ウィンドウ(Fullscreen Window)、専用全画面(Exclusive Fullscreen)、最大ウィンドウ(Maximized Window)、ウィンドウ化(Windowed)について確認してきましょう。 関連記事: Escapeキーで画面を閉じる ボタンをクリックすると画面が閉じるしくみ WebGL書き出しエラーを解決 制作のアスペクト比 16:9のアスペクト比が一般的には多いですが、今回はあえて800×600 (4:3)でゲーム制作したと仮定します。 ビルドの画面サイズがどのように変化するのか、見ていきましょう。 全画面表示ウィンドウ(Fullscreen Window) 全画面表示ウィンドウ(Fullscreen Window)を選択。 デフォルトで機器固有の解像度にする(Defa

    【Unity C#】ビルドの画面サイズ
  • [Unity]WebGLのエラー「Looks like you are rendering without using requestAnimationFrame for the main loop」 - JoyPlotドキュメント

    [Unity]WebGLのエラー「Looks like you are rendering without using requestAnimationFrame for the main loop」 - JoyPlotドキュメント
  • 【1分理解】Unity製のゲームに広告をつけて収益化したいと思ったときにしっておくべきこと  | Unishar-ユニシャー

    Unity公式が提供している広告サービスとなっています。アプリの上部に永遠と表示される広告をバナー広告というのですが、Unity Adsはビデオ広告になっております。 またここも重要ポイントなんですが、iOS・Android向けの広告しか表示できないとこです。他のプラットフォームには対応していません。 【Unity Ads】をUnity製のアプリに実装する方法 詳しくは【Unity Ads】をUnity製のアプリに実装する方法をご覧ください。 【Unity Ads】をUnity製のアプリに実装する方法>> 【AdMob】はGoogleが出している広告

    【1分理解】Unity製のゲームに広告をつけて収益化したいと思ったときにしっておくべきこと  | Unishar-ユニシャー
  • 人様が作ったゲーム「のびのび」を好き勝手にリデザインしてみた | RYO620 Design & Development

    「人様が作ったゲームを好き勝手にリデザインさせてもらおう」という、(主に私が)楽しい企画です。 今回 さめみずさん に上記募集から応募いただき「 のびのび 」をリデザインさせていただきました! くっつきパズル のびのび 目次 「くっつきパズル のびのび」リデザインver. がこちら リデザインが完了するまで ゲームを募集しよう(準備) とりあえずプレイしよう(0 〜 10min) リデザインの方針と画面仕様を決めよう(10min 〜 30min) ブロックをデザインしよう(30min 〜 1h30min) くっつきを表現しよう(1h30min 〜 1h50min) ゴールを立てよう(1h50min 〜 2h10min) メイン画面を完成させよう(2h10min 〜 3h10min) ステージセレクト画面を作ろう(3h10min 〜 4h20min) 実機で確認しよう(4h20min 〜 4

    人様が作ったゲーム「のびのび」を好き勝手にリデザインしてみた | RYO620 Design & Development
  • Unityで特定の点を中心にScaleを変化させる (ScaleAround) - littlewing

    UnityでGameObjectの原点ではなく、指定した点を中心にScaleを変更する方法。 rotationは原点と回転軸を指定して回転できる RotateAround があるけど、Scaleには無いので作った。 タッチパネルの2指操作や、両手VRコントローラで拡大させる時に、拡大の中心を動的に変更できて便利。 /// pivot を中心に、target のScaleを変化させる public void ScaleAround(GameObject target, Vector3 pivot, Vector3 newScale) { Vector3 targetPos = target.transform.localPosition; Vector3 diff = targetPos - pivot; float relativeScale = newScale.x / target.

    Unityで特定の点を中心にScaleを変化させる (ScaleAround) - littlewing
  • 【Unity】UIをドラッグ&ドロップで動かす

    Unityで、キャンバス上の画像などのオブジェクトを、 ドラッグで、マウスで動かしたいとき。 そんなときに役立つ記事・方法をご紹介いたします。 Unityをある程度分かる方向けの記事になります。 【ドラッグ&ドロップで、オブジェクトを動かすやり方】 私は、こちらの「ねぎたまらぼ」さんの記事を参考に、 キャンバス上の画像を、ドラッグ&ドロップで動かすことが出来ました。 とても便利だったので、ぜひ参考にしてみてくださいね。 ただ、自分がやりたかったこととしては、 「ドロップ直後に、ちゃんとドロップした位置に、オブジェクトが残ってほしい」 ことだったのと、 そのままコピペしただけでは、Canvas内のオブジェクトの位置がずれてしまい、 うまく表示ができなかったので、 少し改変して、以下のようにしました。 <プログラム> 「Memo_Result.cs」 ※上記スクリプトを、そのままコピーペースト

    【Unity】UIをドラッグ&ドロップで動かす
  • Unityでは自分でウィンドウを作れる【Editor拡張を使おう】

    UnityではEditor拡張として、普段使っているUnityエディタの機能を自分でカスタマイズすることができます。 例えば私がアセットストアで公開しているアセットではペイントのようにマス目にダンジョンのパーツを塗っていくことでその通りにダンジョンを生成する機能がありますが、このダンジョンのパーツを塗るウィンドウはC#で書いています。こんな感じの画面を自分でEditor拡張で作ることができるんです。 MapEditor コードの中でテクスチャを生成して画面に表示することもできるので、調べてみると案外たくさんのことができたりします。 こんな感じで必要に応じてウィンドウを作成することができるので、RPGでの戦闘シミュレーションや必要経験値表などを表示することもできます。 開発中に自分でゲームを実行して戦闘のゲームバランスを確認していくのは中々大変なので、こうしたエディタ機能やデバッグ機能を用意

    Unityでは自分でウィンドウを作れる【Editor拡張を使おう】
  • 【Unity】スクリプトがシリアライズされる仕組み

    これらの値は、バイナリデータやテキストデータなどに変換されてファイルに保存されるわ。 この変換処理のことをシリアライズ(またはシリアル化)と言うの。 MonoBehaviourスクリプトで定義したフィールドをインスペクターから設定できるようにしたい場合、次のようなコードを書くことがあるでしょう。 class ExampleScript : MonoBehaviour { // publicにしたフィールド public float _publicField; // SerializeField属性を指定したprivateフィールド [SerializeField] private float _privateField; ・ ・ ・ インスペクターから設定した内容は、シリアライズすることでアセットファイル等に保存されます。 シリアライズ対象のフィールドは、上記の書き方のように定義する必要が

    【Unity】スクリプトがシリアライズされる仕組み
  • 【Unity uGUI】Scrollbarコンポーネントを徹底解説

    この記事は uGUIシリーズ の7回目です。今回は Scrollbar について解説します。 ※使用しているUnityのバージョンは5.5.0f3です。 [Unity_317×90] Scrollbarとは Scrollbarは、指定した領域をスクロールするためのUIです。 一画面で表示しきれない大きい画像や長いテキストなどの表示に使用します。 ※ちなみに Slider はマウスなどでドラッグすることによって設定した範囲の数値を選択できるUIです。 プロパティの解説 Scrollbarコンポーネントのプロパティについて解説しておきます。 ■Interactable ■Transition ■Navigation 上記3つについては他のコンポーネントと共通ですので、こちらのエントリーを参考にしてください。 ⇒ UnityのButtonの使い方 ■Handle Rect Scrollbarのハ

    【Unity uGUI】Scrollbarコンポーネントを徹底解説
  • |

    ScriptableObject はシリアライズ可能な Unity 独自のクラスで、スクリプトインスタンスからは独立して大量の共有データを保存できます。ScriptableObject を使用すると、変更やデバッグの管理が容易になります。ゲーム内の各種システム間において、一定の水準で柔軟なコミュニケーションが簡単に確立されるようになるため、プロジェクト全体にわたるさまざまな事由における変更や採用に加えて、コンポーネントの再利用管理も簡単になります。 モジュラーデザインの適用: 互いに直接依存するシステムを構築することは避けましょう。たとえば、インベントリシステムはゲーム内の他のシステムと通信できるようにする必要がありますが、システム間にハードリファレンスを作成することはお勧めできません。システムを別の設定や関係に組み立て直すことが困難になるからです。 シーンをまっさらな状態で作成し、シーン

    |
  • 【Unity】小数点第2以下を切り捨てる【C#】 - トマシープが学ぶ

    VRコントローラーのtransform.Positionの各値を小数点第1位までにして変数に入れたい。 コントローラーなのでPositionの値はめっちゃ動くし小数点何位までなのか分からない。 小数点以下の桁数を指定して丸めることはできない textとして表示する場合 ToString()をfloatに戻す 小数点以下の桁数を指定して丸めることはできない 桁数を指定して丸めることはできないらしい ameblo.jp しかし小数点以下の任意の場所を切り捨てる関数はUnityに存在していません(たぶん) (12.345 を 12.3 にしたい等) そうなると多くの場合計算を駆使して実現しようとするはずです 例えば次のような感じ ------------------------------- // 0.31 を 0.3 にしたい場合(小数点第一以下切り捨ての例) s2 = 0.31f; s2 =

    【Unity】小数点第2以下を切り捨てる【C#】 - トマシープが学ぶ
  • Unityと協調するためのアーキテクチャ『MVP4U』 - yotiky Tech Blog

    これまでいくつかの記事でアーキテクチャのデザインパターンを見てきた。Unity独自の事情なども徐々に咀嚼し、ある程度動きそうなアーキテクチャを開発チームにアウトプットできたので、ここらで共有しておこうと思う。まだ適用し始めた段階なので、今後いくつかのプロジェクトで試してみて内容を精査していければと考えている。 Unityを取り巻くアーキテクチャ 第1部 「MVxとLayered Circle」 Unityを取り巻くアーキテクチャ 第2部 「DDDのアーキテクチャ」 Unityと協調するためのアーキテクチャ『MVP4U』(これ) ※編集履歴 2018/11/28 サンプルプロジェクトを掲載 目次 目次 序章 UWP / Web / UnityのMVx UnityのMVPを考える MVP4U (MVP for Unity) XR UWP/Web/Unity(XR)のView シナリオの進行 X

    Unityと協調するためのアーキテクチャ『MVP4U』 - yotiky Tech Blog
  • 分かった気になる! Timeline Signals | Unity Learning Materials

    Unity2019から導入された新機能 Timeline Signals についての概要を紹介します Roppongi.unity #2 in メルカリ@六木ヒルズ https://roppongiunity.connpass.com/event/122147/

    分かった気になる! Timeline Signals | Unity Learning Materials
  • 【Unity】手軽に演出を構築!はじめての Timeline 入門 | 夜中にUnity

    Timeline を使ってみよう ここからは実際に Unity 上で Timeline の機能を使ってみます。 環境は Unity 2019.4.01f を使用しています。 タイムラインアセットの作成 まずはじめに、タイムラインアセットを作成します。 Project ビューの [+ ボタン] -> [Timeline] を選択します。 「New Timeline」という名前でタイムラインアセットが作成されました。 タイムラインインスタンスの作成 次にタイムラインインスタンスを作成します。 先程作成した「New Timeline」を Hierarchy 上にドラッグ&ドロップして下さい。 Hierarchy 上に生成したオブジェクトが、タイムラインインスタンスになります。タイムラインアセットと名前が同じなので「New Timeline Instance」という名前に変えておきましょう。 In

    【Unity】手軽に演出を構築!はじめての Timeline 入門 | 夜中にUnity
  • 3点が同一直線上の点か調べる - Qiita

    調べ方 3点の回転方向を調べる にて、 $dx2 \times dy1 = dx1 \times dy2$ の場合は、 3点は同一直線上の点であることがわかる。 例 $A=(2,3), B=(7,6), C=(12,9)$ のとき $dx2 \times dy1 = 10 \times 3 = 30$ $dx1 \times dy2 = 5 \times 6 = 30$ $dx2 \times dy1 = dx1 \times dy2$ なので 3点は同一線直線上の点。 3点が同一直線上の点の場合の配置パターン ① 点Aが点B,Cの間に配置されている ② 点Bが点A,Cの間に配置されている ③ 点Cが点A,Bの間に配置されている のいずれかになる。 3点が同一直線上の点の場合の配置パターンの判定 ① 点Aが点B,Cの間に配置されている このとき、点Aを基点としているので、 dx1,dx2

    3点が同一直線上の点か調べる - Qiita
  • 【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の自動レイアウトが分かりにくいと評判なので解説してみる - テラシュールブログ