mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Improve eye docs formatting
This commit is contained in:
parent
40d57b139e
commit
fc0dd05cf3
@ -3,6 +3,8 @@ title: Eye of the Universe
|
||||
description: A guide to adding additional content to the Eye of the Universe with New Horizons
|
||||
---
|
||||
|
||||
import { Aside } from "@astrojs/starlight/components";
|
||||
|
||||
This guide covers some 'gotchas' and features unique to the Eye of the Universe.
|
||||
|
||||
## Extending the Eye of the Universe
|
||||
@ -11,7 +13,7 @@ This guide covers some 'gotchas' and features unique to the Eye of the Universe.
|
||||
|
||||
To define a Star System config for the Eye of the Universe, name your star system config file `EyeOfTheUniverse.json` or specify the `"name"` as `"EyeOfTheUniverse"`. Note that many of the star system features have no effect at the Eye compared to a regular custom star system.
|
||||
|
||||
```json
|
||||
```json title="systems/EyeOfTheUniverse.json"
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Outer-Wilds-New-Horizons/new-horizons/main/NewHorizons/Schemas/star_system_schema.json",
|
||||
"name": "EyeOfTheUniverse",
|
||||
@ -23,7 +25,7 @@ To define a Star System config for the Eye of the Universe, name your star syste
|
||||
|
||||
The existing areas of the Eye of the Universe, such as the "sixth planet" and funnel, the museum/observatory, the forest of galaxies, and the campfire, are all contained within one static "planet" (despite visually being distinct locations). To add to these areas, you'll need to specify a planet config file with a `"name"` of `"EyeOfTheUniverse"` and *also* a `"starSystem"` of `"EyeOfTheUniverse"`, as the star system and "planet" share the same name.
|
||||
|
||||
```json
|
||||
```json title="planets/EyeOfTheUniverse.json"
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Outer-Wilds-New-Horizons/new-horizons/main/NewHorizons/Schemas/body_schema.json",
|
||||
"name": "EyeOfTheUniverse",
|
||||
@ -41,7 +43,7 @@ The existing areas of the Eye of the Universe, such as the "sixth planet" and fu
|
||||
|
||||
You can also add props to the Vessel at the Eye:
|
||||
|
||||
```json
|
||||
```json title="planets/Vessel.json"
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Outer-Wilds-New-Horizons/new-horizons/main/NewHorizons/Schemas/body_schema.json",
|
||||
"name": "Vessel",
|
||||
@ -55,9 +57,7 @@ You can also add props to the Vessel at the Eye:
|
||||
}
|
||||
```
|
||||
|
||||
## Eye-Specific Features
|
||||
|
||||
### Eye Travelers
|
||||
## Eye Travelers
|
||||
|
||||
Eye Travelers are a special kind of detail prop (see [Detailing](/guides/details/)) that get added in as additional characters around the campfire at the end of the Eye sequence, similar to Solanum and the Prisoner in the vanilla game.
|
||||
|
||||
@ -70,7 +70,7 @@ Custom travelers will automatically be included in the inflation animation that
|
||||
[Eye Travelers](#eye-travelers), [Quantum Instruments](#quantum-instruments), and [Instrument Zones](#instrument-zones) are all linked by their `"id"` properties. Ensure that your ID matches between those details and is unique enough to not conflict with other mods.
|
||||
|
||||
Here's an example config:
|
||||
```json
|
||||
```json title="planets/EyeOfTheUniverse.json"
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Outer-Wilds-New-Horizons/new-horizons/main/NewHorizons/Schemas/body_schema.json",
|
||||
"name": "EyeOfTheUniverse",
|
||||
@ -105,10 +105,11 @@ Here's an example config:
|
||||
|
||||
To see the full list of eye traveler properties and descriptions of what each property does, check [the EyeTravelerInfo schema](/schemas/body-schema/defs/eyetravelerinfo/).
|
||||
|
||||
On compatibility:
|
||||
> New Horizons changes the campfire sequence in minor ways to make it easier for mods which add additional travelers to be compatible with each other. The audio handling is changed so that instrument audio will be synchronized and layered with each other automatically. All travelers will be automatically repositioned in a circle around the campfire based on the total number of travelers, both vanilla and modded. As long as other details (such as quantum instruments and instrument zones) are not placed in the same locations as other existing mods, the campfire sequence changes will be compatible.
|
||||
<Aside title="On Compatibility">
|
||||
New Horizons changes the campfire sequence in minor ways to make it easier for mods which add additional travelers to be compatible with each other. The audio handling is changed so that instrument audio will be synchronized and layered with each other automatically. All travelers will be automatically repositioned in a circle around the campfire based on the total number of travelers, both vanilla and modded. As long as other details (such as quantum instruments and instrument zones) are not placed in the same locations as other existing mods, the campfire sequence changes will be compatible.
|
||||
</Aside>
|
||||
|
||||
#### Audio
|
||||
### Audio
|
||||
|
||||
The looping audio clip is used for the signals emitted by the traveler and their quantum instrument, and is the audio that gets played when they play their instrument. It should be a WAV file with 16 measures of music at 92 BPM (exactly 2,003,478 samples at 48,000 Hz, or approximately 42 seconds long). It is highly recommended that you use Audacity or another audio editor to trim your audio clip to exactly the same length as one of the vanilla traveler audio clips, or else it will fall gradually out of sync with the other instrument loops.
|
||||
|
||||
@ -116,7 +117,7 @@ The finale audio clip is only played once, after all travelers have started play
|
||||
|
||||
The game plays all of the looping audio clips (including your custom one) simultaneously once you tell the first traveler to start playing, and then fades them in one by one as you talk to the others. After all travelers are playing, the game selects a finale audio clip that contains all Hearthian and Nomai/Owlk instruments mixed into one file, and then your custom finale audio clip will be layered over whichever vanilla clip plays. Only include your own instrument in the clip, and ensure it sounds okay alongside Solanum, the Prisoner, and both/neither.
|
||||
|
||||
#### Dialogue
|
||||
### Dialogue
|
||||
|
||||
The dialogue XML for your traveler works like other dialogue (see the [Dialogue](/guides/dialogue/) guide) but there are specially named conditions you will need to use for the functionality to work as expected:
|
||||
- Use `<EntryCondition>AnyTravelersGathered</EntryCondition>` to check if any traveler has been gathered yet. This includes Riebeck and Esker, so it should always be true, unless you forcibly enable your traveler to be enabled early.
|
||||
@ -125,7 +126,7 @@ The dialogue XML for your traveler works like other dialogue (see the [Dialogue]
|
||||
- Use a `<SetCondition></SetCondition>` with the condition defined in your eye traveler config's `"startPlayingCondition"` on the node or dialogue option that should make your traveler start playing their instrument. This condition name must be unique and not conflict with other mods.
|
||||
- If you want your traveler to be present but have an option to not participate in the campfire song (like the Prisoner), use a `<SetCondition></SetCondition>` with the condition defined in your eye traveler config's `"participatingCondition"` on the node or dialogue option where your traveler agrees to join in. This condition name must be unique and not conflict with other mods.
|
||||
|
||||
```xml
|
||||
```xml title="planets/dialogue/SlateEyeTraveler.xml"
|
||||
<DialogueTree xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Outer-Wilds-New-Horizons/new-horizons/main/NewHorizons/Schemas/dialogue_schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<NameField>Slate, Probably</NameField>
|
||||
<DialogueNode>
|
||||
@ -198,11 +199,11 @@ The dialogue XML for your traveler works like other dialogue (see the [Dialogue]
|
||||
</DialogueTree>
|
||||
```
|
||||
|
||||
#### Custom Animation
|
||||
### Custom Animation
|
||||
|
||||
To add custom animations to your Eye Traveler, there is some setup work that has to be done in Unity. You will need to set up your character in Unity and load them via asset bundle, like you would any other detail:
|
||||
|
||||
```json
|
||||
```json title="planets/EyeOfTheUniverse.json"
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Outer-Wilds-New-Horizons/new-horizons/main/NewHorizons/Schemas/body_schema.json",
|
||||
"name": "EyeOfTheUniverse",
|
||||
@ -233,7 +234,7 @@ In your character object, find the `Animator` component and set its `Controller`
|
||||
|
||||
If everything was set up correctly, your character should play their animations in-game.
|
||||
|
||||
### Quantum Instruments
|
||||
## Quantum Instruments
|
||||
|
||||
Quantum instruments are the interactible instruments, typically hidden by a short 'puzzle', that cause their corresponding traveler to appear around the campfire. They are just like any other detail prop (see [Detailing](/guides/details/)) but they have additional handling to only activate after gathering and speaking to Riebeck, like the other instrument 'puzzles' in the Eye sequence.
|
||||
|
||||
@ -245,7 +246,7 @@ Quantum instruments will automatically be included in the inflation animation th
|
||||
|
||||
[Eye Travelers](#eye-travelers), [Quantum Instruments](#quantum-instruments), and [Instrument Zones](#instrument-zones) are all linked by their `"id"` properties. Ensure that your ID matches between those details and is unique enough to not conflict with other mods.
|
||||
|
||||
```json
|
||||
```json title="planets/EyeOfTheUniverse.json"
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Outer-Wilds-New-Horizons/new-horizons/main/NewHorizons/Schemas/body_schema.json",
|
||||
"name": "EyeOfTheUniverse",
|
||||
@ -283,7 +284,7 @@ Quantum instruments will automatically be included in the inflation animation th
|
||||
|
||||
To see the full list of quantum instrument properties and descriptions of what each property does, check [the QuantumInstrumentInfo schema](/schemas/body-schema/defs/quantuminstrumentinfo/).
|
||||
|
||||
### Instrument Zones
|
||||
## Instrument Zones
|
||||
|
||||
Instrument zones are just like any other detail prop (see [Detailing](/guides/details/)) but they have additional handling to only activate after gathering and speaking to Riebeck, like the other instrument 'puzzles' in the Eye sequence.
|
||||
|
||||
@ -291,7 +292,7 @@ Custom instrument zones will automatically be included in the inflation animatio
|
||||
|
||||
[Eye Travelers](#eye-travelers), [Quantum Instruments](#quantum-instruments), and [Instrument Zones](#instrument-zones) are all linked by their `"id"` properties. Ensure that your ID matches between those details and is unique enough to not conflict with other mods.
|
||||
|
||||
```json
|
||||
```json title="planets/EyeOfTheUniverse.json"
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Outer-Wilds-New-Horizons/new-horizons/main/NewHorizons/Schemas/body_schema.json",
|
||||
"name": "EyeOfTheUniverse",
|
||||
@ -322,20 +323,20 @@ To see the full list of instrument zone properties and descriptions of what each
|
||||
|
||||
## Eye-Specific Considerations
|
||||
|
||||
### Cross-System Details
|
||||
#### Cross-System Details
|
||||
|
||||
Specifying details with a `"path"` pointing to an object in the regular solar system normally wouldn't work, as the Eye of the Universe lives in a completely separate scene from the rest of the game and those objects don't exist at the Eye. New Horizons works around this by force-loading the regular solar system, grabbing any objects referenced in Eye of the Universe config files, and then attempting to preserve these objects when loading the Eye of the Universe scene. This can cause issues with many different kinds of props, especially interactive ones that depend on some other part of the solar system existing.
|
||||
|
||||
Because the objects are not available outside of this workaround, objects from the regular solar system cannot be spawned in via the New Horizons API.
|
||||
|
||||
### Custom Planets
|
||||
#### Custom Planets
|
||||
|
||||
While you *can* define completely custom planets the same as you would in a regular custom solar system, they may exhibit weird orbital behaviors or pass through the existing static Eye of the Universe objects. Prefer adding onto the existing bodies or setting a `"staticPosition"` on your planet configs to lock them in place.
|
||||
|
||||
### The Player Ship and Ship Logs
|
||||
#### The Player Ship and Ship Logs
|
||||
|
||||
The player's ship does not exist in the Eye of the Universe scene. In addition to the obvious issues this causes (no access to the ship's warp functionality, ship spawn points being non-functional, etc.), the ship log computer not existing causes some methods of checking and learning ship log facts to not function at all while at the Eye. If you need to track whether the player has met certain conditions elsewhere in the game (for example, if they've previously met a character that you now want to appear at the campfire), consider using a Persistent Dialogue Condition, which does not have these issues.
|
||||
|
||||
### Mod Compatibility
|
||||
#### Mod Compatibility
|
||||
|
||||
Other existing and future story mods will want to add additional content to the Eye of the Universe, and unlike entirely custom planets and star systems, there is a high probability that objects placed at the Eye may overlap with those placed by other mods. When testing, try installing as many of these other mods as possible and seeing if the objects they add overlap with yours. If so, consider moving your objects to a different position. When possible, use New Horizons features that preserve compatibility between mods.
|
||||
Loading…
x
Reference in New Issue
Block a user