gaesup-world 0.0.662 → 0.0.691

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/README.md +59 -2
  2. package/dist/gaesup/animation/actions.js +8 -8
  3. package/dist/gaesup/camera/cameraCollisionDetecter.d.ts +2 -2
  4. package/dist/gaesup/camera/index.d.ts +2 -2
  5. package/dist/gaesup/component/Airplane.d.ts +3 -3
  6. package/dist/gaesup/component/Airplane.js +3 -3
  7. package/dist/gaesup/component/Character.d.ts +3 -3
  8. package/dist/gaesup/component/Character.js +3 -3
  9. package/dist/gaesup/component/Vehicle.d.ts +3 -3
  10. package/dist/gaesup/component/Vehicle.js +3 -3
  11. package/dist/gaesup/component/gltf/CharacterGltf.d.ts +2 -5
  12. package/dist/gaesup/component/gltf/CharacterGltf.js +5 -7
  13. package/dist/gaesup/component/gltf/WheelJoint.d.ts +3 -3
  14. package/dist/gaesup/component/gltf/WheelJoint.js +4 -3
  15. package/dist/gaesup/component/ref/airplane.d.ts +4 -4
  16. package/dist/gaesup/component/ref/airplane.js +7 -7
  17. package/dist/gaesup/component/ref/character.d.ts +4 -4
  18. package/dist/gaesup/component/ref/character.js +9 -9
  19. package/dist/gaesup/component/ref/vehicle.d.ts +3 -3
  20. package/dist/gaesup/component/ref/vehicle.js +7 -7
  21. package/dist/gaesup/controller/context/index.d.ts +36 -9
  22. package/dist/gaesup/controller/context/index.js +36 -8
  23. package/dist/gaesup/controller/context/reducer.d.ts +10 -8
  24. package/dist/gaesup/controller/context/type.d.ts +51 -32
  25. package/dist/gaesup/controller/debug/airplane.d.ts +71 -0
  26. package/dist/gaesup/controller/debug/airplane.js +71 -0
  27. package/dist/gaesup/controller/debug/cameraOption.d.ts +27 -0
  28. package/dist/gaesup/controller/debug/cameraOption.js +27 -0
  29. package/dist/gaesup/controller/debug/character.d.ts +27 -0
  30. package/dist/gaesup/controller/debug/character.js +27 -0
  31. package/dist/gaesup/controller/debug/index.d.ts +6 -0
  32. package/dist/gaesup/controller/debug/index.js +100 -0
  33. package/dist/gaesup/controller/debug/orthographicCamera.d.ts +17 -0
  34. package/dist/gaesup/controller/debug/orthographicCamera.js +17 -0
  35. package/dist/gaesup/controller/debug/perspectiveCamera.d.ts +12 -0
  36. package/dist/gaesup/controller/debug/perspectiveCamera.js +12 -0
  37. package/dist/gaesup/controller/debug/vehicle.d.ts +27 -0
  38. package/dist/gaesup/controller/debug/vehicle.js +27 -0
  39. package/dist/gaesup/controller/index.js +34 -17
  40. package/dist/gaesup/controller/initialize/index.d.ts +27 -0
  41. package/dist/gaesup/{initial/controller → controller/initialize}/index.js +8 -42
  42. package/dist/gaesup/controller/type.d.ts +17 -51
  43. package/dist/gaesup/gaesupProps/index.js +4 -6
  44. package/dist/gaesup/index.d.ts +1 -1
  45. package/dist/gaesup/index.js +1 -1
  46. package/dist/gaesup/initial/callback/index.d.ts +1 -1
  47. package/dist/gaesup/initial/callback/index.js +28 -21
  48. package/dist/gaesup/initial/callback/type.d.ts +3 -7
  49. package/dist/gaesup/initial/index.d.ts +0 -2
  50. package/dist/gaesup/initial/index.js +0 -2
  51. package/dist/gaesup/physics/airplane/damping.js +3 -2
  52. package/dist/gaesup/physics/airplane/direction.js +2 -2
  53. package/dist/gaesup/physics/airplane/gravity.js +3 -2
  54. package/dist/gaesup/physics/character/accelaration.js +1 -1
  55. package/dist/gaesup/physics/character/damping.js +2 -2
  56. package/dist/gaesup/physics/character/jump.js +1 -2
  57. package/dist/gaesup/physics/character/turn.js +1 -2
  58. package/dist/gaesup/physics/index.d.ts +2 -2
  59. package/dist/gaesup/physics/type.d.ts +8 -7
  60. package/dist/gaesup/physics/vehicle/damping.js +3 -3
  61. package/dist/gaesup/physics/vehicle/impulse.js +4 -6
  62. package/dist/gaesup/tools/gameboy/GameBoyButton.d.ts +3 -1
  63. package/dist/gaesup/tools/gameboy/GameBoyButton.js +3 -5
  64. package/dist/gaesup/tools/gameboy/index.d.ts +2 -1
  65. package/dist/gaesup/tools/gameboy/index.js +8 -6
  66. package/dist/gaesup/tools/gameboy/style.css.d.ts +0 -1
  67. package/dist/gaesup/tools/gameboy/style.css.js +3 -15
  68. package/dist/gaesup/tools/gameboy/type.d.ts +2 -5
  69. package/dist/gaesup/tools/gamepad/GamePadButton.d.ts +3 -1
  70. package/dist/gaesup/tools/gamepad/GamePadButton.js +4 -5
  71. package/dist/gaesup/tools/gamepad/index.d.ts +2 -1
  72. package/dist/gaesup/tools/gamepad/index.js +9 -9
  73. package/dist/gaesup/tools/gamepad/style.css.js +1 -1
  74. package/dist/gaesup/tools/gamepad/type.d.ts +4 -6
  75. package/dist/gaesup/tools/index.d.ts +5 -2
  76. package/dist/gaesup/tools/index.js +5 -42
  77. package/dist/gaesup/tools/joystick/default.d.ts +0 -4
  78. package/dist/gaesup/tools/joystick/default.js +0 -4
  79. package/dist/gaesup/tools/joystick/index.d.ts +2 -2
  80. package/dist/gaesup/tools/joystick/index.js +48 -29
  81. package/dist/gaesup/tools/joystick/style.css.d.ts +0 -1
  82. package/dist/gaesup/tools/joystick/style.css.js +0 -15
  83. package/dist/gaesup/tools/joystick/type.d.ts +2 -7
  84. package/dist/gaesup/tools/keyBoardToolTip/default.d.ts +0 -1
  85. package/dist/gaesup/tools/keyBoardToolTip/default.js +0 -1
  86. package/dist/gaesup/tools/keyBoardToolTip/index.d.ts +2 -1
  87. package/dist/gaesup/tools/keyBoardToolTip/index.js +18 -14
  88. package/dist/gaesup/tools/keyBoardToolTip/style.css.d.ts +0 -1
  89. package/dist/gaesup/tools/keyBoardToolTip/style.css.js +1 -21
  90. package/dist/gaesup/tools/keyBoardToolTip/type.d.ts +8 -5
  91. package/dist/gaesup/tools/minimap/default.d.ts +4 -3
  92. package/dist/gaesup/tools/minimap/default.js +4 -3
  93. package/dist/gaesup/tools/minimap/index.d.ts +2 -1
  94. package/dist/gaesup/tools/minimap/index.js +49 -41
  95. package/dist/gaesup/tools/minimap/style.css.d.ts +32 -0
  96. package/dist/gaesup/tools/minimap/style.css.js +99 -19
  97. package/dist/gaesup/tools/minimap/type.d.ts +7 -11
  98. package/dist/gaesup/tools/type.d.ts +2 -26
  99. package/dist/gaesup/utils/context.d.ts +2 -0
  100. package/dist/gaesup/utils/context.js +3 -0
  101. package/dist/gaesup/utils/debug.d.ts +29 -0
  102. package/dist/gaesup/utils/debug.js +36 -0
  103. package/dist/gaesup/utils/type.d.ts +5 -0
  104. package/dist/gaesup/utils/vector.d.ts +1 -0
  105. package/dist/gaesup/utils/vector.js +3 -0
  106. package/dist/gaesup/world/context/index.d.ts +5 -4
  107. package/dist/gaesup/world/context/index.js +0 -2
  108. package/dist/gaesup/world/context/reducer.d.ts +4 -4
  109. package/dist/gaesup/world/context/reducer.js +0 -3
  110. package/dist/gaesup/world/context/type.d.ts +4 -12
  111. package/dist/gaesup/world/debug/index.d.ts +2 -0
  112. package/dist/gaesup/world/debug/index.js +27 -0
  113. package/dist/gaesup/world/debug/mode.d.ts +10 -0
  114. package/dist/gaesup/world/debug/mode.js +10 -0
  115. package/dist/gaesup/world/index.d.ts +2 -2
  116. package/dist/gaesup/world/index.js +1 -1
  117. package/dist/gaesup/world/initalize/collider/airplane.js +24 -0
  118. package/dist/gaesup/{initial/gaesupWorld → world/initalize}/collider/character.js +10 -13
  119. package/dist/gaesup/world/initalize/collider/index.d.ts +2 -0
  120. package/dist/gaesup/{initial/gaesupWorld → world/initalize}/collider/index.js +2 -1
  121. package/dist/gaesup/world/initalize/collider/vehicle.js +34 -0
  122. package/dist/gaesup/world/initalize/index.d.ts +33 -0
  123. package/dist/gaesup/{initial/gaesupWorld → world/initalize}/index.js +6 -4
  124. package/dist/gaesup/world/initalize/type.d.ts +13 -0
  125. package/dist/gaesup/world/initalize/type.js +1 -0
  126. package/dist/gaesup/world/type.d.ts +17 -7
  127. package/dist/index.d.ts +2 -1
  128. package/dist/index.js +2 -1
  129. package/dist/styles/index.d.ts +2 -0
  130. package/dist/styles/index.js +2 -0
  131. package/dist/styles/sprinkles/color.css.d.ts +21 -21
  132. package/dist/styles/sprinkles/index.css.d.ts +368 -1
  133. package/dist/styles/sprinkles/margin.css.d.ts +30 -30
  134. package/dist/styles/sprinkles/padding.css.d.ts +30 -30
  135. package/package.json +3 -3
  136. package/dist/gaesup/initial/controller/index.d.ts +0 -29
  137. package/dist/gaesup/initial/controller/initDebug.d.ts +0 -24
  138. package/dist/gaesup/initial/controller/initDebug.js +0 -110
  139. package/dist/gaesup/initial/gaesupWorld/collider/airplane.js +0 -25
  140. package/dist/gaesup/initial/gaesupWorld/collider/index.d.ts +0 -6
  141. package/dist/gaesup/initial/gaesupWorld/collider/vehicle.js +0 -40
  142. package/dist/gaesup/initial/gaesupWorld/index.d.ts +0 -33
  143. package/dist/gaesup/initial/gaesupWorld/type.d.ts +0 -28
  144. package/dist/gaesup/tools/context.d.ts +0 -4
  145. package/dist/gaesup/tools/context.js +0 -3
  146. package/dist/gaesup/tools/gameboy/default.d.ts +0 -3
  147. package/dist/gaesup/tools/gameboy/default.js +0 -3
  148. package/dist/gaesup/tools/reducer.d.ts +0 -11
  149. package/dist/gaesup/tools/reducer.js +0 -24
  150. package/dist/gaesup/tools/style.css.d.ts +0 -3
  151. package/dist/gaesup/tools/style.css.js +0 -31
  152. package/src/gaesup/animation/actions.ts +0 -123
  153. package/src/gaesup/animation/index.ts +0 -1
  154. package/src/gaesup/camera/cameraCollisionDetecter.tsx +0 -53
  155. package/src/gaesup/camera/control/map.ts +0 -10
  156. package/src/gaesup/camera/control/normal.ts +0 -16
  157. package/src/gaesup/camera/control/orbit.ts +0 -31
  158. package/src/gaesup/camera/index.tsx +0 -102
  159. package/src/gaesup/camera/type.ts +0 -17
  160. package/src/gaesup/component/Airplane.tsx +0 -52
  161. package/src/gaesup/component/Character.tsx +0 -58
  162. package/src/gaesup/component/Vehicle.tsx +0 -43
  163. package/src/gaesup/component/gltf/AirplaneGltf.tsx +0 -31
  164. package/src/gaesup/component/gltf/CharacterGltf.tsx +0 -96
  165. package/src/gaesup/component/gltf/VehicleGltf.tsx +0 -31
  166. package/src/gaesup/component/gltf/WheelJoint.tsx +0 -39
  167. package/src/gaesup/component/gltf/index.ts +0 -4
  168. package/src/gaesup/component/gltf/type.ts +0 -7
  169. package/src/gaesup/component/index.ts +0 -5
  170. package/src/gaesup/component/ref/airplane.tsx +0 -97
  171. package/src/gaesup/component/ref/character.tsx +0 -137
  172. package/src/gaesup/component/ref/index.ts +0 -8
  173. package/src/gaesup/component/ref/vehicle.tsx +0 -122
  174. package/src/gaesup/component/setInit.ts +0 -14
  175. package/src/gaesup/controller/context/index.ts +0 -53
  176. package/src/gaesup/controller/context/reducer.ts +0 -18
  177. package/src/gaesup/controller/context/type.ts +0 -63
  178. package/src/gaesup/controller/index.tsx +0 -121
  179. package/src/gaesup/controller/type.ts +0 -149
  180. package/src/gaesup/gaesupProps/index.tsx +0 -66
  181. package/src/gaesup/index.ts +0 -8
  182. package/src/gaesup/initial/callback/index.ts +0 -73
  183. package/src/gaesup/initial/callback/type.ts +0 -47
  184. package/src/gaesup/initial/controller/index.ts +0 -157
  185. package/src/gaesup/initial/controller/initDebug.ts +0 -102
  186. package/src/gaesup/initial/gaesupWorld/collider/airplane.ts +0 -26
  187. package/src/gaesup/initial/gaesupWorld/collider/character.ts +0 -32
  188. package/src/gaesup/initial/gaesupWorld/collider/gltf.ts +0 -98
  189. package/src/gaesup/initial/gaesupWorld/collider/index.ts +0 -26
  190. package/src/gaesup/initial/gaesupWorld/collider/vehicle.ts +0 -43
  191. package/src/gaesup/initial/gaesupWorld/index.ts +0 -84
  192. package/src/gaesup/initial/gaesupWorld/type.ts +0 -38
  193. package/src/gaesup/initial/index.ts +0 -3
  194. package/src/gaesup/physics/airplane/currentSetting.ts +0 -20
  195. package/src/gaesup/physics/airplane/damping.ts +0 -6
  196. package/src/gaesup/physics/airplane/direction.ts +0 -79
  197. package/src/gaesup/physics/airplane/gravity.ts +0 -11
  198. package/src/gaesup/physics/airplane/impulse.ts +0 -28
  199. package/src/gaesup/physics/airplane/index.tsx +0 -16
  200. package/src/gaesup/physics/airplane/turn.ts +0 -11
  201. package/src/gaesup/physics/character/accelaration.ts +0 -14
  202. package/src/gaesup/physics/character/currentSetting.ts +0 -20
  203. package/src/gaesup/physics/character/damping.ts +0 -6
  204. package/src/gaesup/physics/character/direction.ts +0 -104
  205. package/src/gaesup/physics/character/impulse.ts +0 -24
  206. package/src/gaesup/physics/character/index.tsx +0 -20
  207. package/src/gaesup/physics/character/jump.ts +0 -21
  208. package/src/gaesup/physics/character/stabilizing.ts +0 -6
  209. package/src/gaesup/physics/character/turn.ts +0 -17
  210. package/src/gaesup/physics/check/ground.ts +0 -19
  211. package/src/gaesup/physics/check/index.ts +0 -12
  212. package/src/gaesup/physics/check/moving.ts +0 -20
  213. package/src/gaesup/physics/check/rotate.ts +0 -13
  214. package/src/gaesup/physics/check/slope.ts +0 -50
  215. package/src/gaesup/physics/index.ts +0 -50
  216. package/src/gaesup/physics/type.ts +0 -29
  217. package/src/gaesup/physics/vehicle/currentSetting.ts +0 -20
  218. package/src/gaesup/physics/vehicle/damping.ts +0 -12
  219. package/src/gaesup/physics/vehicle/direction.ts +0 -48
  220. package/src/gaesup/physics/vehicle/impulse.ts +0 -39
  221. package/src/gaesup/physics/vehicle/index.tsx +0 -14
  222. package/src/gaesup/physics/vehicle/turn.ts +0 -11
  223. package/src/gaesup/styles.css.ts +0 -26
  224. package/src/gaesup/tools/context.ts +0 -6
  225. package/src/gaesup/tools/gameboy/GameBoyButton.tsx +0 -47
  226. package/src/gaesup/tools/gameboy/default.ts +0 -3
  227. package/src/gaesup/tools/gameboy/index.tsx +0 -43
  228. package/src/gaesup/tools/gameboy/style.css.ts +0 -97
  229. package/src/gaesup/tools/gameboy/type.ts +0 -8
  230. package/src/gaesup/tools/gamepad/GamePadButton.tsx +0 -49
  231. package/src/gaesup/tools/gamepad/default.ts +0 -3
  232. package/src/gaesup/tools/gamepad/index.tsx +0 -59
  233. package/src/gaesup/tools/gamepad/style.css.ts +0 -71
  234. package/src/gaesup/tools/gamepad/type.ts +0 -9
  235. package/src/gaesup/tools/index.tsx +0 -78
  236. package/src/gaesup/tools/joystick/default.ts +0 -76
  237. package/src/gaesup/tools/joystick/index.tsx +0 -232
  238. package/src/gaesup/tools/joystick/style.css.ts +0 -51
  239. package/src/gaesup/tools/joystick/type.ts +0 -32
  240. package/src/gaesup/tools/jumpPoint/index.tsx +0 -28
  241. package/src/gaesup/tools/jumpPoint/style.css.ts +0 -34
  242. package/src/gaesup/tools/keyBoardToolTip/constant.ts +0 -128
  243. package/src/gaesup/tools/keyBoardToolTip/default.ts +0 -14
  244. package/src/gaesup/tools/keyBoardToolTip/index.tsx +0 -95
  245. package/src/gaesup/tools/keyBoardToolTip/style.css.ts +0 -49
  246. package/src/gaesup/tools/keyBoardToolTip/type.ts +0 -37
  247. package/src/gaesup/tools/minimap/default.ts +0 -9
  248. package/src/gaesup/tools/minimap/index.tsx +0 -82
  249. package/src/gaesup/tools/minimap/style.css.ts +0 -144
  250. package/src/gaesup/tools/minimap/type.ts +0 -27
  251. package/src/gaesup/tools/pushKey/index.ts +0 -26
  252. package/src/gaesup/tools/reducer.ts +0 -21
  253. package/src/gaesup/tools/style.css.ts +0 -34
  254. package/src/gaesup/tools/type.ts +0 -26
  255. package/src/gaesup/utils/constant.ts +0 -1
  256. package/src/gaesup/utils/index.ts +0 -3
  257. package/src/gaesup/utils/ray.ts +0 -23
  258. package/src/gaesup/utils/ref.ts +0 -17
  259. package/src/gaesup/utils/vector.ts +0 -40
  260. package/src/gaesup/world/context/index.ts +0 -133
  261. package/src/gaesup/world/context/reducer.ts +0 -21
  262. package/src/gaesup/world/context/type.ts +0 -139
  263. package/src/gaesup/world/index.tsx +0 -14
  264. package/src/gaesup/world/type.ts +0 -10
  265. package/src/index.ts +0 -7
  266. package/src/styles/constants/boxshadow.css.ts +0 -10
  267. package/src/styles/constants/constant.css.ts +0 -81
  268. package/src/styles/constants/direction.css.ts +0 -168
  269. package/src/styles/constants/flex.css.ts +0 -68
  270. package/src/styles/constants/gradient.css.ts +0 -10
  271. package/src/styles/constants/grid.css.ts +0 -37
  272. package/src/styles/constants/palette.css.ts +0 -91
  273. package/src/styles/constants/translate.css.ts +0 -129
  274. package/src/styles/global.css.ts +0 -91
  275. package/src/styles/recipe/base.css.ts +0 -31
  276. package/src/styles/recipe/button.css.ts +0 -109
  277. package/src/styles/recipe/index.css.ts +0 -134
  278. package/src/styles/recipe/input.css.ts +0 -33
  279. package/src/styles/sprinkles/color.css.ts +0 -62
  280. package/src/styles/sprinkles/direction.css.ts +0 -26
  281. package/src/styles/sprinkles/display.css.ts +0 -25
  282. package/src/styles/sprinkles/fontSize.css.ts +0 -25
  283. package/src/styles/sprinkles/grid.css.ts +0 -28
  284. package/src/styles/sprinkles/index.css.ts +0 -22
  285. package/src/styles/sprinkles/margin.css.ts +0 -30
  286. package/src/styles/sprinkles/padding.css.ts +0 -30
  287. package/src/styles/sprinkles/position.css.ts +0 -14
  288. package/src/styles/sprinkles/size.css.ts +0 -23
  289. package/src/styles/theme.css.ts +0 -98
  290. package/vite.config.ts +0 -9
  291. /package/dist/gaesup/{initial/gaesupWorld → utils}/type.js +0 -0
  292. /package/dist/gaesup/{initial/gaesupWorld → world/initalize}/collider/airplane.d.ts +0 -0
  293. /package/dist/gaesup/{initial/gaesupWorld → world/initalize}/collider/character.d.ts +0 -0
  294. /package/dist/gaesup/{initial/gaesupWorld → world/initalize}/collider/gltf.d.ts +0 -0
  295. /package/dist/gaesup/{initial/gaesupWorld → world/initalize}/collider/gltf.js +0 -0
  296. /package/dist/gaesup/{initial/gaesupWorld → world/initalize}/collider/vehicle.d.ts +0 -0
