Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Song w danym momencie oraz TXT na potwory [UNITY 3D]


Rekomendowane odpowiedzi

Opublikowano

Witam, chciałbym, aby po podejściu do danego elementu automatycznie włączała się muzyka.

+ Jest możliwość, aby podejść do danego elementu i coś ci na twarz wyskakiwało ?

 

+ jeżeli macie, to podeślijcie jakieś txt potworów

­

Bez nazwy-2.png

Opublikowano

Funkcja [OnCollisionEnter] powinna ci wystarczyć.

+ Tak, jest taka możliwość wystarczy że zrobisz odpowiednią grafikę "Wyskakującego czegoś" oraz animacje do "Wyskakującego czegoś". I napiszesz skrypt z wykorzystaniem, ponownie [OnCollisionEnter] by "Wyskakujące coś" wiedziało kiedy "Wyskoczyć".

+ Nie wiem co to "txt" potworów.

 

I + ode mnie :D

Jeśli chcesz cokolwiek robić w Unity ogarnij programowanie [JS lub C#]. Następnie ogarnij Grafikę3D [blender lub 3DMax]. I wtedy z łatwością zrobisz "Wyskakujące coś". Ba! Nawet całego potwora :D

 

+ Nikt tego za ciebie nie zrobi. Co najwyżej możemy ci wskazać drogę..

  • 2 tygodnie później...
Opublikowano

@StasioMan on chyba nie chce, aby muzyka się odtwarzała gdy wejdziesz w potworka tylko jak podejdziesz.

 

Z tym wyskawiwaniem na twarz masz na myśli JumpScare, tak? Masz kod, pisałem na szybko z pamięci bez testowania w Unity ale powinien działać.

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {

	private Vector3 EnemyPosition;
	private float Distance;
	private bool Trigger = false;
	public Texture Image;

	void Start () 
	{
		EnemyPosition = GameObject.FindGameObjectWithTag("Enemy").transform.position; //Zamiast Enemy podaj tag przeciwnika. Metody FindGameObjectWithTag() używaj tylko w Start(), ponieważ funkcja ta jest dość ciężka ze względu na to, że przeszukuje całą tablice obiektów na planszy.
	}
	
	void Update () 
	{
		Distance = Vector3.Distance(transform.position, EnemyPosition);

		if( Distance <= 5.5f ) //Jeśli dystans gracza od przeciwnika jest mniejszy lub równy 5.5 to przestaw trigger na true
		{
			Trigger = true;
			//Tutaj umieść też kod sterujący AudioSourcem by puścić muzyczkę
		}
		else //Jeśli gracz uciekł przeciwnikowi przełącz Trigger na false
		{
			Trigger = false;
			//Tutaj daj kod wyłączający muzykę
		}
	}

	void OnGUI ()
	{
		if( Trigger == true )
		{
			GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), Image, ScaleMode.ScaleToFit, true, 0);
		}
	}
}

Opublikowano

@Danieo199 Chodzi mi o coś takiego:

 

@ - Potwór

_ - Zasięg Collidera

__________________

|                              |

|                              |

|             @              |

|                              |

|                              |

|_________________|

Opublikowano

To można zrobić dwa modele kolizyjne, jeden zwykły a drugi będzie wielkim obszarem triggera.

Opublikowano

Podejrzewam jednak, że użycie Vector3.Distance() będzie wydajniejsze ponieważ obliczenia fizyczne są cięższe niż obliczenie różnić między dwoma wektorami.

  • 2 tygodnie później...
Opublikowano

Widzicie, jestem "ciut" zielony co do tego ;/

 

@Danieo199 

 

 

@StasioMan on chyba nie chce, aby muzyka się odtwarzała gdy wejdziesz w potworka tylko jak podejdziesz.

 

Z tym wyskawiwaniem na twarz masz na myśli JumpScare, tak? Masz kod, pisałem na szybko z pamięci bez testowania w Unity ale powinien działać.

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {

	private Vector3 EnemyPosition;
	private float Distance;
	private bool Trigger = false;
	public Texture Image;

	void Start () 
	{
		EnemyPosition = GameObject.FindGameObjectWithTag("Enemy").transform.position; //Zamiast Enemy podaj tag przeciwnika. Metody FindGameObjectWithTag() używaj tylko w Start(), ponieważ funkcja ta jest dość ciężka ze względu na to, że przeszukuje całą tablice obiektów na planszy.
	}
	
	void Update () 
	{
		Distance = Vector3.Distance(transform.position, EnemyPosition);

		if( Distance <= 5.5f ) //Jeśli dystans gracza od przeciwnika jest mniejszy lub równy 5.5 to przestaw trigger na true
		{
			Trigger = true;
			//Tutaj umieść też kod sterujący AudioSourcem by puścić muzyczkę
		}
		else //Jeśli gracz uciekł przeciwnikowi przełącz Trigger na false
		{
			Trigger = false;
			//Tutaj daj kod wyłączający muzykę
		}
	}

	void OnGUI ()
	{
		if( Trigger == true )
		{
			GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), Image, ScaleMode.ScaleToFit, true, 0);
		}
	}
}

Jaki jest kod na muzyke? :D

Bez nazwy-2.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...