도드넷
도드 게임즈#4 - 유니티 스프라이트 테두리 스크립트간의 통신하는 법! 본문
스프라이트 하일라이팅, 테두리 만드는 방법!
- 롤이나 다른 전략시뮬이나 보면 타겟을 지정하면 테투리가 빨갛게 되는데 그거
어떻게 하는지는 정확히는 몰라도 오픈소스 자료하고 적용법 정도 공유해봄 :3
1. 다음 압축파일을 받아서 에셋에 추가한다.
2. 원하는 오브젝트에 SpriteOutline 스크립트를 추가한다.
3. 스프라이트 랜더러에서 Material 을 SpriteOutline 을 골라준다.
4. Sprite Outline 셰이더를 sprite -> outline 으로 설정해준다.
이제 두께를 조절하면 된다.
그런데 두께를 전혀 다른 오브젝트의 스크립트에 의해 변경할수가 있을까?
플레이어 스크립트에 의해 전혀 다른 오브젝트인 어떤 선택된 적이 하일라이트되게 할수있을까?
바로
GameObject.GetComponent<컴포넌트이름>()
메소드를 사용하면 된다.
스프라이트 아웃라인의 두께를 조정하려면 당연히 SpriteOutline 스크립트에 접근해야한다.
Target.GetComponent<SpriteOutline>().outlineSize = 3;
즉 이런모양이 될것이다.
번역하면 Target이라는 게임 오프젝트의 SpriteOutline이라는 스크립트의
outlineSize라는 전역변수를 3으로 설정한다. 이다.
그러면 Target은 어떻게 지정할까? 어떻게 내 스크립트에 외부 오브젝트를 참조 혹은 불러오게할수있을까?
외부 게임 오브젝트를 불러오는 방법은 다양하다.
1. 콜라이더 충돌을 이용해서 게임 오브젝트 참조/불러오기
void OnTriggerStay2D(Collider2D collider)
{
saveob = collider.gameObject;
}
또는
Collider2D mycol = Physics2D.OverlapPoint(R_ClickPoint);
2. public 게임 오브젝트 변수를 설정하고 인스펙터에서 직접 지정하기
이건 그냥.. 퍼블릭 변수로 놓은다음 직접 끌어다가 놓으면 됨.
3. Find 메소드 이용하기
GameObject goCam = GameObject.Find("Main Camera");
아 그나저나 맨위 포니짤 내가 찍었지만 레알 디테일지린다. 애들 눈동자 움직임하고 하..
어떻게 이렇게 귀엽고 사랑스러운지. 업로드하다 심쿵함...
'창고 > 나만의 게임 제작' 카테고리의 다른 글
도드 게임즈#6 - 흙 텍스쳐, 땅을 컴퓨터로 그려보자 (0) | 2016.08.20 |
---|---|
도드 게임즈#5 - 유니티 데미지 GUI 설계하기 (0) | 2016.08.17 |
도트 아트#3 - 유니티 공격 이동 시스템을 만들어보자 (0) | 2016.08.14 |
도트 아트#2 - 유니티 2D 애니메이션 픽셀 도트 걷는 애니메이션! (0) | 2016.08.12 |
도트 아트#1 - 컴퓨터로 나무 그리는 방법 (2) | 2016.08.10 |