![]() ![]() ![]() Engineers should think of schematics as the stable public interface to the functionality implemented in ECS.a Rigidbody schematic may create entities representing joints Arbitrary logic converts schematics into arbitrary representations in the ECS - typically one-to-many components, but potentially additional entities too - e.g.a Receive Shadows checkbox on the Mesh schematic may conditionally add a ShadowReceiver marker component A schematic is a declarative description of the functionality being added, and dynamically sets up the ECS data to achieve that goal.Optionally, custom UI can be provided instead.The editor can provide default UI here based on the schematic's fields.In the editor, each schematic is displayed as a panel in the object inspector.schematics are the basis of the serialisation format for scenes and assets.Represents a high level, convenient logical grouping of information, such as Rigidbody or RenderedMesh.In the editor, objects are composed from schematics.I propose a new first class feature which I will call "schematics", with the following properties: These were called Authors in the first version of this proposal. Inspiration and proof of concept is provided by Unity's DOTS, although Bevy can do better. This isn't a detailed technical proposal as I'm not yet experienced enough with Bevy's internals to go there, but I'd like to propose that Bevy's architecture adopt this distinction. Where practical, stable enough to transfer composed assets between projects.A stable data format, so that refactorings to the ECS data don't invalidate scenes composed in the editor.Declaration of designer intent, not of technical implementation.Grouped into logical units that are likely quite large.Convenient and intuitive for designers working in the editor. ![]() An implementation detail that can be refactored during development.Generally split into the smallest components that may be used independently.Optimised for performance and engineering concerns.Scene representation and the ECS runtime have different and conflicting data representation requirements. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |