유니티 컴포넌트와 속성

개임개발/Unity 2022. 3. 27. 12:07

게임의 오브젝트를 제어하려면 여러 가지 정보가 필요합니다.

오브젝트의 위치, 방향, 질량, 색상등의 개별적인 값을 속성이라고하고, 서로 관련된 속성을 묶어 둔 것을 컴포넌트라

합니다.

 

1. 기본 컴포넌트

씬에 오브젝트를 설치하면 기본적으로 컴포넌트가 추가되는데, 컴포넌트의 속성은 인스펙터에서 변경합니다.

인스펙터에서 컴포넌으틔 속성을 바꾸면 즉시 씬 뷰에 반영되며, 씬 뷰에서 오브젝트에 대해

이동, 회전 등 조작을 하면 곧바로 인스펙터의 속성에 그 결과가 반영됩니다.

컴포넌트의 속성은 키보드로 숫자나 수식을 직접 입력하지만, 마우스를 이용해서 입력할 수도 있습니다.

 

 

1.1 Transform

오브젝트의 위치, 방향, 크기를 나타내는 가장 기본적인 컴포넌트로, 씬에 설치된 모든 오브젝트는 Transform

컴포넌트가 있습니다.

Transform 의 속성은 게임 화면의 원점이 기준이지만, 오브젝트가 계층적으로 구성된 경우에는 부모로부터

상대적인 값이 표시됩니다.

다음은 각 Transform 속성별 설명 입니다.

Position : 기준점으로부터의 거리

Rotation : 각 축에 대한 회전각, 시계 방향이 양(+)의 방향

 

1.2 Collider

콜라이더는 오브젝트의 충돌을 판정하기 위한 영역으로, 두 물체의 콜라이더가 서로 접촉하면 충돌 이벤트가

발생합니다.

따라서 충돌에 반응하려는 오브젝트는 반드시 콜라이더가 있어야 합니다.

콜라이더가 없는 오브젝트는 충돌이 발생하지 않으므로 물체가 이동할 때 다른 오브젝트를 뚫고 지나갑니다.

 

콜라이더는 오브젝트의 형태에 따라 Box, Sphere, Capsule, 등이 있습니다.

하나의 오브젝트가 여러개의 콜라이더를 가질 수 있으며, Component -> Physics 메뉴로 필요한 콜라이더를 추가할 수 있습니다.

 

 

1.3 Rigidbody

리지드바디는 물리엔진을 컴포넌트로 만들어둔 것으로, 중력과 마찰, 충돌 등의 판정등에 관여합니다.

물체가 충돌 반응을 일으키려면 두 물체 중 적어도 어느 하나는 리지드바디가 있어야 하며,

충돌 이벤트는 리지드바디가 있는 오브젝트에만 발생합니다.

Plane 및 Sphere 오브젝트를 하나씩 만든후에 오브젝트 속성을 아래와 같이 설정합니다.

Object Name Position Rotation Scale
Plane 바닥 0,0,0 0,0,5 1,1,1
Sphere 0,4,0 0,0,0 1,1,1

그리고 공에 Component -> Physics -> Rigidbody 메뉴를 클릭해서 공에 리지드바디를 추가하고,

게임을 다시 실행하면 중력의 영향에 의해 공이 바닥으로 추락한 후에 경사면을 따라 굴러가는 것을

확인할 수 있습니다.

 

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

https://link.coupang.com/a/lq0Ee

 

한성컴퓨터 2021 TFG 17.3

COUPANG

www.coupang.com

 

'개임개발 > Unity' 카테고리의 다른 글

유니티 오브젝트 정리 - 3  (0) 2022.04.02
유니티 오브젝트 정리 - 2  (0) 2022.03.29
유니티 오브젝트 정리 - 1  (0) 2022.03.28
[Unity] 유니티 구성요소  (0) 2022.03.20
[Unity] 유니티 설치  (2) 2022.03.05
:

[Unity] 유니티 구성요소

개임개발/Unity 2022. 3. 20. 12:43

유니티는 여러개의 탭으로 구성, 각각의 탭을 View라고 합니다.

View : 개발자가 임의의 위치로 이동할 수도 있고, 독립된 창으로 만들수도 있습니다.

