[Unity Tutorial Roll-a-ball 02] Moving the Player

1. 플레이어 오브젝트에 물리 엔진 추가

Inspector -> Add Component -> Physisc -> Rigidbody

2. 플레이어 이동 컨트롤 스크립트 생성

Project -> Create -> Folder -> 폴더 Scripts로 이름 변경

Player 오브젝트 선택 -> Inspector -> Add Component -> New Script -> Name : PlayerController -> Create and Add

Project에 생성된 PlayerController 스크립터를 Scripts 폴더에 드래그하여 넣는다.

3. 플레이어 이동 컨트롤 스크립트 PlayerController 소스 코드 수정

Project -> PlayerController 선택 -> Inspector -> Open

 

public class PlayerController : MonoBehaviour {

    // 에디터 안 Inspector에서 편집 가능한 속도 조정 변수 생성
    public float speed;
    // Rigidbody 형태의 변수 생성
    private Rigidbody rb;

    // 스크립트가 활성화된 첫 프레임에 호출
    void Start()
    {
        // 현재 오브젝트의 Rigidbody를 참조
        rb = GetComponent<Rigidbody>();
    }

    // 프레임을 렌더링 하기 전에 호출
    void Update()
    {

    }

    // 물리효과 계산을 수행하기 전에 호출
    void FixedUpdate()
    {
        // 키보드의 키로 컨트롤하는 수평 축의 입력 (left, right)
        float moveHorizontal = Input.GetAxis("Horizontal");
        // 키보드의 키로 컨트롤하는 수직 축의 입력 (up, down)
        float moveVertical = Input.GetAxis("Vertical");

        // 플레이어의 이동량을 선언 (x축, y축, z축)
        Vector3 movemnet = new Vector3(moveHorizontal, 0, moveVertical);
        // 플레이어의 Rigidbody에서 movement 값만큼 힘을 가해서 이동시킴
        rb.AddForce(movemnet * speed);
    }

수정한 소스 코드를 저장 -> Player 선택 -> Inspector -> PlayerController (Script) -> Speed 값을 입력

4. 프로젝트 빌드 및 실행

상단의 중앙에 위치한 플레이 버튼을 클릭하여 프로젝트를 실행한다.

아래의 게임 화면에서 키보드 조작으로 공을 움직일 수 있다.

 플레이어 이동

 키보드 입력

 키보드 방향키

 앞 

 W

 S

왼쪽

 A

오른쪽

