UnityのTransform
クラスは、C#のソースコードとして直接見ることはできません
が、Unityのソースコードに関しては、Unityの公式のC# APIリファレンスでドキュメントが提供されています。ただし、Transform
クラスは内部でネイティブコード(C++)によって実装されているため、その内部ロジックを直接確認することはできません。
Transform
クラスの概要Transform
クラスは、ゲームオブジェクトの位置(position
)、回転(rotation
)、スケール(localScale
)を制御するために使用されます。また、親子関係の設定や、ワールド座標系とローカル座標系の変換、親子間での座標の伝播(SetParent()
やlocalPosition
など)なども管理します。
position
: ワールド座標でのオブジェクトの位置localPosition
: ローカル座標系でのオブジェクトの位置rotation
: ワールド座標系でのオブジェクトの回転(クォータニオン)localRotation
: ローカル座標系でのオブジェクトの回転(クォータニオン)localScale
: オブジェクトのスケール(ローカル座標系に基づく)forward
, right
, up
: オブジェクトのローカル軸をワールド座標系で取得TransformDirection()
: ローカル座標系からワールド座標系への変換Rotate()
: ローカル軸での回転LookAt()
: 指定した位置またはオブジェクトを向くTransform
のソースコードの確認方法もしソースコードそのものにアクセスしたい場合、以下の方法を使います。
Transform
クラスの具体的な実装は見ることができません。しかし、UnityのTransform
クラスに関するAPIや実装の詳細は、UnityのC# APIドキュメントに記載されています。
Unityのソースコードのオープン化: Unityの一部のソースコード(特にエディター関連)は公開されています。もし特定のコードや拡張機能に興味がある場合は、UnityのGitHubリポジトリや、UnityのPackage Managerを確認することも有益かもしれません。
直接的にTransform
クラスの実装コードを見たい場合は、UnityのC++ネイティブコードとしての実装部分に関してはソースコードが公開されていないため、逆アセンブルなどの方法を取ることになります。
Transform
クラスはUnityのC#スクリプトとして実装されており、Unityのランタイムで利用されるアセンブリ(DLL)として配置されています。
これらのDLLは、Unityエディタのインストールディレクトリ内にあります。
UnityのTransform
クラスは、Unityエディタやゲーム実行時に使用される基本的なクラスの一部です。これに関連するDLLは、主に以下の場所に配置されています。
Unityエディタをインストールしたフォルダ内のEditor/Data/Managed
ディレクトリに、UnityのランタイムDLLが格納されています。特に、UnityEngine.dll
というファイルが、Transform
クラスを含む多くのUnityの基本的な機能を提供しています。
C:\Program Files\Unity\Hub\Editor\<Unityのバージョン>\Editor\Data\Managed\UnityEngine\UnityEngine.dll
/Applications/Unity/Hub/Editor/<Unityのバージョン>/Unity.app/Contents/Managed/UnityEngine/UnityEngine.dll
Library
フォルダUnityでプロジェクトを開いてビルドすると、Library
フォルダ内に依存関係のDLLがコピーされます。これにより、エディタ内や実行中に必要なDLLが参照されます。
<YourProject>/Library/ScriptAssemblies/Assembly-CSharp.dll
ここに格納されているDLLは、あなたが作成したスクリプトや、Unityが自動的にビルドしたコードが含まれます。UnityEngine.dll
はプロジェクトのDLLには含まれておらず、Unityのインストールディレクトリから参照されます。
Unityでは他にも、UnityEditor.dll
(エディタ用機能)や、UnityEngine.CoreModule.dll
(基本的なランタイム機能)などが使われており、これらもTransform
のようなクラスを含んでいます。
Transform
クラスやその他のUnityランタイムクラスが格納されたDLLを確認するための方法として、以下の手順があります。
DLLの場所を確認する
Unityエディタがインストールされているフォルダにアクセスし、UnityEngine.dll
が存在するかを確認します。
逆コンパイルツールを使用する
UnityEngine.dll
の内部コードを確認したい場合、逆コンパイルツール(例えばILSpyやdotPeek)を使うことができます。これらのツールでDLLを開くと、Transform
クラスの実装を調べることができます。
UnityEngine.dll
をILSpyで開く。Transform
クラスを検索して、内部コードを見ることができます。Transform
クラスは、UnityのUnityEngine.dll
に含まれており、ネイティブコード(C++)で実装されている部分もあります。そのため、C#側で見ることができるのは、APIのインターフェースや一部のメソッド呼び出しのみで、低レベルのネイティブ実装(C++)は見ることができません。