Scene View : 게임을 디자인하고 게임에 필요한 각종 오브젝트와 게임의 UI를 배치하는 곳

Scene : 게임을 구성하는 각각의 화면으로, 게임은 최소한 한 개 이상의 씬으로 구성.

Scene Mene : 씬 뷰에 설치된 게임 오브젝트를 그리는 방법과, 씬 뷰를 렌더링 하는 방법, 조명에 영향을 받는 

오브젝트 등을 표시하기 위해 사용.

 

보통 2 By 3 Layout를 가장 많이 사용하고, 다섯개의 View가 모두 보이는 형식입니다.

 

유니티의 구조는 

1. Title Bar

2. Toolbar

3. Scene

4. Game

5. Hierarchy

6. Project

7. Inspector

8. Status Bar 로 구성되어 있습니다.

 

Title Bar에는 씬과 프로젝트 이름 등이 표시됩니다.

 

Toolbar는 일곱개의 항목으로 구성되어 있습니다.

1. 변환툴 : 씬 뷰에서 오브젝트의 제어에 사용

2. 토글버튼 : 씬 뷰의 표시 형식을 설정

3. 실행버튼 : 실행/종료, 단계별 실행

4. 클라우드 : 유니티 클라우드 서비스 도구

5. 어카운트 : 유니티 계정 관리

6. 레이어 : 오브젝트의 레이어 설정 및 레이어 만들때 사용

7. 레이아웃 : 뷰의 레이아웃을 설정

 

GameView

실제 게임이 실행되는 곳.

씬 뷰에 오브젝트의 스케일 단위로 표시되는 UI는 게임 화면의 해상도에 맞게 자동으로 조절됨

 

Hierarchy

하이어라키는 씬 뷰에 있는 모든 게임 오브젝트를 계층적으로 관리하는 곳입니다.

새로운 오브제그를 추가하거나 삭제 및 복사할 수 있으며, 임의의 오브젝트를 다른 오브젝트의 하위 아이템으로 설정할 수 있습니다.

씬에 설치되어 있지만 비활성화된 오브젝트는 흐린색으로 표시되며, 게임 실행중에 화면에 표시되지 않습니다.

 

 

Project Browser

게임 제작에 필요한 각종 그래픽 리소스, 오디오, 스크립트 등을 통칭해서 애셋이라고 하는데, 프로젝트 브라우저는

Windows의 탐색기와 동기화되어 애셋을 관리하는 곳입니다.

따라서 프로젝트에 새로운 애셋을 추가/삭제/복사하는 등의 작업은 Windows의 탐색기에서 할 수도 있고,

프로젝트 브라우저에서 할 수도 있습니다.

 

 

Inspector

인스펙터는 프로젝트 브라우저나 씬, 하이어라키에서 선택한 애셋이나 오브젝트에 대한 속성을 설정하는 곳,

오브젝트의 속성은 컴포넌트 단위로 표시됩니다.

다음 그림에서 굵은 문자로 표시된 것이 컴포넌트입니다.

 

StatusBaar

유니티의 각종 에러메시지와 디버깅을 위한 로그 문자열이 표시됩니다.

StatusBar에 표시된 문자열을 클릭하면 유니티의 콘솔창이 나타납니다.

 

'개임개발 > Unity' 카테고리의 다른 글

유니티 오브젝트 정리 - 3  (0) 2022.04.02
유니티 오브젝트 정리 - 2  (0) 2022.03.29
유니티 오브젝트 정리 - 1  (0) 2022.03.28
유니티 컴포넌트와 속성  (0) 2022.03.27
[Unity] 유니티 설치  (2) 2022.03.05
:

[Unity] 유니티 설치

개임개발/Unity 2022. 3. 5. 11:18

 

 

1. 유니티 공식홈페이지 접속

https://unity.com/kr/download

 

다운로드

지금 Unity를 다운로드하고 전 세계적으로 가장 큰 인기를 누리는 2D/3D 멀티플랫폼 경험 및 게임 제작용 개발 플랫폼을 사용하세요.

unity.com

 

 

2. 공식홈페이지 접속후 "시작하기" 버튼 클릭

 

 

3. 기업용 버전은 유료이기 때문에 개인용버전 Personal 버전 다운로드

 

 

4. 클릭한 후에 윈도우 다운로드 버튼 클릭

 

 

