I_Jemin

Update readme

Seperate gun scripts path
1 +fileFormatVersion: 2
2 +guid: fd6bed64c46ee428487fe22dbe957425
3 +folderAsset: yes
4 +timeCreated: 1512183616
5 +licenseType: Pro
6 +DefaultImporter:
7 + externalObjects: {}
8 + userData:
9 + assetBundleName:
10 + assetBundleVariant:
1 -# Unity-OpenVR-Shooter-VR-Example 1 +![대문](https://imgur.com/wocxoKL.png)
2 -Easy to use VR Shooter template for Unity OpenVR Input System. Works for Oculus Rift and Vive.
3 -
4 -# Credit
5 -I_Jemin (i_jemin@hotmail.com, ijemin.com)
6 2
7 3
8 -# 유니티 OpenVR VR 총 사격 (VR 슈터) 구현 예제 4 +# Unity-OpenVR-Shooter-Template<br>유니티 OpenVR 슈터 템플릿
9 사용하기 쉽게 템플릿화 되어 완성된 유니티 VR 슈터 게임 제작 템플릿입니다. 5 사용하기 쉽게 템플릿화 되어 완성된 유니티 VR 슈터 게임 제작 템플릿입니다.
10 6
7 +Oculus VR 과 HTC Vive (Steam VR) 에 모두 대응합니다.
8 +
9 +총 모듈만 따로 때어 FPS 게임을 제작할때 사용할 수 있습니다.
10 +
11 상세한 설명 주석 달아놨음. 11 상세한 설명 주석 달아놨음.
12 -이것 기반으로 만듬 https://github.com/IJEMIN/Unity-OpenVR-Power-Blade-Example 12 +이것 기반으로 만듬<br>https://github.com/IJEMIN/Unity-OpenVR-Power-Blade-Example
13 +
14 +## 제공하는 기능
15 +코드 동작이 내부에서 간결하게 완결되어 있어, 드래그-드롭으로 쓸 수 있습니다.
16 +
17 +### VR 트래킹 기능
18 +- 현실 부위 1:1 트래킹
19 +- VR 컨트롤러 입력 대응 함수 제공
20 +- 스테이셔너리 자동 키 설정
21 +- 간결한 코드와 높은 확장성
22 +
23 +### 건 슈터 (FPS Shooter) 기능
24 +- 단발/연사
25 +- 피탄 이펙트
26 +- 발사 이펙트
27 +- 재장전
28 +- 증강현실 탄약 UI
29 +- 간결한 외부 함수
30 + - Gun.Reload - 장전
31 + - Gun.Fire - 발사
32 +
33 +## 동작과 사용 방법
34 +미리 만들어진 예제 씬을 참고하면 좋습니다.
35 +
36 +### 프리팹 Prefab
37 +
38 +미리 만들어진 예제 프리팹을 제공합니다.
39 +- VR Player: VR 카메라와 왼손과 오른손 트래킹, (사람) 키 대응이 미리 완성되어 있는 프리팹입니다.
40 +- Gun: 사격할수 있는, 미리 완성된 총 입니다.
41 +- Cube: Gun 에 의해 데미지를 받아 파괴될 수 있는 큐브 입니다.
42 +
43 +### VR 컨트롤러 트래킹
44 +![트래킹1](https://imgur.com/NKPpcAc.png)
45 +어떤 오브젝트든 VRControllerTracking 만 붙여주면, 현실의 VR 컨트롤러와 위치와 동기화됩니다.
46 +
47 +![트래킹1](https://imgur.com/jgH8PFD.png)
48 +부착한 다음, 원하는 추적 부위를 지정해주세요.
49 +
50 +위치와 회전 동기화는 로컬 좌표계를 기준으로 합니다.
51 +
52 +
53 +### VR 컨트롤러 입력 감지
54 +
55 +어떤 스크립트든 VRInputController 를 상속하면, VR 컨트롤러의 입력을 받을 수 있습니다.
56 +
57 +두가지 오버라이드 가능한 함수를 제공합니다. 이들은 VR 컨트롤러 입력이 감지되면 자동으로 호출됩니다.
58 +- void OnIndexTriggerButton() - VR 컨트롤러 검지 방아쇠를 누르는 동안 발동
59 +- void OnGripTriggerButton() - VR 컨트롤러 쥐는 방아쇠를 누르는 동안 발동
60 +
61 +1. VRInputController 스크립트를 상속받습니다.
62 +2. 원하는 입력에 따라 위의 함수 중 하나를 오버라이드 합니다.
63 +3. 함수 내부에 입력에 대응할 동작을 구현합니다.
64 +
65 +#### VR 입력 대응 예시 코드
66 +
67 +예제의 GunController 스크립트는 VR 입력에 따라 Gun 을 제어하는 스크립트 입니다.
68 +별다른 코드 없이, OnIndexTriggerButton 와 OnGripTriggerButton 를 오버라이드 하여 입력에 대응하고 있습니다.
69 +
70 +
71 +~~~
72 +public class GunController : VRInputController {
73 +
74 + public Gun gun;
75 +
76 + public override void OnIndexTriggerButtonDown()
77 + {
78 + gun.Fire();
79 + }
80 +
81 + public override void OnGripTriggerButtonDown()
82 + {
83 + gun.Reload();
84 + }
85 +}
86 +~~~
87 +
88 +### 건 슈터 Gun Shooter
89 +캡슐화 되어있습니다. 그냥 프리팹을 가져다 쓰면 됩니다.
90 +![총프리팹](https://imgur.com/T9ZJiT3.png)
91 +외부 함수로 Gun.Fire 와 Gun.Reload 를 제공하여, 총을 쏘고 재장전 할 수 있습니다.
92 +
93 +### 총알 데미지 처리
94 +IDamageable 인터페이스를 상속받는 오브젝트는 총에 의해 데미지를 입을 수 있습니다.
95 +
96 +예시 코드
97 +~~~
98 +
99 +public class HitCube : MonoBehaviour,IDamageable {
100 + public float hp = 100f;
101 + public void OnDamage(float damage)
102 + {
103 + Debug.Log("큐브가 맞았다!");
104 + hp -= damage;
105 +
106 + if(hp <= 0)
107 + {
108 + Destroy(gameObject);
109 + }
110 + }
111 +}
112 +~~~
113 +
114 +### 이외의 기능들 ###
115 +
116 +작성중
117 +
118 +## 기타 ##
119 +
120 +### VR 컨트롤러 입력 설정
121 +
122 +VR 컨트롤러의 입력을 InputManager 에서 제어하는 방법은 VRInputController 와 https://github.com/IJEMIN/Unity-OpenVR-Power-Blade-Example 의 Readme 문서를 참고.
123 +
13 124
14 125
15 # 궁금한 점은 이곳으로. 126 # 궁금한 점은 이곳으로.
16 I_Jemin (i_jemin@hotmail.com, ijemin.com) 127 I_Jemin (i_jemin@hotmail.com, ijemin.com)
128 +
129 +
130 +
131 +
132 +
133 +
134 +
135 +
136 +# Unity-OpenVR-Shooter-Template
137 +Easy to use VR Shooter template for Unity OpenVR Input System. Works for Oculus Rift and Vive.
138 +
139 +Only use Unity built-in VR codes.
140 +
141 +# Credit
142 +I_Jemin (i_jemin@hotmail.com, ijemin.com)
...\ No newline at end of file ...\ No newline at end of file
......