Roll a Ball 게임2 움직이기


공을 굴려 수집 할 수 있는 게임 오브젝트와 충돌시 게임오브젝트를 획득하기 위해서는 물리효과가 필요합니다.


1. Rigidbody 컴포넌트를 첨부


컴포넌트를 첨부할 Player오브젝트를 선택 후 다음과 같이 설정합니다.









2. 상황 대응의 기어 메뉴를 이용. 게임오브젝트 컴포넌트


Move Up, Down 성능에는 영향을 끼치지 않지만 프로젝트와 계층을 짜임새 있게 유지한다.

게임 오브젝트 컴포넌트 순서의 일관성을 지키는것이 개발 속도를 높히는데 유용하다.





3. 플레이어 오브젝트가 조종을 하면 움직이게 하기위한 과정


스크립트 폴더를 만들어 줍니다.




c# script를 만드는 방법




하지만 player -> add Component -> New Script 

스크립트 생성과 첨부를 한번에 수행이 가능하다.




PlayerController 명의 script를 만들어 줍시다.








아까 생성한 Script안에 playerController 파일을 넣어 줍시다

.



스크립트로 생성 및 컴파일을 첨부 



이와 같이 PlayerController 를 누르면 옆에 코드가 뜨는데 이 코드는 읽을수만 있고 수정은 불가능 합니다.




이제  스크립트 창을 열어 코드를 직접 작성하러 가봅시다!!!







Roll a Ball  게임 환경 구축




https://unity3d.com/kr/learn/tutorials/s/roll-ball-tutorial

(참고)

1. 새로운 프로젝트를 만들어 줍시다.






다음과 같이 설정




2. 씬을 저장 합니다





3. 게임보드, 플레이 필드를 만들어 줍니다.




4. Ground 로 Rename 해줍니다.




5. 설정키를 눌러 Reset해줍시다




(0,0,0)에 위치하게 되는데  이때의 위치는 

이 세계의 원점이자 모든 좌표의 기준이 됩니다.






6. 씬뷰에서 전체 오브젝트가 보이게 합시다.






이방법을 사용하거나 씬보기 커서로 F 클릭을 하면 전체 화면이 됩니다.



7. 필드 조절


필드를 잡고 드래그 하거나 숫자 직접입력하면 필드가 늘어났다 줄어들었다 합니다.

plane은 부피가 없기 때문에 y축은 아무리 잡아 당겨도 음수값이 아닌 이상 아무것도 바뀌지 않습니다.

일반적인 y값은 1입니다.



그리고 Gizmos를 눌러 ShowGrid를 선택하면 선이 사라집니다.



8.플레이어 오브젝트를 생성 합니다



생성후 Player로 Rename 해주세요!

설정에서 리셋으로 다시 원점으로 보내 줍니다.






 씬뷰+F로 포커스를 맞춰줍니다.


공이 Ground 랑 좌표가 같기 때문에 파묻혀 있습니다.

Player의 y축을 잡아 당겨 공을 올려 줍시다.





유니티의 기본 오브젝트는 Cube, Sphere, Capsule의

표준크기인 1*1*1 또는 1*2*1 유니티 단위

오브젝트를 y축을 기준으로 1/2만큼만 올려주면

완벽하게  plane 위에 놓이게 됩니다.



유니티에서는 기본 조명은 설정해주기 때문에 그림자나 조명은 신경쓰실 필요가 없습니다.




9. 배경에 색상을 추가해서 플러에이어와 플래이 필드 사이에 대비가 생기도록 

생상이나 텍스쳐 모델에 추가하려면 멀티리얼을 사용해야합니다.







폴더를 만들어주고 Material 로 이름을 지어줍니다.







다시 create로 가서 Material을 클릭하면 아래와같이나옵니다




Background 로 Rename해주세요.


10.색상을 넣어봅시다.





드래그 해주세요



11.조명설정











기본 환경구축 끝!!!












HAVING 조건


SELECT 절에 조건을 사용하여 결과를 제한할 때는 WHERE 절을 사용하지만 

그룹의 결과를 제한할 때는 HAVING절을 사용한다.



직급별로 그룹을 지은후, 직급별 평균 벌금이 10000원 이상인 결과를 표시한다.





직급별 지각 횟수를 최대값과 최소값으로 구하되 0번 이상 지각한 횟수만 출력.


GROUP BY 절


특정 칼럼 값을 기준으로 테이블을 그룹별로 나누기 위해 GROUP BY 절을 사용합니다..


형식

select  칼럼명, 그룹함수

from 테이블명

where 조건(연산자)

group by 칼럼명;



요정들을 rank그룹으로 나누어 벌금을 낸 직급마다 총합과 평균을 만들어 보았습니다.



이번에는 직급마다 최소 급액과 최대금액을 GROUP BY 절을 만들어 사용했습니다.



그룹함수에 대해 알아보자


  • SUM : 누적 합계를 반환한다.

  • AVG : 그룹의 평균을 반환한다.

  • MAX :그룹의 최댓값을 반환한다.

  • MIN : 그룹의 최솟값을 반환한다.

  • COUNT : 그룹의 총 개수를 반환한다.


요정들의 지각 횟수와 직급, 지각비를 모아둔 테이블입니다.

SUM함수
-SUM 함수는 해당 칼럼 값들에 대한 총 합을 구하는 함수이다.
 이때 해당 칼럼 값이 NULL인 것은 제외하고 계산한다.





AVG함수


-AVG함수는 해당 칼럼 값들에 대한 평균을 구하는 함수이다.

 이때 해당 칼럼 값이 NULL인 것은 제외하고 계산한다.





최댓값을 구하는 MAX, 최솟값을 구하는 MIN함수

-지정한 칼럼 값들 중에서 최댓값을 구하는 함수가 MAX이고, 최솟값을 구하는 함수가 MIN이다.





ROW 개수를 구하는 COUNT 함수


COUNT 함수는 테이블에서 조건을 만족하는 행의 개수를 반환하는 함수이다.

COUNT 함수에 특정 칼럼을 기술하면 해당 칼럼 값을 갖고 있는 ROW의 개수를 계산하여 되돌린다.


다음은 지각을 해본사람의 수를 구하는 예제 입니다.


COUNT함수는 NULL값에 대해 개수를 세지 않는다. 만일 카운트 함수에 COUNT(*) 처럼 *를 적용하면

테이블의 전체 로우 수를 구하게 된다.







+ Recent posts