Feature: Decals
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 49
Description
Objective: Implement a comprehensive Decals system in the Stride Game Engine that allows developers to add details such as bullet holes, signs, stains, and other visual elements directly onto the surfaces of 3D models in their games, enhancing visual fidelity and immersion.
Key Deliverables
General Implementation
- Projection on Arbitrary Opaque Geometry: Ensure decals can be projected onto any opaque surface, regardless of its complexity or shape, enhancing realism and immersion.
- Material Projection: Enable the projection of any Stride material as a decal, allowing for a wide range of visual effects, from simple textures to complex shaders.
- Entity Component System Integration: Implement decals as an entity component within Stride, with the direction of projection influenced by the entity's transformation properties, ensuring ease of use and integration into existing projects.
Editor and Runtime Support
- Visibility in Editor: Ensure that decals are visible through the Stride editor viewport, allowing developers to accurately place and preview decals within the game environment during the development process.
- Runtime Implementation: Guarantee that decals are correctly rendered in the final game, maintaining their appearance and positioning as designed in the editor.
Sample Implementation and Documentation
- FPS Sample Project Integration: Incorporate a practical example of decals usage within the FPS sample project, demonstrating their implementation with a gun/weapon script to simulate effects like bullet holes.
- Documentation: Expand the Stride documentation to include:
- A detailed overview of decals and their use cases.
- Step-by-step guides on setting them up both in the editor and programmatically.
- Documentation should be accessible to developers of all skill levels, providing clear explanations and examples.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by surveying the Stride editor viewport, entity component system, runtime rendering path, and FPS sample project mentioned in the issue. Use the FPS gun/weapon script as the practical integration entry point, then review the documentation structure. Done means decals project arbitrary opaque geometry, support Stride materials, work in the editor and at runtime, appear in the FPS sample, and have setup guidance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- computer-graphics, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100