private void MergeMeshData(GameObject gameObject, FeatureMesh featureMesh) { // Merge the mesh data from the feature for the game object if (gameObjectMeshData.ContainsKey(gameObject)) { gameObjectMeshData[gameObject].Merge(featureMesh.Mesh); } else { MeshData data = new MeshData(); data.Merge(featureMesh.Mesh); gameObjectMeshData.Add(gameObject, data); } }
private GameObject AddGameObjectGroup(SceneGroupType groupType, GameObject parentGameObject, FeatureMesh featureMesh) { GameObject gameObject = null; string name = featureMesh.GetName(groupType); // No name for this group in the feature, use the parent name if (name.Length == 0) { name = parentGameObject.name; } Transform transform = parentGameObject.transform.Find(name); if (transform == null) { // No children for this name, create a new game object gameObject = new GameObject(name); gameObject.transform.parent = parentGameObject.transform; } else { // Reuse the game object found the the group name in the hierarchy gameObject = transform.gameObject; } return(gameObject); }