일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Security
- Race condition
- dtft
- 게임 개발
- DSP
- MLFQ
- 유스케이스
- sampling theory
- 언리얼엔진
- 유니티
- 배경 그림
- CTF
- dirty cow
- Double free
- MAC
- DP
- STCF
- ret2libc
- AINCAA
- pdlc
- 메카님
- Rr
- frequency-domain spectrum analysis
- Unity #Indie Game
- RBAC
- linear difference equation
- 운영체제
- stride
- TSet
- 게임개발
Archives
- Today
- Total
다양한 기록
Parrying Sword #43 : [아트][개발][프로그래밍] Observer, 화염탄 날리는 눈알, 파이어구미 투명도 낮춤 본문
유니티 엔진/Parrying Sowrd
Parrying Sword #43 : [아트][개발][프로그래밍] Observer, 화염탄 날리는 눈알, 파이어구미 투명도 낮춤
라구넹 2024. 1. 3. 21:42
다섯개의 눈알이 있고, 범위 내에 있으면 플레이어 방향으로 화염탄을 날립니다.
public void fire()
{
if (!activeSts) return;
if (!fireSphere) return;
for (int i = 0; i < muzzleLength; i++)
{
go[i] = Instantiate(fireSphere, muzzles[i].transform.position, Quaternion.identity);
Invoke("track", 1.0f);
Destroy(go[i], 5.0f);
}
}
private void track()
{
if (muzzleLength == 0) return;
for (int i = 0; i < muzzleLength; i++)
{
float distanceX = player.transform.position.x - go[i].transform.position.x;
float distanceY = player.transform.position.y - go[i].transform.position.y;
float distance = Mathf.Sqrt(distanceX * distanceX + distanceY + distanceY);
// 방향만 필요하니까 정규화 해야됨
Vector2 vector = new Vector2(distanceX / distance, distanceY / distance);
rb = go[i].GetComponent<Rigidbody2D>();
rb.velocity = new Vector2(vector.x * fireSpeed, vector.y * fireSpeed);
}
}
시간차를 두고, 플레이어를 향해 발사한다. 이것이 기본 시스템입니다.
저 fire 메소드를 애니메이션 이벤트로 발동하는 방식이고,
activeSts가 지정한 트리거형 BoxCollider2D 밖에 있으면 false로 되어있게 하여
멀리 있을 경우의 발동을 제한하였습니다.
플레이어와 각 화염탄의 위치를 기반으로 벡터를 만들고, 방향만 필요한 것이니 정규화한 다음
필요한 만큼 빠르기를 조절할 수 있도록 설계하였습니다.
화산에 어떤 생명체가 살까 하면 이미지가 잘 떠오르지 않습니다.
결국 노트에 남는 건 뭔가 기괴하게 생긴 디자인 뿐이라 아쉽습니다.
아마 다음 몬스터도 기괴할 것 같습니다.
파이어구미는 구미, 젤리답게 투명도를 조금 낮췄습니다.
뭔가 마음에 안든다 싶었는데 이러니 보기가 낫습니다.
'유니티 엔진 > Parrying Sowrd' 카테고리의 다른 글
Parrying Sword #45 : [잡담] 패드 연결에 대해서 + 게임 개발 이야기 (0) | 2024.01.06 |
---|---|
Parrying Sword #44 [아트][개발][프로그래밍] 토르소, 화산의 몬스터 (0) | 2024.01.05 |
Parrying Sword #42 : [아트][개발] FireGummy, 화염방사 젤리 (0) | 2023.12.30 |
Parrying Sword #41 : [아트][개발] 마그마 슬라임 (0) | 2023.12.29 |
Parrying Sword #40 : [개발] 스테이지 간 연결, 데카시스 수정 (0) | 2023.12.25 |