5. 내려받은 후에 유니티 설치

 

 

 

6. 설치한 후에 스크립트 편집을 위해서 비주얼 스튜디오를 함께 설치

 

 

7. 설치한 후에 프로젝트 생성 버튼 클릭

 

 

'개임개발 > Unity' 카테고리의 다른 글

유니티 오브젝트 정리 - 3  (0) 2022.04.02
유니티 오브젝트 정리 - 2  (0) 2022.03.29
유니티 오브젝트 정리 - 1  (0) 2022.03.28
유니티 컴포넌트와 속성  (0) 2022.03.27
[Unity] 유니티 구성요소  (0) 2022.03.20
:

Spring Boot Batch 구조

Back-End/Spring boot Batch 2021. 1. 17. 11:27

Spring Boot Batch 의 장점


1. 대용량 데이터 처리에 최적화


2. 수동처리하지 않아도 되도록 자동화


3. 예외사항과 비정상 동작에 대한 방어기능


4. 반복적인 작업 프로세스를 이해하면 비지니스 로직에 집중 가능




Spring Boot Batch 사용시 주의 사항


1. 최대한 단순화해서 복잡한 구조와 로직을 피해야 함


2. 스프링 부트는 배치 스케쥴러를 제공하지 않아서, 스케쥴링 기능은 스프링에서 제공하는 쿼치 프레임워크 등을 이용해야 합니다.




Spring Boot Batch 구조


일반적으로 읽기, 처리, 쓰기의 3단계로 이루어져 있습니다.


 

  1. 읽기 (read) : 데이터 저장소 (일반적으로 데이터베이스) 에서 특정 데이터 레코드를 읽습니다.


  2. 처리 (processing) : 원하는 방식으로 데이터를 가공/처리 합니다.


  3. 쓰기 (write) : 수정된 데이터를 다시 저장소 (데이터베이스)에 저장 합니다.



처리 단계는 읽기 -> 처리 -> 쓰기의 순서로 이루어져 있습니다.



이것을 그림으로 도식화하면 아래와 같습니다.


- JOB -


JOB는 배치 처리 과정을 하나의 단위로 만들어 표현학 객체이고, 전체 배치 처리에 있어서 최상단 계층에 위치해 있습니다.


위에서 하나의 Job안에는 여러 Step가 있고, 스프링 배치에서 Job 객체는 여러 Step 인스턴스를 포함하는 컨테이너 입니다.


Job 객체를 만드는 빌더는 여러개가 있는데, 여러 빌더를 통합하여 처리하는 공장인


JobBuilderFactory로 원하는 Job를 쉽게 만들수 있습니다.





 

  - ItemReader -


  Step의 대상이 되는 배치 데이터를 읽어오는 인터페이스 입니다.


  File, Xml Db등 여러 타입의 데이터를 읽어올 수 있습니다.




  - ItemProcessor -


  ItemProcess는 ItemReader로 읽어 온 배치 데이터를 변환하는 역할을 수행합니다.


  이것을 분리하는 이유는 다음과 같습니다.


  비즈니스 로직의 분리 - ItemWriter은 저장역할을 수행하고, ItemProcessor은 로직 처리만 수행해 역할을 분리해서 읽어온 배치 데이터와 

  

  쓰여질   데이터의  타입이 다를경우에 대응할 수 있게 하기 위함




 - ItemWriter -


  배치 데이터를 저장


  일반적으로 DB나 파일에 저장합니다.


  제네릭으로 원하는 타입을 받고 writer() 메서드는 List를 사용해서 저장한 타입의 리스트를 매개변수로 받습니다.





- JobInstance -


JobInstance는 배치 처리에서 Job가 실행될때 하나의 Job의 실행 단위 입니다.


만약 하루에 한번씩 배치 Job가 실행된다면 어제와 오늘 실행된 Job를 JobInstance라고 부를 수 있습니다.


각각의 JobInstance는 하나의 JobExecution을 갖는 것은 아니고, 오늘 Job를 실행했지만 실패했다면 다음날 동일한 JobInstance를 가지고 또 실행합니다.


그 이유는 Job 실행이 실패하면 JobInstance가 끝난것으로 간주하지 않기 때문입니다.


