Cita de: Alex date=1544047512Entonces que tendría que cambiar?
Poner el:
If(isLocalPlayer)?
Para que cambie a una afirmación en vez de una negación?
Respuesta corta: Sí.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: Alex date=1544047512Entonces que tendría que cambiar?
Poner el:
If(isLocalPlayer)?
Para que cambie a una afirmación en vez de una negación?
public GameObject dialoguepotions;
if (hasapotion == true) {
dialoguepotions.GetComponent<ProximityInitiator> ().enable = false;
}
Cita de: pioj date=1543452990En cuanto disponga de datos precisos, comentaré si esa afirmación es verdad o sólo te lo parece a ti...
Cita de: fracto date=1543400971Buenas! Gracias por tu interés pero desgraciadamente no he desarrollado sprites en 2D así que sería un estorbo más que una ayuda jeje
Suerte con el proyecto!
Cita de: lightbug date=1543371374El bloom (este) funciona con la info que tenés en pantalla, en tu ejemplo estas usando una intensidad y un radio tal que parece que la luz es el bloom (además creo que tenés un eye adaptation ?), cuando se sale de la vista simplemente no tenés más info de la fuente (el material brillante de la luz, supongo) entonces se "apaga". Vos notás el efecto porque el radio simplemente se va, y más todavía combinado que están perfectamente alineadas en horizontal. Con el Screen Space Ambient Occlusion o el Screen Space Realtime Reflection pasa exactamente lo mismo, cuando las cosas se van de pantalla no se tiene información y el efecto desaparece, es normal.
En resumen, podés hacer dos cosas
1 - tratar de trabajar el efecto un poco más y no hacerlo tan guaso, el bloom y sobretodo el ambient occlusion, este ultimo está pasadisimo, no uses el AO como sombra directa, usalo como detalle, cuando se va el efecto se nota la iluminación clarita (en 0:02 por ej), quizás para ese escenario meter un ambient light negro puro y andar metiendo luces bien posicionadas. Yo siempre uso AO con mucho radio pero con una intensidad muy sutil, le da un detalle imbatible.
2 - usar un fake de luz (un plano tipo billboard por ej) que haga del efecto del bloom (podés meter un bloom encima de esto pero no tan intenso).
Saco la posibilidad de un volumentric light, quizás esto sea lo mejor pero bueno, para usar algo "por default".
Saludos
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy : MonoBehaviour {
// Variables para gestionar el radio de visión, el de ataque y la velocidad
public float visionRadius;
public float attackRadius;
public float speed;
// Variable para guardar al jugador
GameObject player;
// Variable para guardar la posición inicial
Vector3 initialPosition;
// Animador y cuerpo cinemático con la rotación en Z congelada
Animator anim;
Rigidbody rb3d;
void Start () {
// Recuperamos al jugador gracias al Tag
player = GameObject.FindGameObjectWithTag("Player");
// Guardamos nuestra posición inicial
initialPosition = transform.position;
anim = GetComponent<Animator>();
rb3d = GetComponent<Rigidbody>();
}
void Update () {
// Por defecto nuestro target siempre será nuestra posición inicial
Vector3 target = initialPosition;
// Comprobamos un Raycast del enemigo hasta el jugador
RaycastHit2D hit = Physics2D.Raycast(
transform.position,
player.transform.position - transform.position,
visionRadius,
1 << LayerMask.NameToLayer("Default")
// Poner el propio Enemy en una layer distinta a Default para evitar el raycast
// También poner al objeto Attack y al Prefab Slash una Layer Attack
// Sino los detectará como entorno y se mueve atrás al hacer ataques
);
// Aquí podemos debugear el Raycast
Vector3 forward = transform.TransformDirection(player.transform.position - transform.position);
Debug.DrawRay(transform.position, forward, Color.red);
// Si el Raycast encuentra al jugador lo ponemos de target
if (hit.collider != null) {
if (hit.collider.tag == "Player"){