跳到正文
Qiita · Unity 开发社区· 来源· amucat_·· 4 小时前AI 评分22

Unity、C#中使用的类型总结

Unity,C#で使う型まとめ

正文 · 原文

はじめに

この記事はUnityを使い始めて半年の人間(しかもプログラミング歴も長くない)が、ゲーム制作をしていく中で覚えたこともまとめたことです。
いくつかの点で間違っている可能性もあるので大目に見てやってください。

使用環境

Unity:6000.4.3f1(Unity 6.4)
C#:9.0

そもそも型って?

Unityで使うときに必ずと言っていいほど使う多種多様な型。
結論から言うと型は変数が扱えるデータの種類を表すもの
例えば

private GameObject door;
private int missCount = 0;

今使用しているコードから抜粋してみると
GameObjectはUnityのシーン内のオブジェクトを
intは整数を扱う型。
そのあとに続くdoorやmissCountが変数名になる。

変数に関してはまたまとめようと思う。

今回はその型の種類についてまとめていく。

C#の基本的な型

型 用途・種類 例
int 整数 int day = 0;
float 小数 float speed = 3.5f;
double より精度の高い小数 double speed = 1.2345678912;
bool true/false bool isMoving = true;
string 文字列 string name = "player";
char 1文字 char initial = 'A';

ここで気になるのが

  • floatとdouble
  • stringとchar

これらの使い分けについて。

調べた結果、float の有効桁数は約6〜9桁、double は約15〜17桁とのこと。
「小数第何位まで」という意味ではなく、大きな数になるほど、小数部分を細かく表しにくくなるらしい。
また、0.1f のような短い小数でも、少し誤差が生じる場合がある。
Unityでは座標などに float が使われているので、普段の移動や速度には float、もっと正確な計算が必要なときには double、という使い分けになりそう。
参考:Microsoft Learn:浮動小数点数型

ちなみに、3.5f の末尾の f は「この数値は float 型」という印。

stringとcharに関しては文字列か一文字かではあるが、
いまいちcharを使った方がいいところを思いつかなかったが、どうやら
一文字ずつ処理するときに使うと良いらしい。

例えば、文章の中に「?」が含まれているか調べるのに役立ちそう。

Unityのオブジェクトや機能の型(UI以外)

型 用途・種類
GameObject ゲームオブジェクト本体
Transform 位置・回転・拡大縮小
Rigidbody / Rigidbody2D  物理的な動き(重力とか)
Collider / Collider2D 当たり判定
Animator アニメーション
AudioSource 音の再生元
AudioClip 音そのもの
Camera カメラ
SpriteRenderer 2D画像の描画
Sprite 2D画像そのもの
MeshRenderer 3Dのメッシュの描画

UIに使う型

using UnityEngine;
using UnityEngine.UI;
using TMPro;

今回は、必要に応じて上記の using を先に記述している前提での型名。

型 用途・種類
Button ボタン
Image UIの画像
Slider  スライダー 
RectTransform UIの位置やサイズ
TMP_Text テキスト
TMP_InputField 文字入力欄

上の表にあるものは、GameObjectのコンポーネント(機能)である。
UIもGameObjectなので、Transformを通して移動させることはできる。
さらに、Button 型として取得すると、ボタンを押せるかどうかを変更できる。RectTransform を使うと、UIの位置やサイズに加えて、アンカーや余白なども設定できる。

ちなみにSpriteとImageの違いについては
Spriteが画像データであり、Imageはそれを用いたUIの部品。
というような違いになる。
使い方としては、Imageに表示したいSpriteを設定して使う。
例えるならImageが額縁を含めた壁に飾られた絵。
Spriteは中に入れられた絵そのもの、といったところだろうか。
同じ Sprite を、複数の Image に設定して表示することもできる。
参考:Unity公式:Image

まとめ

今回まとめただけでもかなり量があったが、おそらくはまだある。
全てを調べて覚えることは難しいので、
ひとまずは「こういう型がある」となんとなく知っておいて必要な時に調べていこうと思う。
また、コンポーネント特有の機能があるかもという意識で今後も制作していくと良いのかもしれない。

おまけの宣伝

現在UMINEKOWalKingというゲーム制作チームで
【BLACKOUT:Fatal Exposure】という心霊写真をテーマにした2DホラーADVゲームをUnityで制作しています。
今回もこのゲームを作る中で調べたことのまとめになります。
メインカプセル修正 (2).png

もし興味があればXなど見ていただけると幸いです。
UMINEKOwalKing Xアカウント
Steamページ(体験版配信中です!)

来源:Qiita · Unity 开发社区 · qiita.com