Cómo crear un contenedor vacío

Hola. Quiero crear varios triángulos de forma procedural pero no ponerlos directamente en el escenario sino dentro de otro objeto vacío o contenedor para más tarde hacerle un for-each para iterar sobre ellos y hacerles ciertas modificaciones. ¿Cómo se hace esto? Gracias.

Hola!
¿Te refieres a crear meshes procedurales con forma de triángulo o ya tienes los triángulos y los quieres spawnear de forma procedural?

Con un actor vacio, en Event Begin Play del mismo ponés tu código.
El actor después tiene que ser ubicado en el nivel manualmente o lo llamas de otra manera, por ejemplo con el Blueprint del nivel.

Hola amigos! Gracias por responder. Lo que tengo es un sencillo triángulo:


procedural5
procedural4
Respondiendo a LucidGem: Los tengo pero no sé como spawnearlos de forma procedural.

Como ven los nodos están en una función, en un bp que se llama “NewBlueprint”. Puse el código en el Event Begin Play como me dijiste Rykroft pero lo tenía puesto en el Construction Script que también funcionaba y no entiendo la diferencia entre hacerlo así o de la otra forma.
procedural7

Creo que lo que necesito es lo que dices al final, es decir, llamarlo desde ¿el bp del nivel? No sé como se hace. ¿Podrías orientarme un poco ahí?

Quiero tener mis triángulos agrupados en un contenedor para que estén separados del resto de objetos que puedan haber en el escenario, como un sol, un cielo, etc y así poder acceder a ellos más facilmente para manipularlos, eliminarlos, etc.

Espero haberme hecho entender. No le termino de pillar el aire a esto :frowning:

No, el tema no es ponerlo en Begin Play o en el Construction Script, sino en tu nivel.
Podés dejar la función en Begin Play, pero ese blueprint que vos estás modificando, tiene que ser colocado en el nivel, ya sea manualmente o dinamicamente, y por el momento no lo estás haciendo.
Por eso no ves resultados, solo creaste un Blueprint en tu editor, jamás le dijiste al nivel que lo usara.
Yo te recomendaría que empieces por ver como es la carga de un nivel, antes de tratar de spawnear cosas sin saber que estas haciendo.
Averiguá sobre, “Game Modes”, “PlayerController” y “LevelBlueprint”, esos 3 son un buen lugar donde podrías llegar a implementar lo que tu quieres.

Yo crearía mi propio controlador, y de ahí usaría un “SpawnActorOfClass” para sumonear lo que tu dices. Aunque es perfectamente factible hacerlo también desde el “LevelBlueprint”

Le echaré un vistazo. Gracias ;

Como dice Rykroft, tu controlador/contenedor sería crear un SpawnManager. Éste puede ser un actor que colocas en el mapa o que puede ser también el propio LevelBlueprint.

Usando el nodo SpawnActorOfClass spawneas un actor de la clase que elijas. En este caso, tu blueprint donde creas un triángulo. Al spawnearlos los guardas en un array y ahí ya tienes acceso a todos los actores/triángulos que has creado.

1 Like