タグ

unityに関するanimistのブックマーク (196)

  • Unityの[SerializeField]について色々な疑問に答えてみる - Qiita

    public class TestA : MonoBehaviour { [SerializeField] int maxScore = 100; [SerializeField] int minScore = 0; } このように、編集可能なフィールドとして出てきます。 Unity画面を見ながらパラメタを調整したい時や、プログラマ以外の方にパラメタを調整してもらいたい時などに、便利です。 publicでフィールドを定義しても、インスペクターには表示されるけど? むしろそちらの方が(Unityから見たら)来の姿で、publicではないフィールドでも[SerializeField]をつければシリアライズ化の対象にするよ、というスタンスです。SerializeFieldのマニュアルには、こう書かれています。 When Unity serializes your scripts, it wil

    Unityの[SerializeField]について色々な疑問に答えてみる - Qiita
  • Unityでオブジェクトを指定の方向に向ける - Qiita

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class LookAtTest : MonoBehaviour { public Transform _target; readonly int COUNT = 100000; void Update() { if(Input.GetKeyDown(KeyCode.A)) { float startTime = Time.realtimeSinceStartup; for (int i = 0; i < COUNT; i++) { Vector3 direction = (_target.position - this.transform.position).normalized; this.transform.for

    Unityでオブジェクトを指定の方向に向ける - Qiita
  • Unityでオブジェクトを回転させる方法まとめ | tama-lab

    回転方法はいったん「指定した角度までなめらかに回転させたい時に便利な方法」「指定した角度まで一気に回転させたい時に便利な方法」「ずっと回し続けたいときに便利な方法」「その他の方法」の4つに分類しています。 環境 Unity 5.6.0f3 このページで使用している環境の設定方法はこちらから(説明のため、このページでは画面にcubeを追加しています) 回転方法の分類 指定した角度までなめらかに回転させたい時に便利な方法 Mathf.LerpAngleを使って回転する Quaternion.LookRotationを使って回転する Quaternion.RotateTowardsを使って回転する Vector3.RotateTowardsを使って回転する Quaternion.Slerpを使って回転する 指定した角度まで一気に回転させたい時に便利な方法 Quaternion.AngleAxis

  • Unityで対象となるオブジェクトを向くように回転させたい(Quaternion.LookRotation) - hildsoftのコード置き場

    Quaternionはさっぱりわからないという人は一度こちらを見てください。 code.hildsoft.com Unityで使うQuaternionのサンプルコード(LookRotation) 対象となるオブジェクトを向くには、LookRotationを使ってどのくらい回転させればいいのかを求めて、 得られたクォータニオンを使用して回転させると楽です。 このように黒いキューブの方を向くなど、カメラの向き変更などでよく使います。 Quaternion LookRotation(Vector3 forward) +Z軸を、指定の方向に向けたい時に必要な回転操作が欲しい時に使用します。 +Z方向はVector3.forwardでも定義されていて、カメラの撮影方向もZ軸プラスの方向になります。 今回は黒のキューブに向けてみましょう。 public GameObject targetBlack;

    Unityで対象となるオブジェクトを向くように回転させたい(Quaternion.LookRotation) - hildsoftのコード置き場
  • UnityのOnCollisionとOnTriggerイベントの受け取りを検証する

    今まで何となく使っていたOnCollisionとOnTriggerですが、どういう設定をした時にこのイベントが呼ばれているんでしょうか? 個人的にはコライダの設定で Is Triggerのチェックを入れるとスクリプトから操作し、キャラクターの進入等を検知し、 Is Triggerのチェックを外すと他のコライダを持つ物体と衝突判定をするようになる。 という感じなので、そういった場面で使っています。 Is Triggerのチェックが入っていればOnTrigger系 Is Triggerのチェックが入っていなければOnCollision系 としています。 OnCollisionとOnTriggerの違いを確認するわたくしの適当な使い分けではわかりませんので、 実際にどういう設定の時にイベントが呼ばれるか確認してみます。 まずはヒエラルキー上にCapsule(CharactereControlle

  • Unity - Manual: Smart merge

    Use the UnityYAMLMerge tool to merge sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info See in Glossary and prefabAn asset type that allows you to store a GameObject complete with components and prop

    Unity - Manual: Smart merge
  • UnityYamlMerge - Qiita

    For doing a normal premerge use the -p option. This will create a new left (theirs) file that contains all non-conflicting merges and the left side values for where there are conflicts. The same will be done the base file and right file and put into a temporary file unless [premerge base dest] / [premerge right dest] is specified in which case that will be used instead. As a result the fallback me

    UnityYamlMerge - Qiita
  • https://uniba.esa.io/posts/1840

  • 【Unity】スクリプトからMain Cameraを取得するのは簡単だよ

    Main Cameraの取得はFindGameObjectWithTagやGetComponentを使わなくてもできるという話 ※この記事で使用しているUnityのバージョンは2017.1.0f3です。 [Unity_317×90] Camera.mainを使おう! 「Camera.main」を使うとスクリプトがとてもシンプルになります。(Main Cameraは1台の想定) 例えばメインカメラのCameraコンポーネントを変数に取得したければ、こんな感じでOK using UnityEngine; public class GetMainCamera : MonoBehaviour { Camera cam; void Start () { cam = Camera.main; } } メインカメラのGameObjectを取得したければ、後ろにgameObjectをつけるだけでOK us

    【Unity】スクリプトからMain Cameraを取得するのは簡単だよ
  • Bolt 102 - はじめに | Photon Engine

    PUN Classic (v1)、PUN 2、Boltはメンテナンスモードとなっております。Unity2022についてはPUN 2でサポートいたしますが、新機能が追加されることはありません。お客様のPUNプロジェクトおよびBoltプロジェクトが停止することはなく、将来にわたってパフォーマンス性能が落ちることはありません。 今後の新しいプロジェクトについては、Photon FusionまたはQuantumへ切り替えていただくようよろしくお願いいたします。 Bolt 102 - はじめに このチュートリアルでは、Boltでマルチプレイヤーゲームを作成する方法を説明します。 Boltを使用してシンプルな画面を複数設定していきます。Boltの内部での変換の置換やオブジェクトのスポーンといった全ての基タスクをいかに行うか、ステップ・バイ・ステップで見ていきましょう。チュートリアルとして明確に説明す

    Bolt 102 - はじめに | Photon Engine
  • UnityのGUIDとは何なのか? - Qiita

    UnityではAssetsディレクトリで管理するAssetファイル(シーン・Prefab・スクリプト・ディレクトリ・リソースetc)全てにこのGUID(全世界のUnityプロジェクト内で唯一のID)が割り振られていて、Inspectorから他のPrefab等のAssetファイル参照時もAssetファイル内では単にGUIDが書かれている。つまり、ファイルパスではなく、このGUIDでアセットを管理している。 オブジェクト同士の関係? Editor上で設定されたオブジェクト同士の関係はmetaファイルに別のAssetのGUIDを書き込むことで保存されている。GUIDがあるからこそ、Unityが配布するサンプルパッケージなどの互換性を保つことができている。PrefabのMaterialがMissingになったり、MaterialからTextureが剥がれたりするのはだいたいGUIDが正常では無くな

    UnityのGUIDとは何なのか? - Qiita
  • UnityでRigidbody(リジッドボディ)を追加する方法【初心者向け】

    UnityでRigidbody(リジッドボディ)を追加する方法【初心者向け】 Unityで【Rigidbody(リジッドボディ)】を追加する方法を初心者向けに解説した記事です。Rigidbodyを追加するだけで、ゲームにおける物体の落下や回転といった動きを簡単に再現することができます。 テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査 ゲームエンジンのUnityでRigidbody(リジッドボディ)を追加する方法を初心者向けに解説した記事です

    UnityでRigidbody(リジッドボディ)を追加する方法【初心者向け】
  • キャラに追従するカメラ - Qiita

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraController : MonoBehaviour { public Transform target; public float smoothing = 5f; private Vector3 offset; void Start () { offset = transform.position - target.position; } void Update () { Vector3 targetCamPos = target.position + offset; transform.position = Vector3.Lerp( transform.position, targetCam

    キャラに追従するカメラ - Qiita
  • UnityのベクトルとQuaternionによる回転について - テラシュールブログ

    Quaternionでベクトルを回す Quaternionの加算 Quaternionを求める サンプル その他 Quaternionは回転情報です。transform.rotationに格納されています。 このQuaternion(回転)ですが、Vector3(ベクトル)と合わせると、Vector3を回転させる事ができます。 Quaternionでベクトルを回す 例えば、Unityで「向いている方向のベクトル」を得るには、transform.forward等を使用します。2Dの場合はtransform.up等でしょう。 実はこのtransform.upの値は、以下のコードと一致します。 var dir = transform.rotation * Vector3.up; つまり「Vector3.up(上方向)を基準にtransformの持つQuaternion(回転情報)にを掛けて回転さ

    UnityのベクトルとQuaternionによる回転について - テラシュールブログ
  • Unityの回転値Rotationを学びなおす(オイラー角とクォータニオン) - MRが楽しい

    日は Unity技術調査枠です。 今回はUnityの回転値である Rotation について説明します。 Rotation 自体はUnity開発で頻繁に利用する概念ですが、そこには一点分かりづらい事があります。 最近またハマったので、きちんとアウトプットすることにしました。 初めに Rotation とは全てのオブジェクトにアタッチされる Transform コンポーネントにある回転値です。 例えば、ここで X の値を 90 度に変更すると、オブジェクトは以下のように回転します。 X 軸を元に、オブジェクトが 90 度回転しています。直感的で分かりやすいですね。 しかし、処理をスクリプトで書こうとしたときに、ある問題が発生します。 例えば、以下のようなスペースキーを検知してオブジェクトの Transform 値を取得/設定し、90度ずつ回転を行うスクリプトを作成しました。 ・Rot

    Unityの回転値Rotationを学びなおす(オイラー角とクォータニオン) - MRが楽しい
  • Unity 三角関数とゲームの関係。 MathfのSinとCos - tetu式

    今回は三角関数の話。 Unity数学的な関数を利用するのに Mathf というクラスがあります。 前の8方向フリックの時にもAtan2というXの長さとYの長さを元にラジアンという角度単位を求める関数を使いました。 今回はもっと身近な三角関数であるSinとCosについて。 さて、まず三角関数と聞いて苦手意識が出た人から、名前しか知らないって人もいるかもしれません。 自分も名前は知ってるし、学校の授業で習った覚えもあるのですが・・・ どの時期に習ったか覚えてないのです。 調べてみたら義務教育で教えてた時期と高校の時に教えてた時期ってのがあるみたいで割と曖昧な数学知識のようでした。 まぁ実生活で使う機会がかなり限られているので習っても忘れてるって人も多いかと思います。 三角関数についての愚痴は置いといて、MathfのSin関数とCos関数について。 そもそもどんな時に使うかと言ったらオブジェク

    Unity 三角関数とゲームの関係。 MathfのSinとCos - tetu式
  • UnityのRigidbodyとColliderで衝突判定 - Qiita

    地面が落ちてしまう場合 Rigidbodyは物理演算で動作させるオブジェクトに設定する。壁や床はRigidbodyを付ける必要はない。 地面をすり抜けてしまう場合 アセットや変換したモデルがすり抜けてしまう場合はオブジェクトにColliderが設定されていないのが原因。重力で落下した物体が地面に着地するにはそれぞれに下記のコンポーネントが必要になる。 CubeやSphereなどのプリミティブには最初からColliderが付いている。 落下する物体 物体の形に応じたCollider 重力が設定されたRigidbody 受け止める地面 地面の形に応じたCollider すり抜けて落下していく物体にはPhysics > BoxColliderなどのコンポーネントを設定する。入れ子になっているオブジェクトの場合はそれぞれの子オブジェクトに指定するか、親オブジェクトに指定する。子オブジェクトにCol

    UnityのRigidbodyとColliderで衝突判定 - Qiita
  • 衝突判定のあれこれ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    衝突判定のあれこれ - Qiita
  • 【Unity】当たり判定を一通り!OnTrigger・OnCollisionをひとまとめ | 侍エンジニアブログ

    unityで当たり判定をする時にはOnTriggerEnterやOnCollisionEnterなどいくつかの関数が使われます。 しかし、はじめのうちはどの関数を使えば良いかよくわからなかったりしますよね。 この記事では、 ・当たり判定取得の説明 といった基的なことや、 ・当たり判定を取得する各種関数の違い といった少し応用的なことまでわかりやすく解説します! Unityで当たり判定を取得するには? unityで当たり判定を取得するにはコンポーネントを用います。 コンポーネントとはオブジェクトに追加することで様々なことをできるようにするための機能です。 当たり判定を行うために必要なコンポーネントとして主に二つあります。 一つ目が『〜Collider』です。 『〜』の部分にはboxやSphereなど形状が入り、物理衝突のための形状をオブジェクトに与えます。 二つ目が『Rigidbody』で

    【Unity】当たり判定を一通り!OnTrigger・OnCollisionをひとまとめ | 侍エンジニアブログ
  • 【Unity】当たり判定の基本

    概要 Unityのオブジェクト同士の当たり判定は複数用意されており、 よく利用されるのが、「重なり」と「衝突」の二つです。 前者は「Trigger」、後者は「Collision」として判定する関数が分かれています。 事前知識 当たり判定を行う上で必要な知識として「Collider」と「Rigidbody」の 説明を先に行いたいと思います。 Collider Colliderはオブジェクトの当たり範囲の設定を行うためのコンポーネントです。 Colliderを関連付ける方法 Colliderは「Cube」や「Sphere」などの3Dオブジェクトには 最初からColliderが関連付けがされています。 オリジナルの3Dモデルには自分で割り当てる必要があり、 ステージなどの正確な判定がいるモノはMeshColliderを、 キャラクターなどの大雑把な判定でも問題ないモデルには 「CapsuleCo