Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

typo fixes #107

Merged
merged 2 commits into from
Sep 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions manual/editor/large-worlds/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ Flax Engine by default uses `32-bit` precision (single precision, `float` type)

### Enabling Large Worlds

Use [Custom Engine build](../advanced/custom-engine.md) and modify `Flax.flaxproj` file by setting `"UseLargeWorlds": true`. Then build the engine. It will overlap all Vector2/3/4 components from `float` into `double` and store object coordinates with higher precision.
Use [Custom Engine build](../advanced/custom-engine.md) and modify the `Flax.flaxproj` file by setting `"UseLargeWorlds": true`. Then build the engine. It will overlap all Vector2/3/4 components from `float` into `double` and store object coordinates with higher precision.

The engine supports loading and saving projects with both `UseLargeWorlds` enabled and disabled without any compatibility issues. Which means that you can still open project with default engine version, even if it was edited with Large Worlds support enabled.
The engine supports loading and saving projects with both `UseLargeWorlds` enabled and disabled without any compatibility issues. Which means that you can still open your project with the default engine version, even if it was edited with Large Worlds support enabled.

### Real type

When using large worlds various in-built types get converted into higher precision format, such as:
When using large worlds, various in-built types get converted into higher precision format, such as:
* `Vector2`, `Vector3`, `Vector4`
* `BoundingBox`
* `BoundingSphere`
Expand Down Expand Up @@ -56,11 +56,11 @@ Real coordinate = GetActor()->GetPosition().X;
Flax contains relative-to-camera rendering which allows to shift the `Origin` of the whole scene when rendering. It's automatically calculated when rendering a scene with `LargeWorlds.UpdateOrigin` based on the current camera location. It can be disabled with `LargeWorlds.Enable`.

> [!TIP]
> Even when using 64-bit precision, the whole rendering still uses 32-bits as using larger data has high-performance impact.
> Even when using 64-bit precision, the whole rendering still uses 32-bits as using larger data has a high performance impact.

## Physics origin

A physical simulation system supports adjusting the origin of the simulation world. This can be used to improve collisions and forces simulation because the underlying PhysX library uses 32-bit precision and won't achieve high-quality simulation in large worlds scenario.
A physical simulation system supports adjusting the origin of the simulation world. This can be used to improve the simulation of collisions and forces, because the underlying PhysX library uses 32-bit precision and won't achieve high-quality simulation in a large worlds scenario.

You can easily synchronize the current main game view origin with physics origin (or manually calculate it with `LargeWorlds.UpdateOrigin`):

Expand Down
10 changes: 5 additions & 5 deletions manual/get-started/flax-for-unity-devs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,17 @@ This section contains the most common terms used in Unity and their Flax equival

![Flax Project](../media/project-structure.png)

Flax projects structure is similar to Unity projects. Instead of **Library** folder, editor uses **Cache** folder. Also **Assets** folder from Unity is splited into two separate parts: **Content** and **Source**. All C# script files are located in source directory so there is less mess with assets and scripts.
Flax projects structure is similar to Unity projects. Instead of **Library** folder, editor uses **Cache** folder. Also **Assets** folder from Unity is splitted into two separate parts: **Content** and **Source**. All C# script files are located in the source directory so there is less mess with assets and scripts.

Flax also generates a solution and project files for your game C# scripts.

See [Flax projects structure](../project-structure.md) page to learn more about the projects in Flax Engine.

## Assets

Flax doesn't use `.meta` files. Instead of it, every asset contains all required metadata information and is a self contained file. Files with extension `.flax` are using our own binary format that is well optimized for scalability and streaming. Other assets are usually stored in `Json` format (scenes, settings, etc.).
Flax doesn't use `.meta` files. Instead, every asset contains all required metadata information and is a self contained file. Files with the extension `.flax` are using our own binary format that is well optimized for scalability and streaming. Other assets are usually stored in `Json` format (scenes, settings, etc.).

Flax supports the most popular asset files formats (for 3D models and textures) so you can import your game content.
Flax supports the most popular asset file formats (for 3D models and textures) so you can import your game content.

See [Assets](../assets/index.md) page to learn more about importing and using game assets.

Expand All @@ -59,7 +59,7 @@ Flax doesn't use components to build scene objects logic. We use [Actors](../sce
However, you can still use the entity-component design with your scripts because every actor can have scripts like in Unity.
Just instead of using `GetComponent<T>()` in your scripts, write `GetChild<T>()`/`GetScript<T>()`.

In Flax, Scene object is also an Actor so you can access it like any other Actor. This means that Scenes can have their own scripts and be transformed like other objects.
In Flax, a Scene object is also an Actor so you can access it like any other Actor. This means that Scenes can have their own scripts and be transformed like other objects.

> [!Tip]
> Flax's coordinate system's base unit is centimeters instead of meters, meaning a Flax Actor placed at <100,100,100> is in the equivalent position of a Unity Transform placed at <1,1,1>.
Expand All @@ -68,7 +68,7 @@ In Flax, Scene object is also an Actor so you can access it like any other Actor

When it comes to game scripting, Unity and Flax are very similar. There are some differences in C# API (Flax has bigger math library, is more performance-oriented and uses new C# 11 via .NET 7). In fact, the whole C# editor and C++ engine including scripting API is open and can be found [here](https://github.com/FlaxEngine/FlaxEngine). All contributions are welcome.

Also, Flax support native **[C++](../../scripting/cpp/index.md)** scripting and **[Visual Scripting](../../scripting/visual/index.md)** as an in-build feature. We don't want to limit our developers to just a one programming language for the game development as using C\+\+ and Visual Scripting together with C# can benefit.
Also, Flax support native **[C++](../../scripting/cpp/index.md)** scripting and **[Visual Scripting](../../scripting/visual/index.md)** as a built-in feature. We don't want to limit our developers to just one programming language for the game development as using C\+\+ and Visual Scripting together with C# can benefit.

If you write C# scripts simply replace `MonoBehaviour` with `Script` as it makes more sense (and is shorter to write).

Expand Down