๋ง์ฐ์ค๋ก ์บ๋ฆญํฐ๋ฅผ ํด๋ฆญํ๋ฉด ์บ๋ฆญํฐ๋ฅผ ์ธ์ํ๊ณ ํน์ ๋์ฌ๊ฐ ๋์ค๊ฒ ๊ตฌํํ๊ณ ์ถ์๋ ๋..
๋งํ์ ์ ๋ณด๋ฉด ์ฃผ๋ฏผ์ ๋ง์ฐ์ค๋ก ํด๋ฆญํด ๋ง์ ๊ฑธ๋ผ๋ ๋ฌธ๊ตฌ๊ฐ ๋์จ๋ค.
์ฒ์ฌ์ฃผ๋ฏผ, ์ ๋ง์ฃผ๋ฏผ์ ๊ฐ๊ฐ ํด๋ฆญํ๋ฉด ๋ค๋ฅธ ๋งํ์ ์ด ๋ํ๋๋ค.
์ด๋ป๊ฒ ํ๋ฉด ๋ง์ฐ์ค๋ก ๋ฌผ์ฒด๋ฅผ ํด๋ฆญํ๊ณ , ์ด๋ฅผ ์ธ์ํด ๋ฌผ์ฒด๋ฅผ ํ๋ณํ์ฌ ๋ช ๋ น์ ์ค ์ ์์๊น?
๋ฐ๋ก RaycastHit์ tag๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด๋ค.
Raycast๋ Raycast ์คํฌ๋ฆฝํ ์ ๊ฐ์ง ๊ฒ์์ค๋ธ์ ํธ์ ์์ ์์ ๋ด๊ฐ ์ค์ ํ ๋ฐฉํฅ์ผ๋ก
Ray(๋์ ๋ณด์ด์ง ์๋ ๊ด์ )๋ฅผ ๋ ๋ ค ํน์ ๊ฑฐ๋ฆฌ ์ด๋ด์ ๋ฌผ์ฒด์ ์ถฉ๋๊ฐ์ง๋ฅผ ํด์ฃผ๋ ๊ฒ์ด๋ค.
์ด ๋ Ray๋ฅผ ๋ง์ฐ์ค์ ํฌ์ง์ ์ผ๋ก ์ค์ ํด์ฃผ๋ฉด ๋ง์ฐ์ค๋ก ํด๋ฆญ ํ ๋ฌผ์ฒด ๊ฐ์ง๊ฐ ๊ฐ๋ฅํ๋ค.
// ๋ง์ฐ์ค๋ก ํด๋ฆญํด์ ์ธ์ ํ ๋ํ
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
Debug.Log(hit.transform.gameObject);
if (hit.transform.gameObject.tag == "Devil") // ์
๋ง๋ง๋ ํด๋ฆญ ์
{
talkPanel.SetActive(true);
nametag.SetActive(true);
npcName.text = "์
๋ง๋ง๋";
talkObjectText.text = "์ฝฐ์์์์
๊บผ์ ธ";
devil_clickCount++;
Debug.Log(devil_clickCount);
mouseClick = false;
}
else if (hit.transform.gameObject.tag == "Angel")
{
talkPanel.SetActive(true);
nametag.SetActive(true);
npcName.text = "์ฒ์ฌ๋ง๋";
if (npc_clickCount == 0) // ์ฒ์ฌ๋ง๋ ํด๋ฆญ ์
{
talkObjectText.text = "์ฉ๊ฐํ ๋ชจํ๊ฐ๋.. ์ ํฌ๋ฅผ ๊ตฌํ๋ฌ ์์ฃผ์
จ๊ตฐ์!";
npc_clickCount++;
}
mouseClick = false;
}
'๐ฎ Unity' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Unity] Timer UI ๊ตฌํํ๊ธฐ (0) | 2021.07.12 |
---|---|
[Unity] ์์ดํ ๊ตฌํํ๊ธฐ (0) | 2021.07.05 |
[Unity] ๋งํ์ UI ์ ์ฉํ๊ณ ๋ํ์ฐฝ ๊ตฌํํ๊ธฐ (0) | 2021.06.26 |
[Unity] Player ๋ฐฉํฅํค๋ก ์์ง์ด๊ธฐ / Animation ์ค์ (0) | 2021.06.22 |
[Unity] Update() (0) | 2021.05.01 |