¿Cuál es la postura correcta para tocar el césped con la cara en King of Glory?

Insertar descripción de la imagen aquí

introducción

El principio de implementación del efecto de ocultación de arbustos en Cocos.

En el desarrollo de juegos, a menudo utilizamos efectos de perspectiva o translucidez para expresar el efecto de la oclusión de los modelos .

Este artículo presentará cómo lograr el efecto de esconderse en la hierba en Honor of Kings in Cocos .

El proyecto fuente de este artículo se encuentra al final del artículo. Los amigos pueden ir allí por su cuenta.

Cómo conseguir el efecto de esconderse en la hierba.

Insertar descripción de la imagen aquí

Para lograr el efecto de esconderse en la hierba en Honor de Reyes en Cocos , se requieren los siguientes puntos:

1. Translucidez del modelo

Para lograr el efecto de translucidez del modelo , se requieren las dos condiciones siguientes:

  • La cola de renderizado donde se encuentra el objeto 3D es la " cola transparente ";
  • alphaEl valor de color del objeto 3D cambia a 127 (translúcido);

Muy bien, lo tengo

2. Disparador

La translucidez del modelo se activa al entrar en el césped y la translucidez del modelo se restablece al salir del césped . Se requieren los siguientes 2 eventos :Collider

  • onTriggerEnter: Se activa cuando otro Colliderentra al mío .Collider

  • onTriggerExit: Se activa cuando otro Colliderdeja el mío .Collider

bien bien

Sin más, pongamos un ejemplo.

Pollo rey escondido en la hierba

A continuación, implementaremos el efecto de escondernos en la hierba paso a paso en King of Glory .

1. Medio ambiente

Versión del motor : Cocos Creator 3.8.1

Lenguaje de programación : mecanografiado

2. Preparación de recursos

Primero, vaya al " mercado de verduras " y compre dos puñados de " verduras ". Los amigos a quienes les guste hacer modelos pueden hacer uno ellos mismos en 3dmax . Primero echemos un vistazo al efecto de la hierba en 3dmax :

El equipo del programa finalmente tiene algo de conciencia.

Luego exporte el modelo desde 3dmaxFBX , incluidos y TGA, y luego agréguelo al proyecto:

No importa si no lo entiendes, simplemente pospónlo.

Arrastre el modelo a la escena y podrá ver la hierba blanca como la nieve :

como plastico

Para que su césped vuelva a ser verde , debe hacer lo siguiente:

  • Para modificar el material Effect, lo utilizamos builtin-unlit.
  • Luego Techniqueseleccione transparentel canal.
  • Establece la textura.

Cuento 123 personas de madera.

Una vez completado el procesamiento , el efecto es el siguiente:

Pantalla simple, los amigos que buscan lo último pueden ajustarla

Como el pasto no es lo suficientemente denso , copiamos y pegamos unos cuantos más:

Sería genial si mi cabello pudiera hacer esto Ctrl+C+V

Si desea que Grass genere un evento desencadenante , debe agregarlo Collider, se usa directamente aquí BoxCollider, simple y rápido:

Puedes pensar en esto como una barrera.

Márcalo Is Triggerpara que sea un disparador , de lo contrario no podrás entrar al césped:

¡Concéntrate en ello!  !  !

3. Escribir código

Crea un nuevo Tussockcomponente y arrástralo al King Chicken.

@ccclass('Tussock')
export class Tussock extends Component {
    
    
    start() {
    
    
    }

    update(deltaTime: number) {
    
    
    }
}

start()Obtenga el componente en el método y CapsuleColliderescuche onTriggerEnterel onTriggerExitevento.

start() {
    
    
    var collider = this.getComponent(CapsuleCollider);
    collider.on('onTriggerEnter', (event: ICollisionEvent) => {
    
    
        if (event.otherCollider.node.name == "tussock") {
    
    
            this.setModelTranslucency(true);
        }
    }, this);
    collider.on('onTriggerExit', (event: ICollisionEvent) => {
    
    
        if (event.otherCollider.node.name == "tussock") {
    
    
            this.setModelTranslucency(false);
        }
    }, this);
}

Finalmente, toma el material del Pollo Rey y material.setProperty('albedo');establece su transparencia :

setModelTranslucency(flag: boolean) {
    
    
    const material = this.node.getChildByName("rooster_man").getComponent(RenderableComponent)?.sharedMaterials[0]; // 0 表示第一个材质,根据您的需求修改
    material.setProperty('albedo', new Color(255, 255, 255, flag ? 127 : 255));
}

4. Demostración de efectos

Insertar descripción de la imagen aquí

Si no trabajas duro durante un día, todo tu cuerpo se sentirá incómodo. Por favor ayuda a reenviar el artículo. ¡Se acabó la salida de clase!

Conclusión

El proyecto fuente de este artículo se puede obtener enviando a Tussock por mensaje privado .

Recientemente, Qilinzi (quien ha estado profundamente involucrado en motores de juegos y desarrollo de juegos durante 15 años , y cada gota de información práctica proviene de la práctica de proyectos comerciales ) invitó al autor a unirse a Knowledge Planet como invitado . para:

  • Tutor de enseñanza
  • Comunicación sobre cuestiones de aprendizaje.
  • Introducción y avances para recién llegados
  • Reclutamiento y intercambio de oportunidades de empleo
  • Colección de preguntas de la entrevista.
  • Intercambio de experiencias en entrevistas.

En general, Planet tiene un solo objetivo : proporcionar contenido de alta calidad y participar en el aprendizaje . Los amigos interesados ​​pueden escanear el código para obtener más información y recibir asistencia. Los esperaré adentro .

Mantenga presionado para identificar, escanee el código para comprender

Soy un "Programador Billion Dollar", un programador con 8 años de experiencia en la industria de los juegos. En el desarrollo de juegos, espero poder ayudarte y espero que a través de ti pueda ayudar a todos.

ANUNCIO: Puede hacer clic y buscar los minijuegos en línea del autor "Snake Handheld Classic", "Gravity Maze Ball" y "Coloring Journey" usted mismo.

Para ser honesto, ¡quiero que me guste y mire ! Comparte este artículo con otros amigos que creas que lo necesitan . ¡Gracias!

Columnas recomendadas:

¿Sabes cómo implementa Honor of Kings el indicador de rango de habilidades?

8 años de experiencia en la construcción del marco de desarrollo de juegos independiente de Cocos paso a paso

Aprenda patrones de diseño con un programador maestro de juegos de 8 años

Desarrolla el minijuego Snake desde cero hasta una serie en línea

Supongo que te gusta

Origin blog.csdn.net/lsw_Cs/article/details/134868801
Recomendado
Clasificación