 D

 

 

- Reference

[Moving the Player] https://unity3d.com/kr/learn/tutorials/projects/roll-ball-tutorial/moving-player?playlist=17141

[Unity Input ] https://docs.unity3d.com/ScriptReference/Input.html

[Unity Input GetAxis ] https://docs.unity3d.com/ScriptReference/Input.GetAxis.html

[Unity Rigidbody ] https://docs.unity3d.com/ScriptReference/Rigidbody.html

[Unity Rigidbody AddForce ] https://docs.unity3d.com/ScriptReference/Rigidbody.AddForce.html

동생과 둘이서 저녁 외식으로 해산물이 땡겨서 동네에서 자주 가는 빛나는 바다 횟집을 찾았다.

​​​​
석계역 5번 출구에서 5분 정도 걸어오면 볼 수 있는 석관동 맛집 중심부에 위치해 찾는데는 어려움을 겪을 일은 없다.


광어 우럭 숭어 모둠 회를 시키자 메인 요리전 푸짐한 서브 요리로 차려진다. 이걸 다 먹어갈때 쯤 회가 나오는데 벌써 배가 불러온다.


이 집 회의 특징은 두툼한 살이다. 다른 횟집에서 맛볼 수 없는 회 씹는 맛을 느낄 수 있다.


추가로 나온 만두 김말이 서비스도 맛있었다.

좋은 위치에 좋은 서비스로 항상 사람이 북적이는 곳이다.

행복은 스스로 정하는 것, 스스로 얻는 것, 스스로 만끽하는 것.


幸せは自分で決めるもの、自分で得るもの、自分で満喫するもの。

'Private > Diary' 카테고리의 다른 글

2017.07.29_ 하고 싶은 것은 많은데  (0) 2017.06.29
2017.02.07 - 사생활 블로그  (0) 2017.02.08
2017.02.06 - 생일 파티 회식  (0) 2017.02.06
2017.02.05 - 칼리스데닉스  (0) 2017.02.06
2017.02.04 - 후시기나 오나카  (0) 2017.02.05

하고 싶은 것은 많은데

어느 하나 하지 않으니

하고 싶은 것이 많다.


やりたい事はたくさんなのに

何一つ手を出さないから

やりたい事がたくさんだ。




[Unity Tutorial Roll-a-ball 01] Creating a new project and Setting up the Game

1. 새 프로젝트 생성

2. 새로운 게임 씬 저장

File -> Save Scenes -> Assets 폴더에 _Scene 폴더 생성 -> MiniGame 저장

3. 게임 보드 (플레이 필드) 생성

GameObject -> 3D Object -> Plane 생성

Hierachy -> Plane을 Ground로 이름 변경

Transform -> 설정 (톱니바퀴 모양) -> Reset ( 오브젝트를 (0,0,0) 위치에 배치 )

Edit -> Frame Selected - 단축키 F  (씬 뷰에서 게임 오브젝트가 전체적으로 보이도록 시점 변환)

Gizmos -> Show Grid 체크 해제 (백그라운드의 눈금 표시 제거)

Transform -> Scale -> X : 2, Z : 2 로 수정 (오브젝트 크기 늘리기)

4. 플레이어 오브젝트 생성

Hierachy -> Create -> Sphere 생성

Sphere를 Player로 이름 변경 -> Transform Selection -> 설정 (톱니바퀴) -> Reset

Transform Selection -> Position -> Y : 0.5 로 수정 -> Edit -> Frame Selected (단축키 F)

5. 플레이 필드의 색상 변경하기

Project -> Create -> Folder -> Materials 폴더 생성

Materials 폴더 선택 -> Project -> Create -> Material 생성 -> Material을 Background로 이름 변경

Background -> Albido -> Color -> RGB (0, 32, 64) 로 수정

우하측의 Background 탭을 눌러서 Material 미리보기 활성화

Background material을 씬 뷰의 플레이 필드로 마우스 드로우 업

6. 플레이어가 선명하게 보이도록 조명 수정

Hireachy -> Directional Light -> Transform -> Rotation -> Y : 60 으로 수정

 

 

- Reference

[Roll-a-ball tutorial] https://unity3d.com/kr/learn/tutorials/projects/roll-ball-tutorial

[Setting up the Game] https://unity3d.com/kr/learn/tutorials/projects/roll-ball-tutorial/setting-game?playlist=17141

Online Photo Editor

https://pixlr.com/editor/


- Reference


더 지니어스 2기 롤브레이커 1화 (룰 변형)
- 동물의 호구왕국

=== 플레이어 수 ===
플레이어 : 10명
사회자 : 1명

=== 게임 진행 ===
1. 각 플레이어는 랜덤으로 동물을 선택한다.

2. 플레이어는 이동할 필드를 선택한다.
(이동할 필드는 각 플레이어가 딜러에게 1대1로 알려주며 모든 플레이어가 선택한 후에 이동을 한다.)

3. 플레이어는 선택한 동물의 스킬을 사용하여 포인트를 획득한다.
(스킬은 각 플레이어가 딜러에게 1대1로 알려주며 모든 플레이어가 스킬을 사용한 후에 포인트 계산을 한다.)

4. 모든 플레이어의 스킬 사용이 완료되면 각 동물이 획득한 포인트를 공개한다.
(각 라운드의 플레이어의 이동과 공개 되는 동물들의 포인트로 상대 플레이어의 동물을 예측해야 한다.)

5. 2~4를 반복하여, 4라운드 이상에서 포인트가 가장 많은 플레이어가 한 명인 경우, 그 플레이어가 우승을 하고 게임이 종료된다.

==== 필드와 동물 ====
필드는 4종, 동물은 10종이며 각 동물은 자신만의 서식지가 존재한다.

숲 : 카멜레온, 독뱀
들 : 사자, 하이에나
강 : 악어, 두꺼비
하늘 : 독수리, 까마귀, 뻐꾸기
서식지 없음 : 고라니

===== 포인트 획득법 =====
각 라운드마다 포인트가 정해져 있고 각 동물은 스킬을 사용하여 라운드의 포인트를 획득한다. 단 필드 이동시에 자신의 서식지가 아닌 곳으로 이동했다면 다음 라운드에서 자신의 서식지로 이동하지 않은 경우에 포인트 획득은 할 수 없다. (스킬은 사용해야 한다)

1. 사자, 악어, 독수리 - 포식자
사자, 악어, 독수리는 같은 필드에 있는 플레이어 중 한 명을 "공격"한다. 그 플레이어가 "피식자"라면 포인트를 획득한다. *단 한번 공격한 플레이어는 다시 공격할 수 없다.
포식자 사이의 공격은 사자는 악어를, 악어는 독수리를, 독수리는 사자를 공격했을 때 포인트 획득이 가능하다. (사자 > 악어 > 독수리 > 사자)

2. 독뱀 - 중립자
독뱀은 "공격을 당할 경우"에 포인트를 획득한다. 또한 같은 필드에 있는 플레이어 중 한 명을 "공격"한다. 그 플레이어가 "포식자"라면 포인트를 획득한다. *단 한번 공격한 플레이어는 다시 공격할 수 없다.

• 피식자 = {까마귀, 하이에나, 원숭이, 뻐꾸기, 카멜레온, 고라니}
* 피식자는 한번 "선택"한 플레이어는 다시 선택할 수 없다.
* 피식자는 포식자에게 "공격"을 받은 라운드에서는 포인트를 절반만 획득할 수 있다.

3. 까마귀
매 라운드마다 한명의 플레이어를 "선택"하여 선택한 플레이어의 동물을 예측한다. 예측에 성공하면 포인트를 획득한다. 예측을 실패 시에 예측한 플레이어의 동물을 알려 준다. *단 한번 선택한 플레이어는 다시 선택할 수 없다.

4. 하이에나
매 라운드마다 한명의 플레이어를 "선택"한다. 선택한 플레이어가 그 라운드에서 포인트를 획득 시에 포인트를 획득한다. *단 한번 선택한 플레이어는 다시 선택할 수 없다.

5. 두꺼비
같은 필드에 있는 플레이어 중 한명의 플레이어를 "선택"하여 선택한 플레이어가 포인트를 획득할 수 있는지 없는지 예측을 한다. 예측에 성공하면 포인트를 획득한다. *단 한번 선택한 플레이어는 다시 선택할 수 없다.

6. 뻐꾸기
같은 필드에 있는 플레이어 중 한명의 플레이어를 "선택"한다. 선택한 플레이어가 포인트를 획득 시에 포인트를 획득한다. *선택한 플레이어는 포인트를 획득할 수 없다! *단 한번 선택한 플레이어는 다시 선택할 수 없다.

7. 카멜레온
매 라운드마다 자신이 원하는 동물을 "선택"하여 그 동물의 스킬을 사용하여 포인트를 획득한다. *스킬만 사용 가능할 뿐 그 동물로 변하는 것은 아니다. *단 한번 선택한 동물은 다시 선택할 수 없다. *단 스킬 사용에서 한번 선택한 플레이어는 다시 선택할 수 없다.

8. 고라니
고라니는 서식지가 존재하지 않으며 자유롭게 필드 이동이 가능하다. 4종류의 필드를 다 이동한 상황에서 "공격"당한 횟수가 총 2회 미만의 경우, 포인트와 상관없이 단독 우승한다.


==== 라운드 당 획득 가능 포인트 ====
1라운드 : 1
2라운드 : 2
3라운드 : 2.2
4라운드 : 3.3
5라운드 : 4.4
6라운드 : 5.5

X라운드 : (X-1) * 1.1

xaml

