Paso 9: AI
http://www.mixamo.com/editor/New/86
Presione yes para ver la animación.
Haga clic en descargar
Haga clic en Sign Up
Crear cuenta
Haga clic en descargar otra vez
Haga clic en Checkout
Seleccione FBX para unidad para descargar formato
Haga clic en descargar
Crear modelos de carpeta en la ventana de proyectos > activos
Arrastrar y soltar al Zombie en la carpeta de modelos
Si aparece una ventana de advertencia cuando importar el modelo, haga clic en arreglar ahora.
GameObject > crear vacío
Cambie el nombre el GameObject Zombie
El modelo de Zombie arrastre el objeto Zombie
Poner un regulador de carácter en el objeto de Zombie
En el inspector de establece el centro Y a 1
Añadir un componente de la cápsula de Hadrones
Añadir componente > física > cápsula Collider
** Asegúrese de copiar los valores exactos.
Crear un nuevo script llamado a Zombie en tu carpeta de scripts.
varVisionDistance:float de= 200;
varMovementSpeed:float = 2;
varHealth:int = 2;{functionFixedUpdate()}
Obtener el objeto del jugador
varplayer:GameObject=GameObject.Find("Player");
varcharacterController:CharacterController=GetComponent(CharacterController);
Obtener la posición de los ojos de Zombie
vareyePosition:Vector3=transform.position;
eyePosition.y += characterController.height;
Obtener la diferencia entre el jugador y las posiciones de Zombie
Esto crea un vector de dirección apuntando en la dirección del jugador.
varlookDirection=player.transform.position-eyePosition;
lookDirection=lookDirection.normalized;
Buscar sólo el reproductor o los objetos que forman parte del paisaje (terrenos, edificios, etc.)
varlayerMask:int = 1 << LayerMask.NameToLayer ("jugador") |1 << LayerMask.NameToLayer("Default");
La dirección que se moverá el Zombie, por defecto parado
varmovementDirection:Vector3 = Vector3.zero;
hitInfo contiene información acerca de lo que puede ver al Zombie.
varhitInfo:RaycastHit;
{if(Physics.Raycast(eyePosition,lookDirection,hitInfo,VisionDistance,layerMask))}
Si el Zombie puede ver el movimiento del jugador hacia ellos.
{if(hitInfo.Collider.gameObject==Player)}
movementDirection = lookDirection;
movementDirection.y=0;
movementDirection=movementDirection.normalized;
}
}
Cara y movimiento en la dirección elegida
{if(movementDirection!=Vector3.Zero)}
transform.Rotation=Quaternion.LookRotation(movementDirection,Vector3.up);
}
characterController.SimpleMove(movementDirection*MovementSpeed);
}
Poner el script en el Zombie.
Crear Zombie capa (capas > capas de editar)
Poner a zombies en Zombie capa para que el Zombie 'vean a través de' otros zombis.
Arrastrar y soltar el Zombie en los activos > carpeta prefabricados para crear una casa prefabricada de él.