参考にどうぞ。高速で、メモリの使用量が少ないため、必要になります。(実際に使用すると思います。別の、または追加のオプションは、各マテリアルのパーツ参照のリストを保持することです。ただし、必要がない場合はこれを行わないでください。)
マテリアルの名前またはインデックスを格納すると、より多くのスペースが使用され、マテリアルのオブジェクトを取得しようとするとコストがかかります。実際、部品の材料の名前を取得する最も安価な方法は、参照を使用して材料を取得し、材料から名前またはインデックスを取得することです。
プログラムの内部で名前とインデックスを使用しないでください。データベースや他のプログラムから何かを取得するには、それらを使用する (そしてプログラムに保存する) 必要があります。(実際には、「他のプログラム」とは、ソケットなどとフラット ファイルを意味します。元のデータは、別のプログラムまたはこのプログラムの別のセッションからのものでした。) また、参照を維持する必要があります。マテリアルが削除された場合、すべての参照が削除されます。それに変更する必要があります。または、マテリアルを削除済みとしてマークすることもできます (ガベージ コレクションではうまく機能しますが、再追加に注意してください)。
そして、自分自身に矛盾するように、資料(例としてあなたのケースを使用する)が継続的に追加および削除されているときにうまく機能するため、まれに参照の代わりに名前を使用しました. 何かを「Lumber」と特定した場合、その名前のマテリアルを 100 回削除および追加できますが、1 日の終わりに、パーツの使用に影響を与えることはありません。