이제 부제목도 쓰려고 합니다.

 

오늘은 저번에 만들었던 타워의 위아래 움직임을

동기화! 시켜 봤습니다!

 

원래는 오늘 몹을 만들까 했는데,

창작의 고통

친구가 복셀로 정사면체를 못 만든다고 해서

주제가 바뀌게 되었습니다.

새로 생성해도 동기화되어 같이 움직이는 타워.gif

같이 움직이니까 보기가 더 좋아진 것 같습니다.

사실 제가 불편해서 만들었습니다...

 

그리고 맵 만드는 과정을 적는 걸 생략했습니다^!^

왜냐하면 너무 간단하기 때문에...

설명하자면, 큐브를 늘려서 녹색 필드 만든 후에,

저 발판(노드)을 큐브로 만들면 끝입니다.

전부 큐브로 이루어져 있습니다 제가 할 수 있는 유일한 모델링...

 

동기화하는 것을 어떻게 만들었는지는 이제부터!

 

일단 처음에는 모든 타워를 동기화했었는데,

새로운 타워를 설치하자 움직임이 이상해져서

 

하나의 기준을 잡기로 했습니다.

타워 움직임의 기준 오브젝트.gif

사진에 나와있는 투명 오브젝트(기준)의 Z 축 값을

타워의 머리 부분 Z 축 값에 계속 대입하도록 스크립트를 만들어서 넣었습니다.

 

그러면 타워의 움직임이 저 투명 오브젝트(기준)에 모두 동기화됩니다.

 

코드 블록 쓰는 게 너무 어려워서 그냥 사진으로 올리겠습니다;;

움직임의 기준 부분
움직이는 타워 부분

주석 처리된 부분은 저번에 구현했던 부분이고,

저도 아직 배우는 입장이라서 참고만 하시는 게 나중에 도움이 될 겁니다;;

 

그리고 지금 새로운 유도미사일 타워 제작 중입니다!

오른쪽의 새로운 타워

오늘 배운 것

 

다른 스크립트의 값을 가져와서 쓰는 방법을 배웠다!

 

이상입니다!

오늘은 타워의 위아래 움직임을 줄려고 했는데...

이걸 5시간 동안

결론부터 말하자면 일단 성공했습니다!

 

움직이는 타워!!!

이거 그냥 애니메이션 넣을까 생각도 해봤습니다

친구랑 연락 안 돼서

그래도 실력을 쌓기 위해서!

 

 

만들면서 최대한 최적화를 하려고 Rigidbody를 안 썼는데

Rigidbody 안 쓰고 구현하려니까 어려웠습니다;;

Rigidbody 쓰면 물리엔진 사용하는 타워 완성!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class Tower_top_shake : MonoBehaviour
{
    private float speed = 1.6f;
    private bool UpDownShake;
 
    void Update()
    {
        if (transform.localPosition.z >= 20)
            UpDownShake = true;
        else if (transform.localPosition.z <= 16)
            UpDownShake = false;
 
        if(UpDownShake == true)
            transform.Translate(Vector3.forward * speed * Time.deltaTime * -1);
        else
            transform.Translate(Vector3.forward * speed * Time.deltaTime);
    }
}
 
cs

 

이게 소스코드인데 참고하실 분은 참고하셔도 됩니다.

Transform으로 구현해서 다른 컴포넌트는 필요 없어도 되게 했습니다.

 

 

그래도 아직 배워야 할게 많은 것 같습니다;;

transform.localPosition 이걸 오늘 알게 되었습니다.

부모 객체가 있을 때 부모 객체 기준으로 자신의 좌표를 알 수 있게 해 주는데,

이걸 써서 쉽게 만들 수 있었습니다.

이거 모르고 월드 좌표로 구현하다가 2시간 가고,

심지어 1편에 썼는데 오브젝트가 90도로 꺾여있는 줄도 몰라서 1시간 가고...

 

아무튼 열심히 개발 중!

유니티 3D 게임 첫 번째 개발입니다!

 

 

친구랑 같이 개발하고 있습니다. 친구가 모델링하고, 제가 프로그래밍하고 있습니다.

2인 개발은 힘들어요.

 

 

프로젝트 이름은 [VDG], 관리는 트렐로로 하고 있습니다.

복셀(V) 디펜스(D) 게임(G) 불편... 나중에 바꾸면 되지...

 

 

이게 전체적인 모습입니다.

저기 회전 값이 보이시나요... 친구가 3D모델을 X축으로 90도로 꺾어서 만들었어요...

같이 만들려고 했던 건 도트 게임이었는데,그림을 못 그려서

복셀 모델링이 재밌을 것 같아서 3D 쪽으로 바꿨습니다

 

 

게임의 특성은 몸통에 대미지나 사정거리 같은 레벨업 요소를 넣고,

머리 부분에 타워의 속성을 넣을 겁니다.

+ Recent posts