Help us understand the problem. What is going on with this article?

UnityのGUIDとは何なのか?

More than 1 year has passed since last update.

GUIDとは何なのか?

GUIDとは

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が正常では無くなっているからである。

表示の違い

Noneと最初から何もセットされていない状態で、Missingは何かがセットされていたがセットされていたGUIDが存在しない状態である。

GUIDとUUIDの違い

UUIDとはUniversally Unique Identifierのこと。ソフトウェア上で端末などのオブジェクトを一意に識別するために使用される。UUIDは128ビットの数値だが、16進法で表現されることが多い。元来、分散システム上で統制がなくても作成できる識別子として設計されており、将来にわたって重複や偶然の一致が起こらない前提で用いることができる。GUID(Globally Unique Identifier)またはグローバル一意識別子は、マイクロソフトによるUUIDの実装の一つである。広く普及しているため、UUIDの別名としても使われる。GUIDは16バイト(128ビット)の2進数値である。

GUIDの生成方法?

AssetDatabase.GUIDToAssetPathでGUIDからファイルパスを取得できたり、AssetDatabase.AssetPathToGUIDでファイルパスからGUIDを生成できるが、ファイルパスをGUID生成時に使用しているわけではないので重複していなければ適当な文字列でも問題はない(ただし自前でGUIDを作成するとどこで重複が発生するか不明のためUnityの自動生成に任せるか、Unity上でツールを構築する方が安全である)。

参考サイト

すいません、結構前に書いた記事なので、どこから情報を引っ張ってきたかはこれ以上覚えてないです…。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした