Мой скрипт извлекает все дочерние объекты из родительского объекта. Мне нужно назначить материалы индивидуально дочерним объектам или материал всем объектам через родительский объект.
В настоящее время, когда я меняю дочерний материал, все другие материалы дочернего объекта также меняются.
Как это выглядит в Unity, когда я меняю дочерний материал
Вот мой код
if (includeChildObj == true)
{
EditorGUILayout.Foldout(includeChildObj, "List of Child Objects", includeChildObj);
for (int i = 0; i < Geometry.getChildNames().Count; i++) // loop through all child objects
{
GUILayout.BeginHorizontal();
GUILayout.Label(Geometry.getChildNames()[i]); // display object name
EditorGUILayout.PropertyField(serializedObject.FindProperty("SelectMaterial")); // find an enum which allows the dropdown list
GUILayout.EndHorizontal();
serializedObject.ApplyModifiedProperties();
}
}
Как видно, внутри цикла FOR для каждого объекта Geometry мне нужно создать новый объект соответствующего перечисления. Я не уверен, как это сделать, поскольку я использую CustomEditor, а не Monobehaviour.
Спасибо!