Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
0.8.3:charactercontrolling [2021/08/13 09:59] – [User-Friendly Events] admin | 0.8.3:charactercontrolling [2022/04/08 10:52] (current) – [Movement] admin | ||
---|---|---|---|
Line 99: | Line 99: | ||
|OnTriggerPoint |If a TGorillaTriggerPointManager component was linked to the first person controller, a trigger-point check will automatically be performed on movement. If then a trigger-point is in reach, the OnTriggerPoint event will be raised.| | |OnTriggerPoint |If a TGorillaTriggerPointManager component was linked to the first person controller, a trigger-point check will automatically be performed on movement. If then a trigger-point is in reach, the OnTriggerPoint event will be raised.| | ||
- | Basic movement | + | ==== Movement |
+ | |||
+ | Because | ||
^Property ^Description ^ | ^Property ^Description ^ | ||
Line 188: | Line 190: | ||
- | ===== Optional | + | ===== Optionally |
It's usual to handle different things during character controlling. So you'd like to check for special positions in 3D space and execute actions when getting triggered. Or you like to playback sounds on specific states or refer to a sound-map. | It's usual to handle different things during character controlling. So you'd like to check for special positions in 3D space and execute actions when getting triggered. Or you like to playback sounds on specific states or refer to a sound-map. | ||
Line 435: | Line 437: | ||
</ | </ | ||
- | Next step: [[android|Android]] | + | ==== Movement ==== |
+ | |||
+ | Since the latest version of Gorilla3D (v0.8.3.1995) we support kinematic character movement. | ||
+ | While previous versions worked completely on physics computation, | ||
+ | |||
+ | The true physics collision detection for characters works, but has bad sideeffects. | ||
+ | The most serious problem was stuttering characters which bounced off the terrain. | ||
+ | Also it was impossible to " | ||
+ | Even if this is more realistic, the usability was horrible for classic character movement. | ||
+ | |||
+ | So in the latest component state the " | ||
+ | Here we now cast a ray to detect the current position on objects instead of letting physics do the job. | ||
+ | Nevertheless interaction with static or dynamic objects is still available. | ||
+ | |||
+ | __Remark:__ In case you need the old behaviour, just switch " | ||
+ | |||
+ | Control you raycast-movement by some properties like Slop, RayDirection and RayOffset. | ||
+ | Especially the slopping value allows you to control f.e. the max. height of stairs to be able to walk. | ||
+ | |||
+ | ^Property^Description^ | ||
+ | |Slop|This only affects computation if UseRayCasting is enabled. The slop value is the maximum height a movement ray direction. Adjust this value to your specific scene, especially when walking of stairs or similar static objects. Default value is 0.5.| | ||
+ | |RayDirection|The RayDirection defines in which direction the controller will be adjusted. Default direction is (0, 1, 0), which means downwards.| | ||
+ | |RayOffset|Get or set ray offset from where the raycasting is started. The offset will be computed from current physics character controller position.| | ||
+ | |||
+ | Next step: [[prefabs|Prefabs]] |