Difference between revisions of "SubSpace"
RobinHood70 (talk | contribs) m (Rm trailing space) |
|||
Line 6: | Line 6: | ||
:*Make sure the subspace is placed to include all of the ground where an actor could stand in the area. If the ground is not included in the subspace, an actor standing on that ground may not realize they are in the subspace. | :*Make sure the subspace is placed to include all of the ground where an actor could stand in the area. If the ground is not included in the subspace, an actor standing on that ground may not realize they are in the subspace. | ||
:*Also make sure that the teleport doors in the area have their pivot point in the subspace (the reference dialog box can give you this information). If a door does not think it is part of the subspace, it will not be used for pathing into and out of that space. | :*Also make sure that the teleport doors in the area have their pivot point in the subspace (the reference dialog box can give you this information). If a door does not think it is part of the subspace, it will not be used for pathing into and out of that space. | ||
:*Subspaces can also be used as a means of making actors ignore behavior that would normally occur, such as detection, combat pathing, or reacting to attacks. An actor placed in normal space will ignore anything that happens within a subspace. An actor that is within a subspace will ignore everything outside that subspace. Actors may however cross subspace boundaries if they are currently in combat and the target lies within the same space. | :*Subspaces can also be used as a means of making actors ignore behavior that would normally occur, such as detection, combat pathing, or reacting to attacks. An actor placed in normal space will ignore anything that happens within a subspace. An actor that is within a subspace will ignore everything outside that subspace. Actors may however cross subspace boundaries if they are currently in combat and the target lies within the same space. | ||
SubSpaces can be found under Miscellaneous > SubSpace in the [[Object Window]]. | SubSpaces can be found under Miscellaneous > SubSpace in the [[Object Window]]. | ||
Once you place the blue subspace box in the render window you will not be able to move it or rotate it until you "solidify" it. Do this by going to the select view menu and then selecting "Solid Subspaces". | Once you place the blue subspace box in the render window you will not be able to move it or rotate it until you "solidify" it. Do this by going to the select view menu and then selecting "Solid Subspaces". | ||
== Advanced Usage == | == Advanced Usage == | ||
Subspaces can also be used in scripting by making them persistent and named references. Although they do not react to enable/disable functions, they can be moved into and out of place using setpos type functions. This can allow you to move a subspace over an area you want to enclose for the purposes of preventing NPC movement or reaction, and then move it back to allow normal NPC movement through that area. | Subspaces can also be used in scripting by making them persistent and named references. Although they do not react to enable/disable functions, they can be moved into and out of place using setpos type functions. This can allow you to move a subspace over an area you want to enclose for the purposes of preventing NPC movement or reaction, and then move it back to allow normal NPC movement through that area. | ||
A subspace can be used to make a [[map marker]] in the current [[World space|worldspace]] act as though it was in a separate one. This is especially useful when making your open city behave properly with respect to horse stabling. To achieve this: | A subspace can be used to make a [[map marker]] in the current [[World space|worldspace]] act as though it was in a separate one. This is especially useful when making your open city behave properly with respect to horse stabling. To achieve this: | ||
# Put a map marker inside your city and a horse marker in the stables outside the gates (or inside, or pretty much anywhere, it does not matter). | # Put a map marker inside your city and a horse marker in the stables outside the gates (or inside, or pretty much anywhere, it does not matter). | ||
# Create a small subspace (e.g. 50x50x100) and put it exactly below the map marker, making sure only a small portion of it sticks above ground, so that the map marker pivot point (i.e. its crosshair) is contained in it. | # Create a small subspace (e.g. 50x50x100) and put it exactly below the map marker, making sure only a small portion of it sticks above ground, so that the map marker pivot point (i.e. its crosshair) is contained in it. | ||
# Create a new [[door]] using any small static mesh (e.g. brick) and check the Hidden and Minimal Use flags. Place the door inside of the subspace, but below the ground, so that no part of it is visible or able to be interacted with in-game. Make sure the door's pivot point is contained within the subspace. Place another such door similarly below ground, anywhere in the same [[Exterior cells|exterior cell]] as your horse marker, then link the two doors. | # Create a new [[door]] using any small static mesh (e.g. brick) and check the Hidden and Minimal Use flags. Place the door inside of the subspace, but below the ground, so that no part of it is visible or able to be interacted with in-game. Make sure the door's pivot point is contained within the subspace. Place another such door similarly below ground, anywhere in the same [[Exterior cells|exterior cell]] as your horse marker, then link the two doors. | ||
# Turn on [[Edit Cell Path Grid|pathgrids]] to make sure that no gridpoint is contained within your mini-subspace. If any is, move either it or the entire map marker-subspace-door-teleport marker assemblage. Otherwise such gridpoints would be unusable for pathing. | # Turn on [[Edit Cell Path Grid|pathgrids]] to make sure that no gridpoint is contained within your mini-subspace. If any is, move either it or the entire map marker-subspace-door-teleport marker assemblage. Otherwise such gridpoints would be unusable for pathing. | ||
When you next travel on horse to your map marker inside your open city, you will be transported there dismounted, while your horse will be waiting for you at the stables. You can repeat this process as many times as you like, even using different stables for different markers, if you so wish. | When you next travel on horse to your map marker inside your open city, you will be transported there dismounted, while your horse will be waiting for you at the stables. You can repeat this process as many times as you like, even using different stables for different markers, if you so wish. | ||
[[Category:Path Finding]] | [[Category:Path Finding]] | ||
[[Category:Path Grids]] | [[Category:Path Grids]] |
Latest revision as of 11:08, 12 November 2024
- Subspace
- Subspaces are used to solve the problem of disconnected areas in the world space. Normally an actor will attempt to find a path in the world space that gets him to his destination. However, if there is no path, and the destination is in that same world space, the actor will not "think" to use load doors.
- For example, a house with a balcony needs a subspace to encapsulate the balcony. An actor on the balcony has no linked path grid to get to the street. Yet since the street is in the same world space, the actor makes the invalid assumption that such a path should exist. By surrounding the balcony with a subspace object, the actor sees the balcony and the street as being in two different world spaces. Now when he attempts to find a path to the street, he will assume that he has to go through one or more load doors.
- Under normal pathing routines, the actor will not cross a subspace boundary, even if a pathgrid exists or a direct open area exists that would let him. The exception to this is combat. In combat, an actor that is close to his target will move in a straight line toward his target, ignoring path grids and subspace boundaries.
- Make sure the subspace is placed to include all of the ground where an actor could stand in the area. If the ground is not included in the subspace, an actor standing on that ground may not realize they are in the subspace.
- Also make sure that the teleport doors in the area have their pivot point in the subspace (the reference dialog box can give you this information). If a door does not think it is part of the subspace, it will not be used for pathing into and out of that space.
- Subspaces can also be used as a means of making actors ignore behavior that would normally occur, such as detection, combat pathing, or reacting to attacks. An actor placed in normal space will ignore anything that happens within a subspace. An actor that is within a subspace will ignore everything outside that subspace. Actors may however cross subspace boundaries if they are currently in combat and the target lies within the same space.
SubSpaces can be found under Miscellaneous > SubSpace in the Object Window.
Once you place the blue subspace box in the render window you will not be able to move it or rotate it until you "solidify" it. Do this by going to the select view menu and then selecting "Solid Subspaces".
Advanced Usage[edit | edit source]
Subspaces can also be used in scripting by making them persistent and named references. Although they do not react to enable/disable functions, they can be moved into and out of place using setpos type functions. This can allow you to move a subspace over an area you want to enclose for the purposes of preventing NPC movement or reaction, and then move it back to allow normal NPC movement through that area.
A subspace can be used to make a map marker in the current worldspace act as though it was in a separate one. This is especially useful when making your open city behave properly with respect to horse stabling. To achieve this:
- Put a map marker inside your city and a horse marker in the stables outside the gates (or inside, or pretty much anywhere, it does not matter).
- Create a small subspace (e.g. 50x50x100) and put it exactly below the map marker, making sure only a small portion of it sticks above ground, so that the map marker pivot point (i.e. its crosshair) is contained in it.
- Create a new door using any small static mesh (e.g. brick) and check the Hidden and Minimal Use flags. Place the door inside of the subspace, but below the ground, so that no part of it is visible or able to be interacted with in-game. Make sure the door's pivot point is contained within the subspace. Place another such door similarly below ground, anywhere in the same exterior cell as your horse marker, then link the two doors.
- Turn on pathgrids to make sure that no gridpoint is contained within your mini-subspace. If any is, move either it or the entire map marker-subspace-door-teleport marker assemblage. Otherwise such gridpoints would be unusable for pathing.
When you next travel on horse to your map marker inside your open city, you will be transported there dismounted, while your horse will be waiting for you at the stables. You can repeat this process as many times as you like, even using different stables for different markers, if you so wish.