Skip to content
Snippets Groups Projects
Commit 5447e613 authored by xyt's avatar xyt
Browse files

update readme

parent 3868c133
Branches main
No related tags found
No related merge requests found
......@@ -82,33 +82,33 @@ MonoBehaviour:
m_Textures:
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
m_PrefilteringModeMainLightShadows: 1
m_PrefilteringModeAdditionalLight: 4
m_PrefilteringModeAdditionalLightShadows: 1
m_PrefilterXRKeywords: 0
m_PrefilteringModeForwardPlus: 1
m_PrefilteringModeDeferredRendering: 1
m_PrefilteringModeScreenSpaceOcclusion: 1
m_PrefilterDebugKeywords: 0
m_PrefilterWriteRenderingLayers: 0
m_PrefilterHDROutput: 0
m_PrefilterSSAODepthNormals: 0
m_PrefilterSSAOSourceDepthLow: 0
m_PrefilterSSAOSourceDepthMedium: 0
m_PrefilterSSAOSourceDepthHigh: 0
m_PrefilterSSAOInterleaved: 0
m_PrefilterSSAOBlueNoise: 0
m_PrefilterSSAOSampleCountLow: 0
m_PrefilterSSAOSampleCountMedium: 0
m_PrefilterSSAOSampleCountHigh: 0
m_PrefilterDBufferMRT1: 0
m_PrefilterDBufferMRT2: 0
m_PrefilterDBufferMRT3: 0
m_PrefilterSoftShadowsQualityLow: 0
m_PrefilterSoftShadowsQualityMedium: 0
m_PrefilterSoftShadowsQualityHigh: 0
m_PrefilteringModeMainLightShadows: 3
m_PrefilteringModeAdditionalLight: 3
m_PrefilteringModeAdditionalLightShadows: 0
m_PrefilterXRKeywords: 1
m_PrefilteringModeForwardPlus: 0
m_PrefilteringModeDeferredRendering: 0
m_PrefilteringModeScreenSpaceOcclusion: 0
m_PrefilterDebugKeywords: 1
m_PrefilterWriteRenderingLayers: 1
m_PrefilterHDROutput: 1
m_PrefilterSSAODepthNormals: 1
m_PrefilterSSAOSourceDepthLow: 1
m_PrefilterSSAOSourceDepthMedium: 1
m_PrefilterSSAOSourceDepthHigh: 1
m_PrefilterSSAOInterleaved: 1
m_PrefilterSSAOBlueNoise: 1
m_PrefilterSSAOSampleCountLow: 1
m_PrefilterSSAOSampleCountMedium: 1
m_PrefilterSSAOSampleCountHigh: 1
m_PrefilterDBufferMRT1: 1
m_PrefilterDBufferMRT2: 1
m_PrefilterDBufferMRT3: 1
m_PrefilterSoftShadowsQualityLow: 1
m_PrefilterSoftShadowsQualityMedium: 1
m_PrefilterSoftShadowsQualityHigh: 1
m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 0
m_PrefilterNativeRenderPass: 0
m_PrefilterScreenCoord: 1
m_PrefilterNativeRenderPass: 1
m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0
......@@ -81,6 +81,11 @@
"key": "editor.autoRecalculateCollisions",
"value": "{\"m_Value\":false}"
},
{
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"key": "editor.stripProBuilderScriptsOnBuild",
"value": "{\"m_Value\":true}"
},
{
"type": "UnityEngine.ProBuilder.SelectMode, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
"key": "editor.selectMode",
......
# Planet Project Unity
# Solar System Simulation Project
This project is a simulation of the solar system, with eight planets orbiting a central point, each with realistic movements and rotations. Users can interact with the system using a graphical interface, control the speed of time, view and modify dates, and manage planetary orbits. The camera can also follow any selected planet, allowing users to observe its movement up close.
## Features
## Getting started
- **Planet Position Calculation and Date Management**
- Calculates planetary positions in real-time using `PlanetData`.
- Manages and updates date information with `UDateTime`.
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
- **Singleton Manager for Planet Control**
- Utilizes `PlanetManager` as a singleton to handle planetary data and time updates.
Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
- **Custom Planet Visualization**
- Visualizes each planet using `Planet Shader` and updates their appearances dynamically.
## Add your files
- **User Interface**
- Adjusts scene scale and time speed via sliders.
- Displays the current date and allows for date modification.
- Includes buttons to pause/resume time and show/hide planetary orbits.
- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
- **Camera Controls**
- Allows camera movement with `WASD` keys, rotation with the right mouse button, and zoom adjustments.
- Camera follows any clicked planet, centering it on the screen and tracking its movements. Clicks outside planets return to free movement mode.
```
cd existing_repo
git remote add origin https://gitlab.imt-atlantique.fr/y23xiang/planet-project-unity.git
git branch -M main
git push -uf origin main
```
- **Planet Rotation**
- Implements realistic rotation periods for each planet, including Earth’s axial tilt.
## Integrate with your tools
## Unimplemented Features
- [ ] [Set up project integrations](https://gitlab.imt-atlantique.fr/y23xiang/planet-project-unity/-/settings/integrations)
- **Real-size Planet Mode**
- A mode to toggle planets to their actual sizes was not implemented due to visualization challenges.
## Collaborate with your team
- **Displaying Planet Names and Information Nearby**
- While possible to display information on the UI canvas, displaying data directly around each planet is pending further investigation.
- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
- **Orbit Rendering Issue when Paused**
- Planetary orbits gradually disappear when paused due to a limitation in the number of saved position points (between 2000 and 5000) to avoid performance issues.
## Test and Deploy
## Installation
Use the built-in continuous integration in GitLab.
1. **Clone the Repository**
With HTTPS
```bash
git clone https://gitlab.imt-atlantique.fr/y23xiang/planet-project-unity.git
```
With SSH
```bash
git clone git@gitlab.imt-atlantique.fr:y23xiang/planet-project-unity.git
```
2. **Open in Unity**
- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
- Launch Unity Hub and open the project folder.
***
3. **Install Dependencies (if required)**
# Editing this README
- Ensure all necessary Unity packages, such as UI, Input System, and TextMeshPro, are installed.
When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template.
## Usage
## Suggestions for a good README
### Run the Project
Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
- Press the `Play` button in Unity to start the simulation.
## Name
Choose a self-explaining name for your project.
### User Interface Interactions
## Description
Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
- **Adjust Time Speed and Scale**: Use the sliders to control the simulation speed and camera zoom.
- **Change Date**: View the current date or enter a new one in the date field to update the simulation.
- **Pause/Resume**: Use the pause button to stop or resume planetary movements.
- **Show/Hide Orbits**: Toggle orbit visibility with the orbit button.
## Badges
On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
### Camera Controls
## Visuals
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
- **Move Camera**: Use `WASD` keys to move and right-click to rotate the view.
- **Select and Follow a Planet**: Click on a planet to center it in the view and follow its movements. Click away from planets or press `Escape` to exit follow mode.
## Installation
Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
### Observe Planet Rotation
## Usage
Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
- Watch each planet rotate based on realistic rotation periods.
## Support
Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
## Project Structure
## Roadmap
If you have ideas for releases in the future, it is a good idea to list them in the README.
- **Abstraction Layer**: Includes `PlanetData` and `PlanetManager` for managing planetary data and date encapsulation.
- **Controller Layer**: Manages input and control functionality, including `DateController`, `FreeCameraController`, `OrbitController`, `PauseResumeController`, and `PlanetClickController`.
- **Presentation Layer**: Handles the UI and visual elements, such as `UIController` and `OrbitRender`.
## Contributing
State if you are open to contributions and what your requirements are for accepting them.
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
## Authors and acknowledgment
Show your appreciation to those who have contributed to the project.
## License
For open source projects, say how it is licensed.
- Contributions are welcome! Feel free to fork the repository, make improvements, and submit a merge request.
## Project status
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment