Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
9
Help us understand the problem. What is going on with this article?
@4_mio_11

UnityのGUIDとは何なのか?

More than 3 years have 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上でツールを構築する方が安全である)。

参考サイト

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

9
Help us understand the problem. What is going on with this article?
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
4_mio_11
スローペースで生きてます。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
9
Help us understand the problem. What is going on with this article?