カメラ

公式サイト:

カメラ | Unity マニュアル [公式]

概要

ドキュメント:

カメラ | Unity マニュアル [公式]

使い方

参考:

カメラについて | Uinty 使い方ガイド

カメラの使い方を理解しよう! | XR-Hub

カメラの基本設定を理解しよう! | XR-Hub

設定

  • Clear Flags
    • Skybox
    • Solid Color
    • Depth only
    • Don’t Clear
  • Background
  • Culling Mask
  • Projection
    • Perspective
    • Orthographic
  • Size
  • Field of View
  • Physical Camera
  • Clipping Planes
    • Near
    • Far
  • Viewport Rect
    • X
    • Y
    • W
    • H
  • Depth
  • Rendering Path
    • Use Graphics Settings
    • Forward
    • Deferred
    • Legacy Vertex Lit
    • Legacy Deferred (light prepass)
  • Target Texture
  • Occlusion Culling
  • Allow HDR
  • Allow MSAA
  • Allow Dynamic Resolution
  • Target Display

ドキュメント:

カメラ | Unity 2020.3 マニュアル [公式]

参考:

リアルなレンダリングをする場合のチェック項目 | Shade3D チュートリアル

マウスで操作する

コード:

Camera Controller (TAK-EMI) – GitHub Gist

シーンビューの視点位置にカメラを配置する

操作

Ctrl + Shift + F シーンビューに整列させる (Align with View)

動画:

Ctrl Shift F to Match the Camera to the Scene View

ドキュメント:

ホットキー | Unity 2018.4 マニュアル [公式]

参考:

シーンビューカメラの位置に Camera を移動する | いんでぃーづ

カメラを選択した状態で Ctrl + Shift + F を押すと Scene ビューと Game ビューのカメラを同期できる | コガネブログ

これは便利!カメラの位置をシーンビューの視点と一致させる方法 | おもちゃラボ

背景

ドキュメント:

Camera.backgroundColor | Unity スクリプトリファレンス [公式]

描画順 (Depth)

カメラのレンダリング順序を指定する。

ドキュメント:

Camera.depth | Unity スクリプトリファレンス [公式]

参考:

How do I force my cameras to render in a certain order? | Unity Support [Official]

camera order | Unity Forum

Camera Rendering Order | Unity Forum

Problems with camera rendering order | Unity Forum

焦点距離/画角 (FOV)

  • Field of View 画角 (デフォルト60/単位度)

参考:

FOV 設定 | トマシープが学ぶ

投影方法 (Projection)

  • 透視投影 (Perspective)
  • 平行投影 (Orthographic)
こちらのページを参照

ドキュメント:

Camera.orthographic | Unity スクリプトリファレンス [公式]

参考:

投影法 | WisdomSoft

透視投影と平行投影を合成するには | Mtk’s Blog

物理カメラ (Physical Camera)

設定
  • Focal Length 焦点距離 (デフォルト50/単位mm)
  • Sensor Type / Sensor Size (単位mm)
    • 8mm (4.8 × 3.5)
    • Super 8mm (5.79 × 4.01)
    • 16mm (10.26 × 7.49)
    • Super 16mm (12.52 × 7.41)
    • 32mm 2-perf (21.95 × 9.35)
    • 35mm Academy (21 × 15.2)
    • Super-35 (24.89 × 18.66)
    • 65mm ALEXA (54.12 × 25.59)
    • 70mm (70 × 51)
    • 70mm IMAX (70.41 × 52.63)
    • Custom (デフォルト36 × 24)
  • Lens Shift
  • Gate Fit
    • Vertical 解像度ゲートをフィルムゲートの高さに合わせる
    • Horizontal 解像度ゲートをフィルムゲートの幅に合わせる (デフォルト)
    • Fill 解像度ゲートをフィルムゲートの高さあるいは幅のいずれか小さい方に合わせる
    • Overscan 解像度ゲートをフィルムゲートの高さあるいは幅のいずれか大きい方に合わせる
    • None 解像度ゲートを無視して、フィルムゲートのみを使用する。アスペクト比を保つことなく、レンダリング画像をゲームビューの大きさに合わせて縦横拡大する。

ドキュメント:

物理カメラの使用 | Unity マニュアル [公式]

参考:

Unity 2018.2 で追加された Physical Camera とはナンゾや? | テラシュールブログ

カメラを切り替える

ドキュメント:

複数のカメラを使用する | Unity マニュアル [公式]

参考:

カメラの切り替えをスクリプトで実現しよう! | XR-Hub

Unity でカメラをスクリプトから切り替えられるようにする | かめくめ

主観カメラへの切り替えと、プレイヤーの移動方法について | TECH Projin

Unity でカメラ切り替えをするスクリプトを書いたよ/5つのカメラを数字キーで切り替え | 神部まゆみのブログ

カメラの切り替えの実装/実装パターン3つ紹介 | dasuko の技術ブログ

複数のカメラを切り替えたり画面を分割したりする方法 | Uinty 使い方ガイド

カメラの表示を切り替える方法 | もぎブログ

スクリプトで操作する

ドキュメント:

UnityEngine.Camera | Unity スクリプトリファレンス [公式]

参考:

プレイヤーにカメラを追従させよう! | XR-Hub

スクリプトから Main Camera を取得するのは簡単だよ | TECH Projin

VR カメラを任意のポジションに移動する方法 – Qiita

スクリプトから MainCamera の Position、Rotation の変更 | kyam 研の忘備録

Camera – 使い方とスクリプト | ゲームの作り方!

How to arbitrarily set camera position in world coordinates – Unity Forum

How to get current Camera coordinates in a script – Unity Discussions

camera position in UNITY – Stack Overflow

カリングマスク (Culling Mask)

こちらのページを参照

動画:

Using Camera Culling Mask to Not Render Specific Layers

ドキュメント:

Camera.cullingMask | Unity スクリプトリファレンス [公式]

参考:

Camera の Culliing Mask 設定 – Qiita

特定のゲームオブジェクトだけをカメラに映す方法 | Uinty 使い方ガイド

カメラとレイヤー | KAYAC engineers’ blog

レイヤーによる Main Camera の非表示 | フタバゼミ

座標変換

ドキュメント:

Camera.WorldToScreenPoint | Unity スクリプトリファレンス [公式]

参考:

How to get a world position from the center of the screen ? – Unity Forum

Getting game object coordinate (from world coordinate) in screen coordinate – Stack Overflow

How to position 3D object to the camera screen in unity – Stack Overflow

オブジェクトを中心にして回転させる

参考:

Rotate a camera around the object – Unity Forum

複数台のカメラを使う

  • 切り替え
  • ピクチャインピクチャ/ワイプ (PIP / Picture in Picture)
  • 分割 (PBP / Picture by Picture)
  • 合成
  • テクスチャ描画 (Render Texture)
  • マルチディスプレイ
  • バーチャルカメラ (Virtual Camera / Cinemachine)
こちらのページを参照

ドキュメント:

複数のカメラを使用する | Unity マニュアル [公式]

マルチディスプレイ | Unity マニュアル [公式]

参考:

2台のカメラを切り替え – Qiita

複数のカメラの使い方/複数カメラ表示/カメラ切り替え | TECH PROjin

画面分割して複数のカメラの映像を表示する | Unity の使い方

対戦ゲームような画面分割を作る方法 | ねこじゃらシティ

レイヤーごとにカメラを分けて写したい | 高原工房

カメラの表示を切り替える方法 | もぎブログ

複数のカメラを同時に画面表示する方法! | もぎブログ

複数カメラの使い方 | SAT-BOX BLOG

視野錘台を傾ける (CalculateObliqueMatrix)

クリップ平面を与えて投影行列を計算する。

projection = camera.CalculateObliqueMatrix(clipPlane);Code language: C# (cs)

ドキュメント:

Camera.CalculateObliqueMatrix | Unity スクリプトリファレンス [公式]

Camera.projectionMatrix | Unity スクリプトリファレンス [公式]

Camera.ResetProjectionMatrix | Unity スクリプトリファレンス [公式]

Using an Oblique Frustum | Unity マニュアル [公式]

GeometryUtility.CalculateFrustumPlanes | Unity スクリプトリファレンス [公式]

参考:

斜め (Oblique) の投影行列で空間を切り取る – Qiita

Camera.projectionMatrix の罠まとめ | fuqunaga

解像度

参考:

特定のカメラのみ低解像度にする | LIGHT11

カメラ1つで UI 解像度を維持し、3D 解像度だけを下げる方法 | 神様は有休消化中です。

カメラが映すものを低解像度に設定する – Qiita

内部解像度を引き上げる/引き下げる – Qiita

複数解像度への対応 | TECH PROjin

画面のアスペクト比と解像度を自動変換/複数解像度に対応させる | Unity 入門の森

高解像度の画像を書き出そう | アップフロンティア株式会社

たった1個のスクリプトだけで画面解像度を下げる方法 | notargs.com

DPI

動画:

DPI Scaling Finally Fixed!!! (Game From Scratch)

ドキュメント:

Screen.dpi | Unity スクリプトリファレンス [公式]

コード:

Get Scale Factor (gksen) – GitHub Gist

参考:

Fixed DPI – 画素密度を固定する解像度設定 | KAYAC engineers’ blog

IMGUI を High DPI 対応 – Qiita

Is Screen.dpi supported? – Unity Forum

Get windows scale and layout – Stack Overflow

Screen.height / Screen.dpi is not equal to the screens height in real life – Game Development Stack Exchange

フルスクリーン

ドキュメント:

Screen.fullScreen | Unity スクリプトリファレンス [公式]

参考:

ウィンドウモードとフルスクリーンモードを切り替える | ソーサリーフォース

フレームデバッガー

メニューから「Window > Analysis > Frame Debugger」を選択して開く。

ドキュメント:

フレームデバッガー | Unity マニュアル [公式]

参考:

Problems with camera rendering order | Unity Forum

Camera コンポーネント

ドキュメント:

UnityEngine.Camera | Unity スクリプトリファレンス [公式]

参考:

Camera – 使い方とスクリプト | ゲームの作り方!

Render Texture を使う

ドキュメント:

Camera.targetTexture | Unity スクリプトリファレンス [公式]

OnPreCull

動画:

How to Hide Objects from a Camera without Layer Masks

ドキュメント:

MonoBehaviour.OnPreCull | Unity スクリプトリファレンス [公式]

Camera.onPreCull | Unity スクリプトリファレンス [公式]

URP

ドキュメント:

Cameras | Universal RP 8.2 Manual [Official]

Class UniversalAdditionalCameraData | Universal RP 8.2 Manual [Official]

参考:

URP のカメラ | npaka

Camera.main が null を返す

対処法:

メインカメラに MainCamera タグを付与する。

参考:

Camera.main にアクセスしようとすると例外が発生する | Alpaca Tech Blog

Camera.main returns null? – Stack Overflow

Cinemachine

こちらのページを参照

ドキュメント:

Cinemachine | Unity マニュアル [公式]

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA