赤兎ラボ

コーディングからバージョン管理、業務効率化までをまとめます。

2019-01-01から1年間の記事一覧

Unity Tips 回転を簡潔に制御する

前書き UnityにおけるQuartenionの制御は制作の上で壁になります。 Quartenionに限らず、3Dで回転を扱う際にはジンバルロック等の様々な障害があります。 これを解決するためのノウハウを1つ紹介します。 方法 回転させたいオブジェクトの親オブジェクトに…

Unity private変数をインスペクタに表示したい

方法 private変数をインスペクタに表示したい場合、以下のようにSerializeFieldの宣言を行います。 [SerializeField] private Class value; また、public変数をインスペクタに表示したくない場合は以下のように書きます。 [HideInspector] private Class val…

Unity キー操作でUI要素を操作する

方法 NavigationをExplicitで設定して 各種キー操作上下左右に対応したUI要素を登録する ちなみにTransitionをColorTintで設定してHighlightedColorをわかりやすい色にしておくと良いです。 解説 UnityのUI(Button, Toggle, Dropdown等)はSelectableクラスを…

Unity 様々な画面サイズに対応する

方法 CanvasScarer > ScreenMacthMode のうち Expand と Shrink を使い分ける RenderTextureを使用してWorld空間をCanvas上に置き換える 機能解説 Expandは画面内に収まるようにcanvasを描画する設定 Shrinkは画面外にはみ出すまでcanvasを描画する設定 なお…

MVVMパターンをザックリ活用

はじめに 本記事はデザインパターン・プログラム設計を完全に理解していなくとも、近しいプログラム構造をイメージすることで簡潔な設計を目指す。 知識の導入によるリスクを避け、リターンのみを求める、ローリスクハイリターンを目指す記事である。 厳密に…

RenderTextureを使った3Dミニマップ表示

Render Textureとは カメラを複数台用意して、個々のカメラを別々にゲーム画面上に表示する機能があります。 これはカメラのみでも可能ですが、一旦テクスチャとして撮影して表示することができます。 これをRender Textureと呼びます。 使用方法 Projectビ…

コールバック関数の実装について

コールバック関数とは? コールバック関数とは、あるイベントが発生した時に付随して呼ばれる関数のことです。 unityではUnity Eventが代表的なもので、UIシステムのボタンに実装されているOnClick関数もイベント関数=コールバック関数の一種です。 コール…

Unity Shader 入門

記事の目的 本記事はUnity shaderを扱う上で概要を説明するものであり、入門の足掛かりとすることを目的とします。具体的な実装を記載するものではありません。 はじめに。シェーダってどんなもの? 画像処理に使うもの。C#とは別の記述方法で扱う。 シェー…

デジゲー博2019出展レポート 事前準備編

デジゲー博2019に出展してきました! コミケやBit Summitを含むイベントに初出展のため、分からない事や足りないものだらけだったので記述していきたいと思います。 この記事は展示されていた他のブースのゲーム内容に触れることは一切ありません。 出展者目…

Unity Blender FBXImportSettings

BlenderでEBXをエクスポートし、Unityでインポートしてモデルを利用する際の方法をまとめます。 前提 RootMotion使用 FBXに紐づいたアニメーションの座標計算を元にUnityのシーン上のオブジェクトを動かすことが出来ます。 過去の記事でも触れているため参考…

GridLayoutで格子状に自動レイアウト

Unityには自動レイアウトという機能があります。 インスペクタ上で手軽にレイアウトが変更できるため、簡単にゲームを制作する場合に有効です。 元々はUI用の機能のようなので今回はUIで説明をしますが、 3Dオブジェクトであっても同じようにグリッド配置が…

Unityのタブレイアウト

僕のUnityのタブレイアウトはこんな感じになっています。 初期のレイアウトではProjectビューとInspectorビューが1つずつだったのではないかと思います。 こうしたタブレイアウトを変えることで実は作業が効率化できたりするので、 紹介していきたいと思いま…

ドラッグアンドドロップを実装する

ドラッグアンドドロップを実装する UnityEngine.EventSystemsにはドラッグアンドドロップ用のインターフェースが実装されています。 IDragHandler等を継承し、OnDrag()を実装するだけで簡単にドラッグ処理が実装出来ます。 厳密にドラッグ開始やクリックのタ…

値が変化したときに処理を実行する

今回の記事では値が変化した時に行ってほしい処理の実装方法について触れます。コールバックを使います。 Unityのコールバックについて Unityには標準でコールバックがいくつか用意されています。 UI/Buttonを作成すればOnClickというコールバックが見つかる…

Rigitbody UseGravityが動かない問題について

UnityのRigitbody UseGravityが動かなくなりました。 これについての解決策を記載しておきます。 関連ワード 以下のキーワードに心当たりがある人に対して本投稿は力になれるかもしれません。 ・Animator ・Animation ・ルートモーション また、IsKinematic…

Blenderでモーションを作る

Blenderでモーションを作りました。 その際に困ったこと・解決方法を記しておきます。 要件 複数のオブジェクト(身体・羽・剣)からなる1体のキャラクターを作成する。 ボーンの作成からアクションの作成まで。(モデルのメッシュ作成は覗く) 必要な操作 ・オ…

お問い合わせフォーム

読み込んでいます...

連番画像を使ったスプライトアニメーション

連番画像には2種類あります。 1つの画像にアニメーションが並べられたもの(左画像)と、 フォルダに連番が付与された画像ファイルが複数あるもの(右画像)です。 前者の並べられた画像のスプライトアニメーションは以下のサイト等で紹介されています。 Unity …

Unity衝突判定 親子関係について

Unityの衝突判定では時にCollider複数を持ちたいときがあります。 私は攻撃判定用と防御判定で使い分けたりします。 この時発生した親子関係の問題についての解決方法を記載します。 発生した問題 AとBで衝突判定が発生した時、 A.OnTriggerEnter()の引数に…