Unityスクリプトが見つからない場合の解決策

Unity プロジェクトで作業しているときに、次のスクリプト損失の問題が発生する場合があります。
ここに画像の説明を挿入

この問題は、ソフト ワーカーが共同開発のために git を使用したときに発生しました.最終的に調査の結果、.meta ファイルに問題があることがわかりました.理由は、誤って *.meta を gitignore に追加したためです (公式の無視を直接使用)これに注意を払わずにファイルを作成し、開発中に他の誰かのコミットをプルすると、競合を解決せずにメタファイルがローカルに保存されます。
ここに画像の説明を挿入

このファイルには git のコンフリクト情報がたくさん保存されていることがわかるので、抜けている状況があれば、まず自分の .meta ファイルに行って、不適切な git コンフリクト情報がないか確認してみてください。上記のように。

もちろん、これを変更するだけでは問題が完全に解決しない場合があります。GUID が故障している可能性があります。非常に面倒なスクリプトを 1 つずつドラッグし直す必要がないように、手動で GUID を変更してスクリプトを復元する方法について話しましょう。

手動で GUID を変更して、ミス スクリプトを正しくロードする

もちろん、これらの理由がなくても git が原因でまだミスがある場合は、スクリプトのメタにある GUID に問題があります。まず、メタの原理を簡単に理解しましょう。

ここに画像の説明を挿入

このスクリプトには実際に GUID があり、.unity ファイルはこれを介して実際にスクリプトを見つけていることがわかります。したがって、このスクリプトが多くの場所で使用されていることがわかっている場合は、最初にミスした場所に移動し、このスクリプトをミスした場所にドラッグしてから、.unity ファイルの変更を確認して手動で変更できます。

1. 正しいスクリプトをミスの場所にドラッグします。

ここに画像の説明を挿入

直接ドラッグすると、スクリプトの一部の設定が無効になっていることがわかります。もう一度ドラッグすると、非常に面倒です。ただし、この問題を解決するために、以下の GUID を直接変更します。

2. .unity ファイルの変更を表示する

ここに画像の説明を挿入

実際、ご覧のとおり、このシーンの .unity ファイル内のスクリプトのマッピング GUID が変更されています.シーンがスクリプトを見つけられない理由は、スクリプトの .meta ファイル内の GUID が変更されたためです.シーンに合わせて GUID を変更するだけで済みます. 以前の GUID で十分です. たとえば、シーンの変更は次のようになります:

から

m_Script: {fileID: 11500000, guid: 4324dfer1453a2343445596123450cba, type: 3}

に変える

m_Script: {fileID: 11500000, guid: 693980ce1453a064e9a5596448770cba, type: 3}

3. script.meta の GUID を変更し、同時に .unity ファイルを復元します。

Just change 693980ce1453a064e9a5596448770cba to 4324dfer1453a2343445596123450cba. 2 番目のステップはスクリプトの正しい GUID を見つけることなので、.unity ファイルの変更をクリアするように注意してください。

ここに画像の説明を挿入

これで、このスクリプトを参照するシーンは通常に戻りました。これは、スクリプトが以前の GUID から見つけることができ、スクリプト内のパラメーターがクリアされないためです。

おすすめ

転載: blog.csdn.net/qq_45551930/article/details/125236052