Dream Beginners 과정 진행상황

 

오늘의 진행 내역 

How to use

1 Wargame

-워게임에 대한 설명이였다. 

워게임의 카테고리는 포너블(pwnable, system hacking), 웹(web), 리버스 엔지니어링(reversing), 암호학(crypto), 포렌식(forensic)이 있는데 DreamHack에서의 커리큘럼을 봤을 때,

보안에서 나눠진 대로 워게임도 나눠진 듯함 

https://dreamhack.io/wargame/challenges/812

 

Exercise: Welcome-Beginners

Description Wargame 실습을 위한 문제입니다. "Dreamhack"을 입력하여 플래그를 획득하세요! 플래그의 형식은 DH{...} 입니다.

dreamhack.io

문제풀이에 대한 예시

 

2 Lecture

- 사이트에서 들을 수 있는 강의들에 대한 정보

3 Community

- 사이트의 커뮤니티와 공식 디스코드에 대한 안내 

링크를 통해 공식 디스코드에 참여했다.

4 CTF

- Capture The Flag의 약자. 지금 계획하고 있는 커리큘럼이 끝나고 워게임에 익숙해졌을 때, CTF에 한번 참여해보는게 목표이다 

 

Environment Setup

 

1. Virtual Machine

- Virtual Box를 이용하여 Ubuntu와 Windows10 가상 환경을 만들어봄 

 

 

DH101

1. 컴퓨터 과학 기초

-  바로 해킹에 대한 공부가 아닌 기본적으로 정리하고 넘어가야 할 것들에 대한 설명이 있다 
진법, 비트와 바이트 , 비트 연산 , 인코딩 , 디코딩 , 운영체제

2. 리눅스 사용법 

- 기초적인 명령어에 대한 정리 

열기 , 닫기와 같은 모르면 리눅스를 사용할 수 없는 명령어들을 요약해줬다

3. 코딩

- VS code에 대한 설명과 설치 방법 뒤에는 C로 간단한 코드를 작성하여 컴파일 한다

- Vim에 대한 설명도 있음

4. System Hacking , Reverse Engineering , Web Hacking , CrytoGgraphy 101

- 처음 입문하는 나같은 사람이라면 어떤 걸 할지 정할 때 이 코스에서 각 분야의 설명을 보고 진입하는 것을 추천함.

- System Hacking을 하려고 했었는데 글을 읽고 나니 다시 생각하게 됨

Tips

1.NC

2.SSH

3.Docker

4.정규 표현식 (regex)

5.구글링

6.Markdown

7.Tools

Custom Editor

스크립트가 기능을 하는지 확인하기 위해 
void Start(), Update()나 상호작용을 통해 스크립트를 실행하여 확인했습니다.


크게 불편하지 않았지만 이번에 맵 오브젝트를 생성하며  0.8 X 0.8의 타일을 수작업으로 생성하다가 
20개를 만들 때, 이건 아니다 싶어 유니티의 기능을 찾아보고 정리하게 되었습니다.

 

 

여기서도 예시로 타일 설치로 해보겠습니다.

1.스크립트 준비 

우선 타일을 자동 생성하는 스크립트를 작성합니다. ( ObjectPlacer.cs )

 

using UnityEngine;

public class ObjectPlacer : MonoBehaviour
{
    public GameObject objectToPlace; // 배치할 오브젝트의 프리팹
    public int numberOfObjects = 10; // 생성할 오브젝트 수
    public float spacing = 0.8f; // 오브젝트 간의 간격

    // 이 메서드를 호출하여 오브젝트 배치 시작
    public void PlaceObjects()
    {
        // spacing 간격으로 세로 추가
        for (int i = 0; i < numberOfObjects; i++)
        {
            // 새 오브젝트의 위치 계산
            Vector3 position = new Vector3(0, i * spacing, 0);

            // 오브젝트 인스턴스화 및 배치
            GameObject newObject = Instantiate(objectToPlace, position, Quaternion.identity);
            newObject.transform.parent = this.transform; 
        }
    }
}

 

2. 스크립트 할당

 

 

스크립트를 배치하고자 하는 오브젝트(예: 빈 게임 오브젝트)에 할당합니다.

그 다음 인스펙터에서 Object To Place 필드에 배치할 오브젝트의 프리팹을 드래그합니다.

 

3.커스텀 에디터 스크립트 사용하기

Unity 에디터에서 Assets/Editor 폴더 내에 새 C# 스크립트를 생성합니다. 폴더가 없다면 만들어주세요. 스크립트의 이름을 ObjectPlacerEditor.cs 같은 것으로 지정합니다.

 

아래의 커스텀 에디터 스크립트 코드를 ObjectPlacerEditor.cs 파일에 복사합니다.

 

 

using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(ObjectPlacer))]
public class ObjectPlacerEditor : Editor
{
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector(); // 기본 인스펙터 UI를 그리기

        ObjectPlacer script = (ObjectPlacer)target; // 현재 인스펙터의 대상 스크립트를 가져옴

        // 버튼 UI 추가
        if (GUILayout.Button("Place Objects"))
        {
            script.PlaceObjects(); // 버튼 클릭 시 PlaceObjects 메서드 실행
        }
    }
}

 

 

이 스크립트는 ObjectPlacer 타입의 오브젝트에 대해 커스텀 인스펙터를 생성하고, "Place Objects"라는 버튼을 인스펙터에 추가합니다. 이 버튼을 클릭하면 PlaceObjects 메서드가 실행됩니다. 

 

4. 실행하기

 

이제 유니티로 돌아가서 ObjectPlacer.cs를 컴포넌트로 가지고 있던 오브젝트를 클릭해 봅시다.

 

Place Objects 버튼이 추가되었다.

Place Objects 버튼을 누르면 ObjectPlacer.cs의 PlaceObjects 함수가 실행되는 것을 확인해 보겠습니다.

 

 

이상으로 간단한 커스텀에디터 사용법을 마무리하겠습니다!

'Unity > 공부' 카테고리의 다른 글

[Unity] Text Mesh Pro 한글 폰트 사용하기  (0) 2024.03.04
[Unity] 폴리 브러쉬(Polybrush)  (1) 2023.11.21

유니티를 실행하고 UI - Text를 생성하고 한글을 넣으면 바로 ㅁㅁㅁ로 나와서 처음 사용할 때 
당황하는 사람들이 많아서 간단하게 사용 방법을 정리했습니다.

 

새로운 프로젝트에서 한글을 사용한 경우

 

1. 폰트 다운로드 받기 

 

아무 폰트나 다운받게 되면 문제가 생길 수 있으니 배포하는 폰트의 약관을 잘 읽어보고 사용해야 합니다.
메이플스토리 폰트는 규정을 준수한다면  모두가 사용할 수 있게 열려있으니 ,  사용 조건 및 지적 재산권을 한번 읽어보시고 사용하시면 됩니다 

 

https://maplestory.nexon.com/Media/Font

 

서체 | 미디어 | 메이플스토리

 

maplestory.nexon.com

 

 

 

저는 윈도우를 사용하니 TTF 윈도우용을 다운로드 받겠습니다.

 

 

 

다운로드 완료 후 프로젝트 내에 넣어주시면 다음과 같이 로드됩니다.

 

 

2. 폰트 적용하기 

 

유니티 상단의 메뉴바에서 Window - Text Mesh Pro - Font Asset Creator를 열어줍니다.

 

 

 

사용하실 폰트를 선택하고 파란색으로 표시된 Save를 눌러주면 유니티에서 사용 가능한 형태로 폰트가 생성됩니다.

 

1. 생성된 폰트를 클릭한 뒤 Inspector 탭에서 Atlas Population Mode를 Static에서 Dynamic으로 변경해줍니다 .

2. Sampling Point Size 는 60정도로 설정해줍니다.

 

폰트 변경 후 Scene 뷰에서 적용 확인 

 

한글이 깨지는 UI로 가서 Font Asset을 생성했던 폰트로 바꿔주면 바로 적용 된 것을 확인 가능합니다!

 

'Unity > 공부' 카테고리의 다른 글

[Unity] CustomEditor 에디터에서 스크립트 실행하기  (0) 2024.03.05
[Unity] 폴리 브러쉬(Polybrush)  (1) 2023.11.21

+ Recent posts