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++)は見ることができません。