Unity – Как переименовать сетку с помощью скрипта?C#

Место общения программистов C#
Ответить
Anonymous
 Unity – Как переименовать сетку с помощью скрипта?

Сообщение Anonymous »

Я работаю над сценарием для переименования сетки напрямую в Unity, потому что каждый раз, когда я переименовываю файл FBX, ресурс сетки по-прежнему сохраняет старое имя, как в прошлый раз, когда он был экспортирован из Maya в 3dsMax, что очень раздражает. Все, что я пробовал, не работает, код типа:

Код: Выделить всё

public class Rename
{
[MenuItem("Assets/Test")]
private static void renameTest()
{
//select a fbx in project window
GameObject fbx = Selection.activeGameObject;

Mesh meshAsset = fbx.GetComponentInChildren().sharedMesh;

meshAsset.name = "new name";
Debug.Log(meshAsset);
}
}
Я тоже пробовал:

Код: Выделить всё

private static void renameTestv2()
{
GameObject fbx = Selection.activeGameObject;

Mesh meshAsset = fbx.GetComponentInChildren().sharedMesh;

Mesh meshAsset2 = Object.Instantiate(meshAsset);
meshAsset2.name = "new name";
fbx.GetComponentInChildren().sharedMesh = meshAsset2;
}
Третий способ — изменить имя сетки в компоненте Meshfilter FBX, но фактический субактив все еще использует старый, вы можете найти то, что я имею в виду, с помощью прикрепленных изображений.

Код: Выделить всё

private static void renameTest()
{
GameObject fbx = Selection.activeGameObject;
string path = AssetDatabase.GetAssetPath(fbx);
Mesh meshAsset = AssetDatabase.LoadAllAssetRepresentationsAtPath(path)[0] as Mesh;
meshAsset.name = "new name";
fbx.GetComponentInChildren().sharedMesh = meshAsset;
Debug.Log(meshAsset);

}
Как решить эту проблему?
[img]https://i.sstatic. net/XdeT7.png[/img]

Если я повторно экспортирую FBX из DCC, чтобы изменить имя сетки, он потеряет связь с префабом, но руководство файла fbx фактически не изменится , почему это происходит? Мои действия:
  • переименовать файл aa.FBX в Unity в bb.FBX.
  • Импортировать bb.FBX в 3dsmax, и измените имя с aa на bb в 3dsmax.
  • Снова экспортируйте в Unity как bb.FBX.


Подробнее здесь: https://stackoverflow.com/questions/717 ... via-script
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»