プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Unity
  • 【Unity】「Physics:物理エンジン」について
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Unity】「Physics:物理エンジン」について

06.03

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

Physicsとは?

オブジェクトを物理的な挙動にしたがって、エミュレートさせることができるUnityの標準ライブラリの一つです。

オブジェクトの「質量」、「形」、「大きさ」や、「摩擦係数」、「重力」を考慮して、動きを計算してくれます。

「物理の力学」と聞くと、多くの方が難しそうと身構えるかもしれませんが、この物理エンジンがその難しい部分を覆い隠してくれるので、特に物理の専門知識がなくても簡単にプログラミングすることが可能なのです。

Physicsの構成要素

下記の二つから構成されます。

  • Rigidbodyコンポーネント
  • Colliderコンポーネント

Rigidbodyコンポーネント(Rigidbody 2D)

物体に働く、「重力や摩擦等の計算」を担当します。

設定値

項目 説明
Gravity Scale 重力の影響をどれくらい受けるかの値。(「1」にすると地球上と同じ重力を受ける。「0」にすると重力の影響を受けないので、静的なオブジェクトを作る場合は0にする。)
Body Type 物体のタイプを指定します。Dynamic(物理演算で移動)、Kinematic(スクリプトで動かす場合)、Static(動かさない物体の場合)から選択します。
Material 素材の特性(摩擦力、反発力)を指定します。
Simulated 物理演算と衝突判定のオンオフを切り替えます。
Use Auto Mass オンにすると、コライダーの形状から質量を自動的に算出します。
Mass オブジェクトの質量を指定します。大きな物体を動かすのにも、止めるのにも大きな力が必要になります。
Linear Drag 移動の減衰値、値を大きくすると徐々に減衰します。
Angular Drag 回転の減衰値、値を大きくすると徐々に減衰します。
Collision Detection 他のオブジェクトとの衝突検知の方法
Sleeping Mode スリープ設定になります。「Never Sleep(スリープ無効)」、「Start Sleep(起動は起きた状態、動かなければスリープ)」、「Start ASleep(初期状態スリープ、衝突によりスリープする。)」
Interpolate スムージングの設定、処理の重さ等が原因で動きがぎこちなくなることを利用します。
Constraints 移動、回転制限、「X」か「Y」をオンにするとそのオブジェクトは縦か横かしか移動しなくなります。「Z」をオンにすると、そのオブジェクトは移動しても回転しなくなります。

Collider(コライダ)コンポーネント

物体への「当たり判定」を担当します。当たり判定の種類によって、色々コンポーネントが分かれています。

コライダの種類 説明
Circle Collider 2D 円形の当たり判定を生成します。
Box Collider 2D 四角形の当たり判定を生成します。
Edge Collider 2D 線形の当たり判定を生成します。
Polygon Collider 2D 多角形の当たり判定を生成します。オブジェクトにフィットする複雑なあたり判定を生成できます。

「Circle Collider 2D」の設定値

項目 説明
Radius 円の半径を指定します。

Physicsの用途

「Colliderコンポーネント」の機能によって、物体の当たり判定を自動で行ってくれるので、「アクションゲーム」や、「シューティングゲーム」等に活用することができます。

Physicsの落とし穴

単純な物理法則に沿った動作ならよいのですが、少し複雑な動作を実装しようとすると、Physicsでは物足りなくなる可能性があります。

まずは、Physicsを試してみてもよいですが、ダメであれば物理法則部分のロジックは自作するようにしましょう。

スポンサーリンク
  • 2018 06.03
  • miyabisan2
  • コメントを書く
  • Unity
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 06.01

    【Unity】「Unityゲームエンジン」の基本、用語、ゲームを作る場合の構成要素、UnityUI、BGM再生

  2. 2018 06.02

    【Unity】「MonoBehaviour(モノビヘイビア)」とは何か?

  3. 2018 06.03

    【Unity】アニメーションを作る機能「Mecanim(メカニム)」について

  4. 2018 06.03

    【Unity】構造体、クラスや、メソッドの使い方を調べるには?(Unityスクリプトリファレンスの使い方)、C#スクリプトを使ってみる。

  5. 2018 06.05

    【Unity】「Main Camera」の設定、PlayerPrefs(アプリ終了後も、データを保存する仕組み)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Unity】「MonoBehaviour(モノビヘイ…

【Unity】アニメーションを作る機能「Mecanim…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー