XBOX-GAME_CAMP_01

5595 단어 xboxgame campUnityCC

Lecture #1

Design Patterns & Games Organizing code for Re-Usability


Royalty Free Art

https://opengameart.org/

https://assetstore.unity.com/?free=true&orderBy=1

Music and sound effects

https://freesound.org/

https://www.zapsplat.com/

https://www.reddit.com/r/SFXLibraries/comments/9b09m8/mycompilationoffreesfxlibrary/


Asset Packs 사는것도 좋은 선택이다.


01. NameSpace

네임 스페이스 예시

//namespaces
#include <iostream>
using namespace std;
//모든 코드 형태의 네임스페이스가 접근 가능한 이파일에 들어있다.

namespace first //새로운 네임스페이스
{
	int var = 5; 
}

namespace second
{
	double var = 3.1416;
}
int main (){
	cout << first::var << end1; //다양성
    cout << second::var << end1;
    return 0;
}

Unityh C# 스크립트는 글로벌 네임스페이스에 속해있다
MonoBehavioir

Assets 안의

Art, Audio, Design, Scenes, Scripts

Scripts 폴더 안

CharacterControll, Combat, Core, Movement

하나의 네임 스페이스 (글로벌 네임 스페이스)
유니티의 기본 스크립트

NameSpace 정리

Shoter.Movement라는 namespace를 새로 만들었다.
어떤 것이라도 이 특정한 네임스페이스 아래서는 이 네임스페이스 안에 있는 다른 아이템을 위해서 통제당한다 그리고 이 외의 공간에서 무엇을 접근하게 할 것인지 명확하게 해야한다.


02. Update Pattern

유니티의 모든 객체는 한 프레임 마다 각 개체를 업데이트한다.

using UnityEngine;

public class Movement : Monobehaviour //UnityEngine 네임스페이스 안에
{
    void Start()
    {
    	
    }
    
    void Update()
    {
    
    }
}

유니티에서 스크립트 생성시

Start 함수와 (씬 시작시 최초로 실행)
Update함수가 기본으로 생성되어 있다 (매 프레임마다 실행되며 업데이트)

Update()

  • Called every frame

FixedUpdate()

  • Farame-rate independent message for physics calculations

LateUpdate()

  • Called every frame after all other Update() have been called

이 세가지를 적절하게 사용해야 해

Sequencing Functions - in extension (example)

  • Start()
  • OnGUI()
  • OnEnable()

03. Commend Pattern

요청을 객체로 캡슐화하면 유저들이 다른 요청으로 클라이언트들을 조종하도록 하는 것, 로그 요청을 순서대로 정리하고 불가능한 조작을 돕도록 내버려둠

어떤 컨셉을 데이터 조각으로 나누어 변수에 붙이거나 함수 등에 전달할 수 있는 객체가 있다 function pointer deligate callback 에 익수하다면 이건 필수적인 것이다.

다른 객체에 전달한 코드가 있다는 것을 의미

버튼 매핑을 예로 들 수 있다.

W키를 누르고 있다면 해당 액션 수행 다음 동작을 수행하면 연결되는 것


04. Entity Component Pattern (ECS)

구성 요소 패턴

https://mrbinggrae.tistory.com/223 (참고)


05. Prototype Pattern

좋은 웹페이지 즐겨찾기