package/README.md CHANGED
@@ -1,9 +1,13 @@
1
1
  # Gaesup World
2
2
 
3
+ [![Version](https://img.shields.io/npm/v/gaesup-world?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/gaesup-world)
4
+ [![Downloads](https://img.shields.io/npm/dt/gaesup-world.svg?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/gaesup-world)
5
+
3
6
  Web 3D Character Controller and World Platform Library
4
7
 
5
- [![Version](https://img.shields.io/npm/v/gaesup-world?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/zustand)
6
- [![Downloads](https://img.shields.io/npm/dt/gaesup-world.svg?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/gaesup-world)
8
+ [![main](https://github.com/jigglypop/gaesup-world/blob/master/image/main_image.png)](https://codesandbox.io/p/github/jigglypop/gaesup-world-examples/master?workspaceId=e8ae627a-af61-415e-aa21-1fe5af422c86)
9
+
10
+ > click and watch code sandbox example!
7
11
 
8
12
  ---
9
13
 
@@ -11,6 +15,59 @@ Web 3D Character Controller and World Platform Library
11
15
 
12
16
  Gaesup World is a library that uses @react/three-fiber, @react/three-drei, and rapier to provide control tools for characters, airplanes, cars, and more in a web 3D environment. This controller is designed to easily manage character movement, animation, and interaction. It allows for easy manipulation of characters or vehicles in a virtual world, and is also equipped with utilities like minimaps and joysticks.
13
17
 
18
+ ## How to start
19
+
20
+ ```tsx
21
+ "use client";
22
+
23
+ import { Environment, KeyboardControls } from "@react-three/drei";
24
+ import { Canvas } from "@react-three/fiber";
25
+ import { Physics, RigidBody } from "@react-three/rapier";
26
+
27
+ import { GaesupController, GaesupWorld } from "gaesup-world";
28
+
29
+ export const keyboardMap = [
30
+ { name: "forward", keys: ["ArrowUp", "KeyW"] },
31
+ { name: "backward", keys: ["ArrowDown", "KeyS"] },
32
+ { name: "leftward", keys: ["ArrowLeft", "KeyA"] },
33
+ { name: "rightward", keys: ["ArrowRight", "KeyD"] },
34
+ { name: "space", keys: ["Space"] },
35
+ { name: "shift", keys: ["Shift"] },
36
+ { name: "keyZ", keys: ["KeyZ"] },
37
+ ];
38
+
39
+ export default function App() {
40
+ const CHARACTER_URL = "./gaesupyee.glb";
41
+
42
+ return (
43
+ <GaesupWorld
44
+ url={{
45
+ characterUrl: CHARACTER_URL,
46
+ }}
47
+ >
48
+ <Canvas shadows style={{ width: "100dvw", height: "100dvh" }}>
49
+ <Environment background preset="sunset" blur={0.8} />
50
+ <Physics>
51
+ <KeyboardControls map={keyboardMap}>
52
+ <GaesupController
53
+ groupProps={{
54
+ rotation: [0, Math.PI, 0],
55
+ }}
56
+ />
57
+ </KeyboardControls>
58
+ <RigidBody type="fixed">
59
+ <mesh receiveShadow position={[0, 0, 0]}>
60
+ <boxGeometry args={[300, 5, 300]} />
61
+ <meshStandardMaterial />
62
+ </mesh>
63
+ </RigidBody>
64
+ </Physics>
65
+ </Canvas>
66
+ </GaesupWorld>
67
+ );
68
+ }
69
+ ```
70
+
14
71
  ### Features
15
72
 
16
73
  - 3D character control based on React Three Fiber.
@@ -29,7 +29,7 @@ export default function playActions(_a) {
29
29
  },
30
30
  });
31
31
  }, [control]);
32
- var playAnimation = function (tag) {
32
+ var play = function (tag) {
33
33
  characterAnimations.current = tag;
34
34
  dispatch({
35
35
  type: "update",
@@ -50,13 +50,13 @@ export default function playActions(_a) {
50
50
  },
51
51
  });
52
52
  };
53
- var resetAni = function () { return playAnimation("idle"); };
54
- var playIdle = function () { return playAnimation("idle"); };
55
- var playWalk = function () { return playAnimation("walk"); };
56
- var playRun = function () { return playAnimation("run"); };
57
- var playJump = function () { return playAnimation("jump"); };
58
- var playFall = function () { return playAnimation("fall"); };
59
- var playRide = function () { return playAnimation("ride"); };
53
+ var resetAni = function () { return play("idle"); };
54
+ var playIdle = function () { return play("idle"); };
55
+ var playWalk = function () { return play("walk"); };
56
+ var playRun = function () { return play("run"); };
57
+ var playJump = function () { return play("jump"); };
58
+ var playFall = function () { return play("fall"); };
59
+ var playRide = function () { return play("ride"); };
60
60
  useEffect(function () {
61
61
  return function () {
62
62
  resetAni();
@@ -1,4 +1,4 @@
1
- import { propType } from "../controller/type";
2
- export default function cameraCollisionDetector(prop: propType): {
1
+ import { controllerInnerType } from "../controller/type";
2
+ export default function cameraCollisionDetector(prop: controllerInnerType): {
3
3
  checkCollision: (delta: number) => void;
4
4
  };
@@ -1,7 +1,7 @@
1
- import { propType, refsType } from "../controller/type";
1
+ import { controllerInnerType, refsType } from "../controller/type";
2
2
  export default function Camera({ refs, prop, control, }: {
3
3
  refs: refsType;
4
- prop: propType;
4
+ prop: controllerInnerType;
5
5
  control: {
6
6
  [key: string]: boolean;
7
7
  };
@@ -1,5 +1,5 @@
1
- import { propType, refsType } from "../controller/type";
2
- export declare function Airplane({ controllerProps, refs, }: {
3
- controllerProps: propType;
1
+ import { controllerInnerType, refsType } from "../controller/type";
2
+ export declare function Airplane({ props, refs, }: {
3
+ props: controllerInnerType;
4
4
  refs: refsType;
5
5
  }): import("react/jsx-runtime").JSX.Element;
@@ -6,9 +6,9 @@ import { CharacterInnerGroupRef } from "./gltf/CharacterGltf";
6
6
  import { AirplaneCollider, AirplaneGroup, AirplaneRigidBody, } from "./ref/airplane";
7
7
  import setInit from "./setInit";
8
8
  export function Airplane(_a) {
9
- var controllerProps = _a.controllerProps, refs = _a.refs;
9
+ var props = _a.props, refs = _a.refs;
10
10
  var rigidBodyRef = refs.rigidBodyRef, outerGroupRef = refs.outerGroupRef, capsuleColliderRef = refs.capsuleColliderRef, innerGroupRef = refs.innerGroupRef, characterInnerRef = refs.characterInnerRef;
11
- calculation(controllerProps);
11
+ calculation(props);
12
12
  setInit(rigidBodyRef);
13
- return (_jsx(_Fragment, { children: _jsx(AirplaneGroup, { ref: outerGroupRef, controllerProps: controllerProps, children: _jsxs(AirplaneRigidBody, { ref: rigidBodyRef, controllerProps: controllerProps, children: [_jsx(AirplaneCollider, { prop: controllerProps, ref: capsuleColliderRef }), controllerProps.isRider && (_jsx(CharacterInnerGroupRef, { prop: controllerProps, groupProps: controllerProps.groupProps, groundRay: controllerProps.groundRay, refs: refs, callbacks: controllerProps.callbacks, isRider: controllerProps.isRider, ref: characterInnerRef })), _jsx(AirplaneInnerGroupRef, { ref: innerGroupRef })] }) }) }));
13
+ return (_jsx(_Fragment, { children: _jsx(AirplaneGroup, { ref: outerGroupRef, props: props, children: _jsxs(AirplaneRigidBody, { ref: rigidBodyRef, props: props, children: [_jsx(AirplaneCollider, { prop: props, ref: capsuleColliderRef }), props.isRider && (_jsx(CharacterInnerGroupRef, { props: props, groundRay: props.groundRay, refs: refs, ref: characterInnerRef })), _jsx(AirplaneInnerGroupRef, { ref: innerGroupRef })] }) }) }));
14
14
  }
@@ -1,5 +1,5 @@
1
- import { propType, refsType } from "../controller/type";
2
- export declare function Character({ controllerProps, refs, }: {
3
- controllerProps: propType;
1
+ import { controllerInnerType, refsType } from "../controller/type";
2
+ export declare function Character({ props, refs, }: {
3
+ props: controllerInnerType;
4
4
  refs: refsType;
5
5
  }): import("react/jsx-runtime").JSX.Element;
@@ -5,9 +5,9 @@ import { CharacterInnerGroupRef, InnerGroupRef } from "./gltf/CharacterGltf";
5
5
  import { CharacterCapsuleCollider, CharacterGroup, CharacterRigidBody, CharacterSlopeRay, } from "./ref/character";
6
6
  import setInit from "./setInit";
7
7
  export function Character(_a) {
8
- var controllerProps = _a.controllerProps, refs = _a.refs;
8
+ var props = _a.props, refs = _a.refs;
9
9
  var capsuleColliderRef = refs.capsuleColliderRef, rigidBodyRef = refs.rigidBodyRef, outerGroupRef = refs.outerGroupRef, slopeRayOriginRef = refs.slopeRayOriginRef, characterInnerRef = refs.characterInnerRef, innerGroupRef = refs.innerGroupRef;
10
- calculation(controllerProps);
10
+ calculation(props);
11
11
  setInit(rigidBodyRef);
12
- return (_jsxs(CharacterRigidBody, { ref: rigidBodyRef, controllerProps: controllerProps, children: [_jsx(CharacterCapsuleCollider, { prop: controllerProps, ref: capsuleColliderRef }), _jsxs(CharacterGroup, { ref: outerGroupRef, controllerProps: controllerProps, children: [_jsx(CharacterSlopeRay, { slopeRay: controllerProps.slopeRay, groundRay: controllerProps.groundRay, ref: slopeRayOriginRef }), controllerProps.children, _jsx(InnerGroupRef, { ref: innerGroupRef }), _jsx(CharacterInnerGroupRef, { prop: controllerProps, groupProps: controllerProps.groupProps, groundRay: controllerProps.groundRay, refs: refs, callbacks: controllerProps.callbacks, ref: characterInnerRef, isRider: false })] })] }));
12
+ return (_jsxs(CharacterRigidBody, { ref: rigidBodyRef, props: props, children: [_jsx(CharacterCapsuleCollider, { props: props, ref: capsuleColliderRef }), _jsxs(CharacterGroup, { ref: outerGroupRef, props: props, children: [_jsx(CharacterSlopeRay, { slopeRay: props.slopeRay, groundRay: props.groundRay, ref: slopeRayOriginRef }), props.children, _jsx(InnerGroupRef, { ref: innerGroupRef }), _jsx(CharacterInnerGroupRef, { props: props, groundRay: props.groundRay, refs: refs, ref: characterInnerRef })] })] }));
13
13
  }
@@ -1,5 +1,5 @@
1
- import { propType, refsType } from "../controller/type";
2
- export declare function Vehicle({ controllerProps, refs, }: {
3
- controllerProps: propType;
1
+ import { controllerInnerType, refsType } from "../controller/type";
2
+ export declare function Vehicle({ props, refs, }: {
3
+ props: controllerInnerType;
4
4
  refs: refsType;
5
5
  }): import("react/jsx-runtime").JSX.Element;
@@ -7,9 +7,9 @@ import { Wheels } from "./gltf/WheelJoint";
7
7
  import { VehicleCollider, VehicleGroup, VehicleRigidBody } from "./ref/vehicle";
8
8
  import setInit from "./setInit";
9
9
  export function Vehicle(_a) {
10
- var controllerProps = _a.controllerProps, refs = _a.refs;
10
+ var props = _a.props, refs = _a.refs;
11
11
  var rigidBodyRef = refs.rigidBodyRef, outerGroupRef = refs.outerGroupRef, characterInnerRef = refs.characterInnerRef, innerGroupRef = refs.innerGroupRef;
12
- calculation(controllerProps);
12
+ calculation(props);
13
13
  setInit(rigidBodyRef);
14
- return (_jsxs(VehicleGroup, { ref: outerGroupRef, controllerProps: controllerProps, children: [_jsxs(VehicleRigidBody, { ref: rigidBodyRef, controllerProps: controllerProps, children: [_jsx(VehicleCollider, {}), controllerProps.isRider && (_jsx(CharacterInnerGroupRef, { prop: controllerProps, groupProps: controllerProps.groupProps, groundRay: controllerProps.groundRay, refs: refs, callbacks: controllerProps.callbacks, ref: characterInnerRef, isRider: true })), _jsx(VehicleInnerGroupRef, { ref: innerGroupRef })] }), _jsx(Wheels, { prop: controllerProps })] }));
14
+ return (_jsxs(VehicleGroup, { ref: outerGroupRef, props: props, children: [_jsxs(VehicleRigidBody, { ref: rigidBodyRef, props: props, children: [_jsx(VehicleCollider, {}), props.isRider && (_jsx(CharacterInnerGroupRef, { props: props, groundRay: props.groundRay, refs: refs, ref: characterInnerRef })), _jsx(VehicleInnerGroupRef, { ref: innerGroupRef })] }), _jsx(Wheels, { props: props })] }));
15
15
  }
@@ -1,14 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { GroupProps } from "@react-three/fiber";
3
- import { groundRayType, propType, refsType } from "../../controller/type";
2
+ import { controllerInnerType, groundRayType, refsType } from "../../controller/type";
4
3
  import { callbackType } from "../../initial/callback/type";
5
4
  export type characterGltfType = {
6
- prop: propType;
7
- groupProps?: GroupProps;
5
+ props: controllerInnerType;
8
6
  groundRay: groundRayType;
9
7
  refs: refsType;
10
8
  callbacks?: callbackType;
11
- isRider?: boolean;
12
9
  };
13
10
  export declare const InnerGroupRef: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("three").Group<import("three").Object3DEventMap>>>;
14
11
  export declare const CharacterInnerGroupRef: import("react").ForwardRefExoticComponent<characterGltfType & import("react").RefAttributes<import("three").Group<import("three").Object3DEventMap>>>;
@@ -18,23 +18,21 @@ export var InnerGroupRef = forwardRef(function (_, ref) {
18
18
  return _jsx("group", { ref: ref, visible: false });
19
19
  });
20
20
  export var CharacterInnerGroupRef = forwardRef(function (_a, ref) {
21
- var prop = _a.prop, groupProps = _a.groupProps, groundRay = _a.groundRay, refs = _a.refs, callbacks = _a.callbacks, isRider = _a.isRider;
21
+ var props = _a.props, groundRay = _a.groundRay, refs = _a.refs;
22
22
  var gltf = useContext(GaesupWorldContext).characterGltf;
23
23
  var materials = gltf.materials, nodes = gltf.nodes;
24
24
  var _b = useContext(GaesupWorldContext), characterCollider = _b.characterCollider, vehicleCollider = _b.vehicleCollider;
25
25
  initCallback({
26
- prop: prop,
27
- callbacks: callbacks,
28
- outerGroupRef: refs.outerGroupRef,
26
+ props: props,
29
27
  });
30
28
  playActions({
31
29
  outerGroupRef: refs.outerGroupRef,
32
30
  groundRay: groundRay,
33
- isRider: isRider,
31
+ isRider: props.isRider,
34
32
  });
35
- return (_jsx(_Fragment, { children: nodes && materials && (_jsxs("group", __assign({ receiveShadow: true, castShadow: true }, groupProps, { position: [
33
+ return (_jsx(_Fragment, { children: nodes && materials && (_jsxs("group", __assign({ receiveShadow: true, castShadow: true }, props.groupProps, { position: [
36
34
  0,
37
- isRider
35
+ props.isRider
38
36
  ? vehicleCollider.vehicleSizeY / 2
39
37
  : -characterCollider.height,
40
38
  0,
@@ -1,4 +1,4 @@
1
- import { propType } from "../../controller/type";
2
- export declare function Wheels({ prop }: {
3
- prop: propType;
1
+ import { controllerInnerType } from "../../controller/type";
2
+ export declare function Wheels({ props }: {
3
+ props: controllerInnerType;
4
4
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { createRef, useContext, useRef } from "react";
3
+ import { GaesupControllerContext } from "../../controller/context";
3
4
  import { GaesupWorldContext } from "../../world/context";
4
5
  import { WheelRegidBodyRef } from "../ref/vehicle";
5
6
  export function Wheels(_a) {
6
- var prop = _a.prop;
7
- var rigidBodyRef = prop.rigidBodyRef, constant = prop.constant;
8
- var wheelOffset = constant.wheelOffset;
7
+ var props = _a.props;
8
+ var rigidBodyRef = props.rigidBodyRef;
9
+ var wheelOffset = useContext(GaesupControllerContext).vehicle.wheelOffset;
9
10
  var collider = useContext(GaesupWorldContext).vehicleCollider;
10
11
  var vehicleSizeX = collider.vehicleSizeX, vehicleSizeZ = collider.vehicleSizeZ, wheelSizeX = collider.wheelSizeX, wheelSizeZ = collider.wheelSizeZ;
11
12
  var X = (vehicleSizeX + wheelSizeX) / 2 + wheelOffset;
@@ -2,15 +2,15 @@ import { Collider } from "@dimforge/rapier3d-compat";
2
2
  import { RapierRigidBody } from "@react-three/rapier";
3
3
  import { ReactNode } from "react";
4
4
  import * as THREE from "three";
5
- import { controllerType, propType } from "../../controller/type";
5
+ import { controllerInnerType, controllerType } from "../../controller/type";
6
6
  export declare const AirplaneRigidBody: import("react").ForwardRefExoticComponent<{
7
- controllerProps: propType;
7
+ props: controllerInnerType;
8
8
  children: ReactNode;
9
9
  } & import("react").RefAttributes<RapierRigidBody>>;
10
10
  export declare const AirplaneCollider: import("react").ForwardRefExoticComponent<{
11
- prop: propType;
11
+ prop: controllerInnerType;
12
12
  } & import("react").RefAttributes<Collider>>;
13
13
  export declare const AirplaneGroup: import("react").ForwardRefExoticComponent<{
14
- controllerProps: controllerType;
14
+ props: controllerType;
15
15
  children: ReactNode;
16
16
  } & import("react").RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
@@ -16,11 +16,11 @@ import { getRayHit } from "../../utils/ray";
16
16
  import { useForwardRef } from "../../utils/ref";
17
17
  import { GaesupWorldContext } from "../../world/context";
18
18
  export var AirplaneRigidBody = forwardRef(function (_a, ref) {
19
- var controllerProps = _a.controllerProps, children = _a.children;
20
- return (_jsxs(RigidBody, __assign({ colliders: false, ref: ref }, controllerProps.rigidBodyProps, { children: [controllerProps.debug && (_jsx("mesh", { visible: controllerProps.debug, children: _jsx("arrowHelper", { args: [
21
- controllerProps.groundRay.dir,
22
- controllerProps.groundRay.origin,
23
- controllerProps.groundRay.length,
19
+ var props = _a.props, children = _a.children;
20
+ return (_jsxs(RigidBody, __assign({ colliders: false, ref: ref }, props.rigidBodyProps, { children: [props.debug && (_jsx("mesh", { visible: props.debug, children: _jsx("arrowHelper", { args: [
21
+ props.groundRay.dir,
22
+ props.groundRay.origin,
23
+ props.groundRay.length,
24
24
  ] }) })), children] })));
25
25
  });
26
26
  export var AirplaneCollider = forwardRef(function (_a, ref) {
@@ -41,6 +41,6 @@ export var AirplaneCollider = forwardRef(function (_a, ref) {
41
41
  return (_jsx(CuboidCollider, { ref: ref, args: [airplaneSizeX / 2, airplaneSizeY / 2, airplaneSizeZ / 2], position: [0, airplaneSizeY / 2, 0] }));
42
42
  });
43
43
  export var AirplaneGroup = forwardRef(function (_a, ref) {
44
- var controllerProps = _a.controllerProps, children = _a.children;
45
- return (_jsx("group", __assign({ ref: ref, userData: { intangible: true } }, controllerProps.airplane, { children: children })));
44
+ var props = _a.props, children = _a.children;
45
+ return (_jsx("group", __assign({ ref: ref, userData: { intangible: true } }, props.airplane, { children: children })));
46
46
  });
@@ -2,16 +2,16 @@ import { Collider } from "@dimforge/rapier3d-compat";
2
2
  import { RapierRigidBody } from "@react-three/rapier";
3
3
  import { ReactNode } from "react";
4
4
  import * as THREE from "three";
5
- import { controllerType, groundRayType, propType, slopeRayType } from "../../controller/type";
5
+ import { controllerInnerType, controllerType, groundRayType, slopeRayType } from "../../controller/type";
6
6
  export declare const CharacterRigidBody: import("react").ForwardRefExoticComponent<{
7
- controllerProps: propType;
7
+ props: controllerInnerType;
8
8
  children: ReactNode;
9
9
  } & import("react").RefAttributes<RapierRigidBody>>;
10
10
  export declare const CharacterCapsuleCollider: import("react").ForwardRefExoticComponent<{
11
- prop: propType;
11
+ props: controllerInnerType;
12
12
  } & import("react").RefAttributes<Collider>>;
13
13
  export declare const CharacterGroup: import("react").ForwardRefExoticComponent<{
14
- controllerProps: controllerType;
14
+ props: controllerType;
15
15
  children: ReactNode;
16
16
  } & import("react").RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
17
17
  export declare const CharacterSlopeRay: import("react").ForwardRefExoticComponent<{
@@ -16,20 +16,20 @@ import { getRayHit } from "../../utils/ray";
16
16
  import { useForwardRef } from "../../utils/ref";
17
17
  import { GaesupWorldContext } from "../../world/context";
18
18
  export var CharacterRigidBody = forwardRef(function (_a, ref) {
19
- var controllerProps = _a.controllerProps, children = _a.children;
20
- return (_jsxs(RigidBody, __assign({ colliders: false, canSleep: false, ref: ref }, controllerProps.rigidBodyProps, { children: [controllerProps.debug && (_jsx("mesh", { visible: controllerProps.debug, children: _jsx("arrowHelper", { args: [
21
- controllerProps.groundRay.dir,
22
- controllerProps.groundRay.origin,
23
- controllerProps.groundRay.length,
19
+ var props = _a.props, children = _a.children;
20
+ return (_jsxs(RigidBody, __assign({ colliders: false, canSleep: false, ref: ref }, props.rigidBodyProps, { children: [props.debug && (_jsx("mesh", { visible: props.debug, children: _jsx("arrowHelper", { args: [
21
+ props.groundRay.dir,
22
+ props.groundRay.origin,
23
+ props.groundRay.length,
24
24
  ] }) })), children] })));
25
25
  });
26
26
  export var CharacterCapsuleCollider = forwardRef(function (_a, ref) {
27
27
  var _b;
28
- var prop = _a.prop;
28
+ var props = _a.props;
29
29
  var collider = useContext(GaesupWorldContext).characterCollider;
30
30
  var colliderRef = useForwardRef(ref);
31
31
  var rapier = useRapier().rapier;
32
- var groundRay = prop.groundRay, slopeRay = prop.slopeRay;
32
+ var groundRay = props.groundRay, slopeRay = props.slopeRay;
33
33
  groundRay.length = collider.radius + 2;
34
34
  groundRay.rayCast = new rapier.Ray(groundRay.origin, groundRay.dir);
35
35
  groundRay.hit = getRayHit({
@@ -43,8 +43,8 @@ export var CharacterCapsuleCollider = forwardRef(function (_a, ref) {
43
43
  return (_jsx(CapsuleCollider, { ref: ref, args: [collider.height, collider.radius] }));
44
44
  });
45
45
  export var CharacterGroup = forwardRef(function (_a, ref) {
46
- var controllerProps = _a.controllerProps, children = _a.children;
47
- return (_jsx("group", __assign({ ref: ref, userData: { intangible: true } }, controllerProps.character, { children: children })));
46
+ var props = _a.props, children = _a.children;
47
+ return (_jsx("group", __assign({ ref: ref, userData: { intangible: true } }, props.character, { children: children })));
48
48
  });
49
49
  export var CharacterSlopeRay = forwardRef(function (_a, ref) {
50
50
  var groundRay = _a.groundRay, slopeRay = _a.slopeRay;
@@ -2,14 +2,14 @@ import { Collider } from "@dimforge/rapier3d-compat";
2
2
  import { RapierRigidBody } from "@react-three/rapier";
3
3
  import { ReactNode, RefObject } from "react";
4
4
  import * as THREE from "three";
5
- import { controllerType, propType } from "../../controller/type";
5
+ import { controllerInnerType, controllerType } from "../../controller/type";
6
6
  export declare const VehicleRigidBody: import("react").ForwardRefExoticComponent<{
7
- controllerProps: propType;
7
+ props: controllerInnerType;
8
8
  children: ReactNode;
9
9
  } & import("react").RefAttributes<RapierRigidBody>>;
10
10
  export declare const VehicleCollider: import("react").ForwardRefExoticComponent<import("react").RefAttributes<Collider>>;
11
11
  export declare const VehicleGroup: import("react").ForwardRefExoticComponent<{
12
- controllerProps: controllerType;
12
+ props: controllerType;
13
13
  children: ReactNode;
14
14
  } & import("react").RefAttributes<THREE.Group<THREE.Object3DEventMap>>>;
15
15
  export type wheelRegidBodyType = {
@@ -16,11 +16,11 @@ import { forwardRef, useContext } from "react";
16
16
  import { S3 } from "../../utils/constant";
17
17
  import { GaesupWorldContext } from "../../world/context";
18
18
  export var VehicleRigidBody = forwardRef(function (_a, ref) {
19
- var controllerProps = _a.controllerProps, children = _a.children;
20
- return (_jsxs(RigidBody, __assign({ colliders: false, ref: ref }, controllerProps.rigidBodyProps, { children: [controllerProps.debug && (_jsx("mesh", { visible: controllerProps.debug, children: _jsx("arrowHelper", { args: [
21
- controllerProps.groundRay.dir,
22
- controllerProps.groundRay.origin,
23
- controllerProps.groundRay.length,
19
+ var props = _a.props, children = _a.children;
20
+ return (_jsxs(RigidBody, __assign({ colliders: false, ref: ref }, props.rigidBodyProps, { children: [props.debug && (_jsx("mesh", { visible: props.debug, children: _jsx("arrowHelper", { args: [
21
+ props.groundRay.dir,
22
+ props.groundRay.origin,
23
+ props.groundRay.length,
24
24
  ] }) })), children] })));
25
25
  });
26
26
  export var VehicleCollider = forwardRef(function (_, ref) {
@@ -29,8 +29,8 @@ export var VehicleCollider = forwardRef(function (_, ref) {
29
29
  return (_jsx(CuboidCollider, { ref: ref, args: [vehicleSizeX / 2, vehicleSizeY / 2, vehicleSizeZ / 2], position: [0, vehicleSizeY / 2, 0] }));
30
30
  });
31
31
  export var VehicleGroup = forwardRef(function (_a, ref) {
32
- var controllerProps = _a.controllerProps, children = _a.children;
33
- return (_jsx("group", __assign({ ref: ref, userData: { intangible: true } }, controllerProps.vehicle, { children: children })));
32
+ var props = _a.props, children = _a.children;
33
+ return (_jsx("group", __assign({ ref: ref, userData: { intangible: true } }, props.vehicle, { children: children })));
34
34
  });
35
35
  export var WheelRegidBodyRef = forwardRef(function (_a, ref) {
36
36
  var wheelPosition = _a.wheelPosition, wheelsUrl = _a.wheelsUrl, bodyRef = _a.bodyRef, wheel = _a.wheel, bodyAnchor = _a.bodyAnchor, wheelAnchor = _a.wheelAnchor, rotationAxis = _a.rotationAxis;
@@ -1,10 +1,17 @@
1
1
  /// <reference types="react" />
2
- import { dispatchType } from "../../tools/type.js";
3
- import { gaesupControllerType, orthographicCameraType, perspectiveCameraType } from "./type.js";
2
+ import { dispatchType } from "../../utils/type";
3
+ import { gaesupControllerType, orthographicCameraType, perspectiveCameraType } from "./type";
4
4
  export declare const gaesupControllerDefault: {
5
5
  cameraMode: perspectiveCameraType | orthographicCameraType;
6
6
  cameraOption: {
7
7
  offset: import("three").Vector3;
8
+ initDistance: number;
9
+ maxDistance: number;
10
+ minDistance: number;
11
+ initDir: number;
12
+ collisionOff: number;
13
+ distance: number;
14
+ camFollow: number;
8
15
  };
9
16
  perspectiveCamera: {
10
17
  isFront: boolean;
@@ -17,22 +24,42 @@ export declare const gaesupControllerDefault: {
17
24
  far: number;
18
25
  };
19
26
  airplane: {
20
- angleChange: import("three").Vector3;
27
+ angleDelta: import("three").Vector3;
21
28
  maxAngle: import("three").Vector3;
22
29
  maxSpeed: number;
23
30
  accelRatio: number;
31
+ brakeRatio: number;
32
+ buoyancy: number;
33
+ linearDamping: number;
24
34
  };
25
35
  vehicle: {
26
- angleChange: import("three").Vector3;
27
- maxAngle: import("three").Vector3;
28
36
  maxSpeed: number;
29
37
  accelRatio: number;
38
+ brakeRatio: number;
39
+ wheelOffset: number;
40
+ linearDamping: number;
30
41
  };
31
42
  character: {
32
- angleChange: import("three").Vector3;
33
- maxAngle: import("three").Vector3;
34
- maxSpeed: number;
35
- accelRatio: number;
43
+ walkSpeed: number;
44
+ runSpeed: number;
45
+ turnSpeed: number;
46
+ jumpSpeed: number;
47
+ linearDamping: number;
48
+ };
49
+ callbacks: {
50
+ onReady: () => void;
51
+ onFrame: () => void;
52
+ onDestory: () => void;
53
+ onAnimate: () => void;
54
+ };
55
+ refs: {
56
+ capsuleColliderRef: any;
57
+ rigidBodyRef: any;
58
+ outerGroupRef: any;
59
+ innerGroupRef: any;
60
+ slopeRayOriginRef: any;
61
+ characterInnerRef: any;
62
+ jointRefs: any;
36
63
  };
37
64
  isRider: boolean;
38
65
  };
@@ -10,7 +10,7 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { createContext } from "react";
13
- import { V3 } from "../../utils/vector.js";
13
+ import { V3 } from "../../utils/vector";
14
14
  export var gaesupControllerDefault = {
15
15
  cameraMode: {
16
16
  cameraType: "perspective",
@@ -18,6 +18,13 @@ export var gaesupControllerDefault = {
18
18
  },
19
19
  cameraOption: {
20
20
  offset: V3(-10, -10, -10),
21
+ initDistance: -5,
22
+ maxDistance: -7,
23
+ minDistance: -0.7,
24
+ initDir: 0,
25
+ collisionOff: 0.7,
26
+ distance: -1,
27
+ camFollow: 11,
21
28
  },
22
29
  perspectiveCamera: {
23
30
  isFront: true,
@@ -30,22 +37,43 @@ export var gaesupControllerDefault = {
30
37
  far: 1000,
31
38
  },
32
39
  airplane: {
33
- angleChange: V3(0.01, 0.005, 0.005),
40
+ angleDelta: V3(0.01, 0.005, 0.005),
34
41
  maxAngle: V3(0.1, 0.1, 0.1),
35
42
  maxSpeed: 60,
36
43
  accelRatio: 2,
44
+ brakeRatio: 5,
45
+ buoyancy: 0.5,
46
+ linearDamping: 1,
37
47
  },
38
48
  vehicle: {
39
- angleChange: V3(0.01, 0.005, 0.005),
40
- maxAngle: V3(0.1, 0.1, 0.1),
41
49
  maxSpeed: 60,
42
50
  accelRatio: 2,
51
+ brakeRatio: 5,
52
+ wheelOffset: 0.1,
53
+ linearDamping: 0.5,
43
54
  },
44
55
  character: {
45
- angleChange: V3(0.01, 0.005, 0.005),
46
- maxAngle: V3(0.1, 0.1, 0.1),
47
- maxSpeed: 60,
48
- accelRatio: 2,
56
+ // constant
57
+ walkSpeed: 4,
58
+ runSpeed: 10,
59
+ turnSpeed: 10,
60
+ jumpSpeed: 5,
61
+ linearDamping: 1,
62
+ },
63
+ callbacks: {
64
+ onReady: function () { },
65
+ onFrame: function () { },
66
+ onDestory: function () { },
67
+ onAnimate: function () { },
68
+ },
69
+ refs: {
70
+ capsuleColliderRef: null,
71
+ rigidBodyRef: null,
72
+ outerGroupRef: null,
73
+ innerGroupRef: null,
74
+ slopeRayOriginRef: null,
75
+ characterInnerRef: null,
76
+ jointRefs: null,
49
77
  },
50
78
  isRider: false,
51
79
  };
@@ -1,14 +1,16 @@
1
- import { gaesupControllerType } from "./type.js";
1
+ import { gaesupControllerType } from "./type";
2
2
  export declare function gaesupControllerReducer(props: gaesupControllerType, action: {
3
3
  type: string;
4
- payload?: gaesupControllerType;
4
+ payload?: Partial<gaesupControllerType>;
5
5
  }): {
6
- cameraMode: import("./type.js").gaesupCameraPropType;
7
- cameraOption: import("./type.js").gaesupCameraOptionType;
8
- perspectiveCamera: import("./type.js").perspectiveCameraPropType;
6
+ cameraMode: import("./type").gaesupCameraPropType;
7
+ cameraOption: import("./type").cameraOptionType;
8
+ perspectiveCamera: import("./type").perspectiveCameraPropType;
9
9
  orthographicCamera: import("@react-three/fiber").OrthographicCameraProps;
10
- airplane: import("./type.js").airplaneType;
11
- vehicle: import("./type.js").vehicleType;
12
- character: import("./type.js").characterType;
10
+ airplane: import("./type").airplaneType;
11
+ vehicle: import("./type").vehicleType;
12
+ character: import("./type").characterType;
13
13
  isRider: boolean;
14
+ callbacks: import("../../initial/callback/type").callbackType;
15
+ refs: import("../type").refsType;
14
16
  };