또한 그러한 이유로 JobInstance는 어제 실패한 JobExecution과 오늘 성공한 JobExecution 두가지를 갖게 됩니다.


즉 JobExecution은 여러개 가질 수 있다는 뜻입니다.




- JobExecution -


JobExecution은 JobInstance에 대한 한 번의 실행을 나타내는 객체입니다.


또한 JobExecution 인터페이스를 보면 Job 실행에 대한 정보를 담고 있는 도메인 객체가 있고,


JobExecution은 JobInstance, 배치 실행상태, 시작 시간, 끝난 시간, 실패했을 때 메시지 등의 정보를 담고 있습니다.




- JobParameters -


JobParameters는 Job가 실행될때 필요한 파라미터들을 Map 타입으로 지정하는 객체 입니다.


JobParameters는 JobInstance를 구분하는 기준이 되기도 합니다.


JobParameters와 JobInstance는 1 : 1 관계 입니다.




-Step-


Step는 실질적인 배치 처리를 정의하고, 제어 하는데 필요한 모든 정보가 있는 도메인 객체 입니다.


Job를 처리하는 실질적인 단위로 쓰입니다.


모든 Job에는 1개 이상의 Step가 있어야 합니다.




-StepExecution-


Job에 JobExecution Job 실행 정보가 있다면 Step에는 StepExecution 이라는 Step 실행 정보를 담는 객체가 있습니다.




-JobRepository-


JobRepository는 배치 처리 정보를 담고 있는 저장소 입니다.


어떤 Job가 실행되었느면 몇 번 실행되었고 언제 끝났는지 등 배치 처리에 대한 메타데이터를 저장합니다.


예를 들어 Job 하나가 실행되면 JobRepository에서는 배치 실행에 관련된 정보를 담고 있는 도메인 JobExecution을 생성합니다.





출처


https://cheese10yun.github.io/spring-batch-basic/

:

토비의 스프링 1-1 (간단한 DAO 만들기)

Back-End/Spring 2020. 12. 22. 05:00


사용자 정보를 JDBC API를 통해 DB에 저장하고 조회할 수 있는 DAO 만들기



 

 - DAO -


 DAO (Data Access Object) 는 DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트를 말한다. 




User 클래스 만들기 (사용자 정보 - id, name, password를 저장한 클래스)



 

 package springbook.user.domain;


 public class User {

String id;

String name;

String password;


public String getId() {

return id;

}


public void setId(String id) {

this.id = id;

}


public String getName() {

return name;

}


public void setName(String name){

this.name = name;

}


public String getPassword() {

return password;

}


public void setPassword(String password) {

this.password = password;

}

  }




User 정보가 담길 테이블을 생성


 

  create table users (

id varchar(10) primary key,

name varchar(20) not null,

password varchar(10) not null

  )





 

  자바빈


 자바빈은 원래 비주얼 툴에서 조작 가능한 컴포넌트를 말합니다. 


 자바의 주력 개발 플랫폼이 웹 기반의 엔터프라이즈 방식으로 바뀌면서 비주얼 컴포넌트로서 자바빈은 인기를 잃어 갔지만,


 자바빈의 몇 가지 코딩 관례는 JSP 빈, EJB와 같은 표준 기술과 자바빈 스타일의 오브젝트를 사용하는 오픈소스 기술을 통해 계속 이어져 왔다.


 디폴트 생성자 : 자바빈은 파라미터가 없는 디폴트 생성자를 가지고 있어야 한다.


 프로퍼티 : 자바빈이 노출하는 이름을 가진 속성을 프로퍼티라고 한다. 프로퍼티는 set로 시작하는 수정자 메소드 (setter) 와 get로 시작하는

               get으로 시작하는 접근자 메소드 (getter) 를 이용해 수정 또는 조회할 수 있다.




JDBC를 이용하는 작업의 일반적인 순서. (DB 연결)


1. DB연결을 위한 Connection을 가져옵니다.


2. SQL을 담은 Statement를 만듭니다.


3. 만들어진 Statement를 실행합니다.


4. 조회의 경우 SQL 쿼리의 실행 결과를 ResultSet로 받아서 정보를 저장할 오브젝트에 옮겨줍니다.


5. 작업중에 생성된 Connection, Statement, ResultSet 같은 리소스는 작업을 마친 후 반드시 닫아줍니다.


