-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTerrain-Response.html
More file actions
126 lines (117 loc) · 10 KB
/
Terrain-Response.html
File metadata and controls
126 lines (117 loc) · 10 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!doctype html>
<!--#region page background --------------------------------------------------------------------------------------------------------->
<html lang="en" class="background-dark">
<!--#endregion page background ------------------------------------------------------------------------------------------------------>
<head>
<!--#region copypasta head -->
<!-- copypasta head [Felewin Website Template] --><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon" href="images/Icon.png"><link rel="stylesheet" href="css/reset.css"><link rel="stylesheet" href="css/bootstrap.min.css"><link rel="stylesheet" href="css/animate.css"><link rel="stylesheet" href="css/hover-min.css"><link rel="stylesheet" href="css/starfield.css"><link rel="stylesheet" href="css/Felewin-baseline.css"><link rel="stylesheet" href="css/custom/colors.css"><link rel="stylesheet" href="css/custom/elements.css"><link rel="stylesheet" href="css/custom/classes.css"><link rel="stylesheet" href="css/custom/identifiers.css"><script src="https://kit.fontawesome.com/4d6df66743.js" crossorigin="anonymous"></script>
<!--#endregion copypasta head -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --->
<!--#region page metadata - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --->
<meta name="description" content="Free and open source toolkit for VR locomotion"> <!-- description (shown on searchengine result) -->
<meta name="keywords" content="Moon, Motion, Project, Toolkit, free, open, source, toolkit, VR, locomotion"> <!-- keywords for searchengine optimization -->
<meta name="author" content="Moon Motion Project"> <!-- author name -->
<meta name="theme-color" content="#0073ad"> <!-- Android Chrome bar color -->
<title>Moon Motion Toolkit</title> <!-- title -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --->
<!--#endregion page metadata - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --->
</head>
<!---------------------------------------------------------------------------------------------------------------------------------->
<!--#region page content ----------------------------------------------------------------------------------------------------------->
<!---------------------------------------------------------------------------------------------------------------------------------->
<body class="docs-scrollbar">
<!-- logo - icon only (for mobile) -->
<div class="absolute">
<a href="index.html">
<img src="images/Icon.png" class="logo docs-logo unselectable hvr-float-shadow display-only-below-tablet-landscape-dimensions"/>
</a>
</div>
<!-- logo (for tablet+) -->
<div class="absolute">
<a href="index.html">
<img src="images/Logo.png" class="logo docs-logo unselectable hvr-float-shadow display-only-by-tablet-landscape-dimensions"/>
</a>
</div>
<!-- modified Git Hub Corner (https://github.com/tholman/github-corners); original � Tim Holman 2016 -->
<div>
<a href="https://github.com/MoonMotionProject/MoonMotion" class="git-hub-corner" aria-label="Access the repository"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:var(--color-main); color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.git-hub-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.git-hub-corner:hover .octo-arm{animation:none}.git-hub-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
</div>
<!-- docs -->
<div class="pad background-dark">
<!-- Documentation top (to appear to keep among Documentations) -->
<div class="unselectable">
<!-- Documentation link header -->
<a href="Documentation.html">
<h2 class="docs-link-header docs-margin-top">
Documentation
</h2>
</a>
<!-- divider -->
<div class="pad-divider"></div>
<br>
</div>
<!-- Player top (to appear to keep among Player) -->
<div class="unselectable">
<!-- Locomotions link header -->
<a href="Player.html">
<h2 class="docs-link-header">
Player
</h2>
</a>
<!-- divider -->
<div class="pad-divider"></div>
<br>
</div>
<!-- subDocumentation (to animate in) -->
<div>
<!-- subDocumentation fader (to animate in softly) -->
<div class="wow fadeIn fadeInUp_disabled">
<!-- header -->
<h2 class="weight-heavy wow fadeIn">
Terrain Response
</h2>
<!-- divider -->
<div class="pad-divider wow fadeIn"></div>
</div>
<br>
<br>
<!-- subDocumentation flyer (to animate in intensely) -->
<div class="wow fadeIn fadeInUp_disabled">
<!-- article -->
<div class="article-padding align-left">
<!-- description -->
<p class="wow fadeIn">
Terrain Response specifies terrain layers and broadcasts liftoff/landing events about the player contacting the terrain. Any script can subscribe to these events. It also <a href="Dynamic-Movement-Audio.html">plays liftoff/landing audio</a> according to its own events.
</p>
<p class="wow fadeIn">
There are two categories of terrain: ground and nonground. Ground is considered a more particular kind of terrain, usually characterized by being relatively flat such as a floor or the surface of the earth – although you can associate it with whatever you like. The nonground category is meant to be used for other terrain aspects such as rocks, debris, stairs, crates, and the like (depending on how your game will work).
</p>
<p class="wow fadeIn">
<a href="Dynamic-Player-Colliders.html">Player collision</a> and raycasting are used with both terrain categories to track whether the player is currently grounded (colliding with ground terrain) or terrained (colliding with either ground or nonground terrain).
</p>
<p class="wow fadeIn">
For example, by default, <a href="Booster-Diminisher.html">Booster Diminishing</a> only recognizes ground terrain. Nonground terrain might be a rock, for example, which you don't want to affect Booster Diminishing. If the player is flying at max height over the terrain, and rocks are considered to be ground terrain, the player would "ride" over the rock, even though the player is quite high up and it might not make sense for the rock to affect the player's altitude. In that case you could simply change the rocks to a nonground terrain layer so that Diminishing won't recognize it. Determine what makes the most sense for your situation.
<p class="wow fadeIn">
Or for another example, maybe you want to allow <a href="Flipping.html">Flipping</a> only while touching ground terrain, whereas <a href="Treading.html">Treading</a> is allowed while touching any kind of terrain, including a rock. That way, you can't flip upside down while standing on a rock, but you can still walk around on, and off of, the rock. So you would assign rocks to the nonground terrain layer. Then you would select the logic on both of those locomotions for when they are allowed, using the <a href="Dependencies.html">Dependencies</a> "When Grounded" and "When Terrained" for each locomotion, respectively.
</p>
<p class="wow fadeIn">
You can find the Terrain Response component directly on the <a href="Player-Prefab.html">Player prefab</a>:
</p>
<img src="images/Terrain Response Recognized Layers.jpg" class="docs-screenshot wow fadeIn"/>
<p class="wow fadeIn">
This is where you'll want to define which layers are considered ground terrain and nonground terrain. To change the layers for either of these recognized categories, edit the arrays shown above to match your particular layer names set in your Unity project's layers definitions.
</p>
</div>
</div>
</div>
</div>
<!--#region postJS -->
<!-- postJS [Felewin Website Template] --><script src="js/jquery-3.3.1.js"></script><script src="js/bootstrap.min.js"></script><script src="js/wow.min.js"></script><script>new WOW().init();</script><script src="js/animate.js"></script><script src="js/starfield.js"></script><script src="js/Felewin-baseline.js"></script><script src="js/Felewin-subpage-titling.js"></script>
<!--#endregion postJS -->
</body>
<!---------------------------------------------------------------------------------------------------------------------------------->
<!--#endregion page content -------------------------------------------------------------------------------------------------------->
<!---------------------------------------------------------------------------------------------------------------------------------->
</html>