http://www.csharpstudy.com/

 

C# 프로그래밍 배우기 (Learn C# Programming)

 

www.csharpstudy.com

제가 주로 C#공부할때 쓰는 사이트 입니다!

건물을 건설하려면 토대가 필요하겠죠?

제가 만드는 게임에서는 그걸 노드라고 부릅니다.

노드

하얀색 발판같이 생긴게 노드입니다.

타워디펜스를 할때 타워를 건설하는 방법은 여러 가지가 있지만 두 가지로 정리하지면,

첫 번째는 원하는 지점에 건물을 드래그해서 두거나,

두 번째는 원하는 지점을 선택하고,

상점등의 UI에서 원하는 타워를 선택하는 방법이 있습니다.

 

여기서 저는 두 번째 방법을 사용했습니다.

아직, 상점UI는 만들지 못했고...

우선 노드 선택부분과 임시로 건설 버튼 만들었습니다.

 

결과는 

노드 선택과 건설

잘 작동하는 것을 볼 수 있습니다!

눈에 띄는 건설 버튼

 

저 버튼은 차후에 상점이나 타워 종류를 선택하는 등의 UI로 바꿀 예정이고,

저 UI는 원래 화면 밖으로 나가는 등의 버그(?)가 있었지만,

해상도를 카메라에 고정해서 해결했습니다!

 

이상입니다!

=========================|읽기 전|=========================

이 글은 스트리밍 영상을 다운로드하는 방법을 설명하는 글이 아닙니다.

다운로드된. ts, .m3u8 영상 파일을 합치는 프로그램을 소개하는 글입니다.

해당 프로그램 사용으로 인하여 발생하는 모든 피해는 본인 책임입니다.

=======================================================

스트리밍 영상을 다운로드하고 싶을 때가 있습니다.

정상적으로 파일이 다운로드될 때가 있지만,

.ts 또는 .m3u8 파일로 다 쪼개져서 다운로드될 때가 있죠...

누가 쪼개는 거야... 귀찮게

 

그래서 오늘은 이런 파일을 하나로 합치는 프로그램을 배치파일로 만들어 봤습니다!

(배치파일이 궁금하시면, 여기를 누르시면 알 수 있습니다.)

바이러스는 없습니다!

안심하세요 바이러스는 실력이 부족해서

못 만듭니다...

하지만 경고가 뜰 수는 있습니다;;

디지털 서명을 안 했기 때문인데,

안 하는 게 아니라 비싸서 못 했습니다;;

(디지털 서명, 전자 서명이 궁금하신 분은 전자 서명, 디지털 서명으로)

 

파일 합성기 다운로드(압축 파일)(상업적 사용 불가능)

(개인, 회사에서 모두 사용해도 됩니다.)

파일 배포는 가능하지만 출처를 반드시 써주세요!

파일합성기.zip
0.11MB

 

일단 압축을 풀면

압축 파일 내용물

이렇게 내용물이 나옵니다.

여기서 64비트인 사람은 x64, 32비트인 사람은 x32를 쓰시면 됩니다.

자신의 컴퓨터 구분 방법은 구글링... 포스터가 길어질 것 같아서

 

=========================|사용법|=========================

합칠 파일을 file 폴더에 넣고 프로그램 실행하면 됩니다!

=======================================================

이게 설명인가...

=======================|프로그램 내부|=======================

처음 실행 화면입니다 여기서 무조건 읽고 다음 단계로 가면 됩니다.

.ts 파일은 1, .m3u8 파일은 2를 입력하고 엔터! 

메인 화면

저는 2를 선택했습니다.

파일이름 입력단계

여기서 이름을 입력하면 되는데,

저는 이름을 테스트로 하겠습니다!

하고 엔터를 하면...

합쳐진 모습! (예를 들어서 빈 파일로 만들어서 0KB가 뜨는데 실제로는 제대로 나옵니다;;)

이렇게 합쳐집니다!

예를 들어서 빈 파일로 만들어서 0KB가 뜨는데 실제로는 제대로 나옵니다;;

 

그냥 이렇게 해서 보관해도 되지만,

인코딩해서 다른 영상파일로 만들어도 됩니다.

저는 샤나 인코더 사용합니다.

샤나 인코더 바로가기: 링크

샤나 인코더 다운로드: 링크

 

이상입니다!

 

비공식적이지만 텍스트도 합칠 수 있습니다.

텍스트 내용이 모두 붙어서 .ts 또는 .m3u8 확장자로 나오는데,

이걸 .txt로 바꿔주면 텍스트 파일도 붙일 수 있습니다.

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

 

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

동기화! 시켜 봤습니다!

 

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

창작의 고통

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

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

새로 생성해도 동기화되어 같이 움직이는 타워.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