‫Oye, bienvenido de nuevo.
‫En el último video, creamos nuestro componente de cápsula y lo configuramos para que sea la raíz.
‫En este video, necesitamos agregar algunos componentes más.
‫En concreto, necesitamos unas mallas para la base y la parte de la torreta de nuestro tanque.
‫Y también necesitamos un punto de generación de proyectiles, como hemos discutido en conferencias anteriores.
‫Así que saltemos al código VS.
‫Ahora aquí en Base Pancake, tenemos nuestro componente cápsula.
‫Podemos agregar nuestros otros componentes en esta sección privada justo debajo.
‫Entonces, para nuestras mallas, queremos usar su componente de malla estática.
‫Y, por supuesto, estos serán punteros, ya que este no es un tipo base y la primera malla la llamaré
‫malla base y, al igual que la malla base de la composición de la cápsula, obtendrá su propia macro de propiedad.
‫Ahora observe que su componente de malla estática no me está dando un error por no haberlo declarado.
‫Esto se debe a que su componente de malla estática está incluido de forma predeterminada en todos los actores y, por supuesto, los peones
‫son actores, por lo que ha utilizado un componente de malla estática.
‫Ahora bien, si se pregunta cómo saber qué tipos se incluyen de forma predeterminada y cuáles no, siempre
‫puede intentar compilar y ver si obtiene un error.
‫Sabemos cómo se ve el error cuando no incluye un encabezado que necesita.
‫Otro enfoque sería siempre reenviar la declaración e incluir siempre los archivos de encabezado para los tipos de motores irreales
‫que tienen protecciones de inclusión que evitan que se incluyan varias veces en un solo archivo.
‫De hecho, el mismo encabezado en el que estamos tiene uno de estos.
‫Se llama Praga WMA una vez.
‫De todos modos, tenemos nuestra malla base y nos gustaría otro componente de malla estática.
‫Entonces, este será un puntero de componente de malla estática U y será para la torreta.
‫Así que voy a llamar a esta malla de torreta y, al igual que la malla base, también obtendrá una macro de propiedad U.
‫Entonces, ahora que tenemos los punteros de la malla base y la malla de la torreta, es hora de construirlos.
‫Así que vayamos a Base Pont CP y hagamos eso en el constructor aquí.
‫Entonces, primero vamos a decir malla base y le asignaremos el valor devuelto por crear subobjeto
‫predeterminado.
‫Ahora, antes de que lo complete, ¿por qué no continúa y escribe el tipo correcto aquí?
‫Así es.
‫Es tu componente de malla estática.
‫Ahora, para el nombre, vamos a usar la macro de texto y podemos llamar a esta malla base.
‫Ahora es importante que adjuntemos la malla base a algo, ya que nos gustaría que la malla siguiera al componente
‫de la cápsula.
‫Mientras movemos el PON, lo adjuntaremos a la raíz.
‫Entonces, la malla base tiene una función llamada archivo adjunto de configuración y el archivo adjunto de configuración toma un componente visto para
‫adjuntarlo.
‫Vamos a unir la malla base a la composición de la cápsula.
‫Fácilmente podríamos tener un componente raíz pasado aquí.
‫Ahora vamos a crear la malla de la torreta de la misma manera.
‫Entonces, la malla de la torreta es igual a crear un subobjeto predeterminado y este también será un componente de malla estática de uso.
‫Y por el nombre de este, lo llamaremos malla de torreta.
‫Ahora, mencionamos anteriormente que nos gustaría que la malla de la torreta se adjunte a la malla base
‫para que podamos decir que la malla de la torreta se adjunta y el componente al que se unirá será la malla base.
‫Entonces, pasaremos la malla base y, como argumento, ¿de dónde proviene el archivo adjunto de configuración?
‫Si hacemos clic derecho y vamos a definición, veremos que es una función aquí en el componente de escena.
‫Entonces todos los componentes de la escena tienen esta función.
‫Así que cerraremos el componente de escena.
‫Ahora probablemente esté notando los errores de IntelliSense que indican que apunta a un tipo de clase incompleto.
‫Este es en realidad otro error falso.
‫Y esa extensión que descargamos en realidad no soluciona esto, pero se compila bien, así que no tenemos que
‫preocuparnos por eso.
‫Ahora, si le molesta, puede simplemente agregar el componente de malla estática de los componentes de inclusión y eso
‫eliminará esos garabatos rojos.
‫Y como mencioné, estos incluyen guardias para que no se incluyan dos veces.
‫Así que eso depende de ti.
‫Continuaré y dejaré la inclusión aquí solo para que no tengamos esos garabatos.
‫Entonces, ahora que tenemos nuestra malla base en nuestra malla de torreta, lo único que queda es nuestro punto de generación de proyectiles.
‫Así que este será tu desafío.
‫Cree un puntero llamado punto de generación de proyectiles.
‫Elija el tipo correcto que sea apropiado para un punto de generación de proyectiles y asígnele un nombre
‫usando la macro de texto y cree un subobjeto predeterminado.
‫Adjunte el punto de generación del proyectil a la malla de la torreta.
‫Y una pregunta en la que quiero que piense es si necesitamos incluir su archivo de encabezado, pausar el
‫video y crear este componente ahora.
‫Está bien.
‫Así que agreguemos este siguiente componente.
‫Ahora, el punto de generación del proyectil será un componente visto en U, y lo llamaremos punto de generación del proyectil.
‫Ahora agregaremos una macro de propiedad.
‫Esta bien.
‫Si no hizo esto, si no siguió adelante y agregó la macro de su propiedad ahora,
‫ahora vayamos a Base Pond CP y construyamos este componente.
‫Así que vamos a decir punto de generación de proyectiles y crearemos un subobjeto predeterminado.
‫Y este será un componente visto.
‫Ahora, probablemente le diste un nombre increíble.
‫Voy a llamarlo punto de aparición y necesitamos configurar el archivo adjunto para esto.
‫Así que vamos a decir el punto de generación del proyectil, configurar el archivo adjunto y lo adjuntaremos a la malla de la
‫torreta y ahí vamos para que podamos compilar esto, asegurarnos de que todo se compile correctamente y que tengamos una
‫compilación exitosa.
‫Así que todo se ve genial.
‫Así que en este video creamos componentes de malla estática y vimos que no necesitábamos incluir los encabezados
‫para ellos.
‫Ya estaban incluidos por defecto.
‫También creamos un componente de escena llamado punto de generación de proyectiles y nuestro código se compiló perfectamente sin incluir
‫el encabezado para eso también.
‫Muy pronto crearemos un modelo basado en nuestra clase C++ de estanque base.
‫Te veré en el próximo video.