6. JDBC API가 만들어내는 예외 (exception) 를 잡아서 직접 처리하거나, 메소드에 throws를 선언해서 예외가 발생하면 

메소드 밖으로 던지게 합니다.




-계속-

:

이클립스 톰캣 관련 에러 (The Tomcat server configuration at ........)

Back-End/Problems 2020. 12. 15. 06:30


에러 내용 : The Tomcat server configuration at ..... localhost-config is missing Check the server for errors.


- 해결방법 -


이클립스 실행후 하단에 있는 Server -> Tomcatv9.0 Server at localhost 오른쪽 마우스 클릭 -> delete -> 이클립스 재실행 -> tomcat 다시 추가



:

A javascript error occurred in the main process 해결

Front-End/Problem 2020. 12. 13. 20:52

 

아래와 같은 에러가 간혹 발생하신분들이 계실겁니다.

 

 

 

 

이 에러는 javascript와 타 프로그램이 충돌했기때문에 발생하는 에러이구요.

 

해결방법은 간단합니다.

 

 

1. 작업관리자 창 열기 (ctrl + alt + del) 키를 눌러서 프로세스쪽에 실행되고 있는 디스코드 종료 

 

 

 

 

2.  컴퓨터 부팅시 자동으로 디스코드가 실행되게 되어있으면 이것도 off로 바꿉니다.

 

 

 

3. 윈도우 + R 키를 누르고 "%AppData%" 를 검색 한 후에 디스코드 폴더를 찾아서 삭제

 

 

 

 

4. 다시 윈도우 + R 키를 누르고 이번에는 "%LocalAppData%" 를 검색 한 후에 디스코드 폴더를 찾아서 삭제

 

 

 

 

5. 마지막으로 재부팅까지 하시면 됩니다.

 

 

 

출처

http://blog.naver.com/ppclub86/221770321763

 

 

 

아래 책은 제가 공부할때 활용했던 책으로 추천드리는 책이니 한번씩 읽어보시는것을 추천드립니다!! ㅎㅎ

토비의 스프링 3.1 세트:스프링의 이해와 원리 + 스프링의 기술과, 에이콘출판

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

:

APP 개발 - 2 (안드로이드 스튜디오 프로젝트 셋팅)

APP 개발 2020. 12. 7. 06:00


1. 새로운 프로젝트 만들기


1-1. 아래와 같이 Create New Project 클릭





1-1. 일단 샘플 프로젝트이기 때문에 아무것도 없는 빈프로젝트 Empty Activity 선택하고 Next





1-2. 기본언어는 Java로 선택하고 Finish 클릭





1-3. Finish를 누르시고 아래 그림처럼 나오시면 프로젝트 생성이 성공한것입니다.





2. 프로젝트 관련 설정 셋팅


2-1. 아래 그림처럼 SDK Manager 아이콘을 클릭





2-2 





2-3. 아래 그림 처럼 Tools < AVD Manager 버튼을 클릭





2-4. 새로운 가상디바이스를 만들어야 하기 때문에 Create Virtual Device버튼을 클릭





2-5. 가상디바이스를 만들 기기를 선택하고 Next버튼 클릭





2-6. Android11.0을 설치했기때문에 그 버전을 선택하고 Next버튼 클릭 





2-7. 설정을 하기 위해 Show Advanced Settings 버튼을 클릭





2-8. 저같은 경우는 카메라 기능을 쓰지 않을거기 때문에 둘 다 None로 설정





2-9. 아래 그림처럼 Actions에서 ▶버튼을 누르면 가상 디바이스가 실행됩니다.





2-10. 아래 그림 처럼 가상 디바이스가 실행되면 성공





2-11. 다음으로 File < Settings 버튼을 클릭





2-11. 2번 그림에 있는것처럼 체크가 안되어있는 부분에는 전부다 체크를 합니다. (복붙할시에 자동 import가 되는 기능)


모두 체크후에 Apply 버튼을 누르고, OK 버튼을 누르면 적용이 모두다 끝납니다.








출처

https://m.blog.naver.com/pyj721aa/221275562630





'APP 개발' 카테고리의 다른 글

APP 개발 - 1 (JDK 및 안드로이드 스튜디오 설치)  (0) 2020.12.06
: