|
1 | 1 | <!DOCTYPE html> |
2 | 2 | <html lang="en"> |
3 | 3 | <head> |
4 | | - <title>three.js webvr - htc vive - dragging</title> |
| 4 | + <title>three.js webvr - dragging</title> |
5 | 5 | <meta charset="utf-8"> |
6 | 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> |
7 | 7 | <!-- Origin Trial Token, feature = WebVR (For Chrome M62+), origin = https://threejs.org, expires = 2018-07-25 --> |
|
26 | 26 | <body> |
27 | 27 |
|
28 | 28 | <script src="../build/three.js"></script> |
29 | | - |
30 | | - <script src="js/vr/ViveController.js"></script> |
31 | 29 | <script src="js/vr/WebVR.js"></script> |
32 | 30 |
|
33 | | - <script src="js/loaders/OBJLoader.js"></script> |
34 | | - |
35 | 31 | <script> |
36 | 32 |
|
37 | 33 | var container; |
|
56 | 52 | info.style.top = '10px'; |
57 | 53 | info.style.width = '100%'; |
58 | 54 | info.style.textAlign = 'center'; |
59 | | - info.innerHTML = '<a href="http://threejs.org" target="_blank" rel="noopener">three.js</a> webgl - htc vive'; |
| 55 | + info.innerHTML = '<a href="http://threejs.org" target="_blank" rel="noopener">three.js</a> webgl - dragging'; |
60 | 56 | container.appendChild( info ); |
61 | 57 |
|
62 | 58 | scene = new THREE.Scene(); |
|
141 | 137 |
|
142 | 138 | // controllers |
143 | 139 |
|
144 | | - controller1 = new THREE.ViveController( 0 ); |
145 | | - controller1.standingMatrix = renderer.vr.getStandingMatrix(); |
146 | | - controller1.addEventListener( 'triggerdown', onTriggerDown ); |
147 | | - controller1.addEventListener( 'triggerup', onTriggerUp ); |
| 140 | + controller1 = renderer.vr.getController( 0 ); |
| 141 | + controller1.addEventListener( 'selectstart', onSelectStart ); |
| 142 | + controller1.addEventListener( 'selectend', onSelectEnd ); |
148 | 143 | scene.add( controller1 ); |
149 | 144 |
|
150 | | - controller2 = new THREE.ViveController( 1 ); |
151 | | - controller2.standingMatrix = renderer.vr.getStandingMatrix(); |
152 | | - controller2.addEventListener( 'triggerdown', onTriggerDown ); |
153 | | - controller2.addEventListener( 'triggerup', onTriggerUp ); |
| 145 | + controller2 = renderer.vr.getController( 0 ); |
| 146 | + controller1.addEventListener( 'selectstart', onSelectStart ); |
| 147 | + controller1.addEventListener( 'selectend', onSelectEnd ); |
154 | 148 | scene.add( controller2 ); |
155 | 149 |
|
156 | | - var loader = new THREE.OBJLoader(); |
157 | | - loader.setPath( 'models/obj/vive-controller/' ); |
158 | | - loader.load( 'vr_controller_vive_1_5.obj', function ( object ) { |
159 | | - |
160 | | - var loader = new THREE.TextureLoader(); |
161 | | - loader.setPath( 'models/obj/vive-controller/' ); |
162 | | - |
163 | | - var controller = object.children[ 0 ]; |
164 | | - controller.material.map = loader.load( 'onepointfive_texture.png' ); |
165 | | - controller.material.specularMap = loader.load( 'onepointfive_spec.png' ); |
166 | | - |
167 | | - controller1.add( object.clone() ); |
168 | | - controller2.add( object.clone() ); |
169 | | - |
170 | | - } ); |
171 | | - |
172 | 150 | // |
173 | 151 |
|
174 | 152 | var geometry = new THREE.BufferGeometry().setFromPoints( [ new THREE.Vector3( 0, 0, 0 ), new THREE.Vector3( 0, 0, - 1 ) ] ); |
|
197 | 175 |
|
198 | 176 | } |
199 | 177 |
|
200 | | - function onTriggerDown( event ) { |
| 178 | + function onSelectStart( event ) { |
201 | 179 |
|
202 | 180 | var controller = event.target; |
203 | 181 |
|
|
221 | 199 |
|
222 | 200 | } |
223 | 201 |
|
224 | | - function onTriggerUp( event ) { |
| 202 | + function onSelectEnd( event ) { |
225 | 203 |
|
226 | 204 | var controller = event.target; |
227 | 205 |
|
|
299 | 277 |
|
300 | 278 | function render() { |
301 | 279 |
|
302 | | - controller1.update(); |
303 | | - controller2.update(); |
304 | | - |
305 | 280 | cleanIntersected(); |
306 | 281 |
|
307 | 282 | intersectObjects( controller1 ); |
|
0 commit comments