        <Button x:Name="g_1" HorizontalAlignment="Left" Height="100" Margin="220,27,0,0" VerticalAlignment="Top" Width="90" Background="Black" Foreground="Lime" Content="1" FontSize="36" Click="btn_ClickL" MouseRightButtonDown="btn_ClickR"/>
        <Button x:Name="g_2" HorizontalAlignment="Left" Height="100" Margin="340,27,0,0" VerticalAlignment="Top" Width="90" Background="Black" Foreground="Lime" Content="1" FontSize="36" Click="btn_ClickL" MouseRightButtonDown="btn_ClickR"/>
        <Button x:Name="g_3" HorizontalAlignment="Left" Height="100" Margin="460,27,0,0" VerticalAlignment="Top" Width="90" Background="Black" Foreground="Lime" Content="1" FontSize="36" Click="btn_ClickL" MouseRightButtonDown="btn_ClickR"/>
        <Button x:Name="g_4" HorizontalAlignment="Left" Height="100" Margin="580,27,0,0"  VerticalAlignment="Top" Width="90" Background="Black" Foreground="Lime" Content="1" FontSize="36" Click="btn_ClickL" MouseRightButtonDown="btn_ClickR"/> 

C# 코드

 

트럼프 카드 - 호구 클루
보드 게임 클루를 트럼프 카드를 사용한 변형룰

=== 플레이어 수 ===
2~6명 (적정 인원 5명)

=== 준비물 ===
트럼프 카드 각 문양별 1,2,3,4 + 조커 (총 17장)

=== 게임 룰 ===
1. 각 플레이어는 랜덤으로 카드를 나눠 갖는다.
- 2~3명 : 3장씩
- 4~6명 : 2장씩

2. (플레이어 수 - 1)장의 카드를 문양과 숫자가 안보이도록 뒷면으로 놓는다. 이 카드는 히든 카드라 부르며 플레이어가 맞춰야할 카드이다.

3. 남은 카드를 문양과 숫자가 보이도록 중앙에 놓는다.

4. 선 플레이어를 시작으로 문양 또는 숫자를 부른다. 단, 조커를 부를 순 없다. (예 : 스페이드)

5. 문양 또는 숫자를 부른 플레이어의 시계 방향으로 한명씩 문양 또는 숫자가 일치한 카드(스페이드)가 있는지 확인을 해 간다.

6. 일치한 카드를 갖고 있는 경우에 그 카드(스페이드)와 그 카드를 부른 플레이어의 카드 한장과 교환을 하고 턴이 종료된다. 아무도 갖고 있지 않는 경우에는 모든 플레이어의 확인이 끝난 후에 턴이 종료된다.

7. 턴이 종료되면 문양 또는 숫자를 부른 플레이어의 시계 방향 순으로 5번과 6번을 반복해 간다.

8. 자신이 문양 또는 숫자를 부르는 순서에 "정답"을 외칠 수 있고 히든 카드 중 한장을 예측하여 부른다. 카드 한장을 부르고 히든 카드를 혼자 확인하며 맞춘 경우에 맞춘 카드 한장과 자신의 카드 두장을 오픈하고, 틀린 경우에 자신의 카드 두장만 오픈한다.
- 맞는 경우에는 상위 등수 순으로 (1등, 2등 ,,,) 결정
- 틀린 경우에는 하위 등수 순으로 (5등, 4등 ,,,) 결정

9. 플레이어가 한명이 남으면 남은 등수로 결정되고 게임이 종료된다.


+ Recent posts