Giter Site home page Giter Site logo

omega-engine's Introduction

3D-Engine

https://github.com/Xavierlm11/Omega-Engine

The goal of this project is to make a game engine for learning popuses We hope you like it! :)

We are: Xavier Casadó - https://github.com/Akage369 Xavier López - https://github.com/Xavierlm11

Website: https://xavierlm11.github.io/Omega-Engine/

Description

There are 3 modes of rendering: Normal, with checkers view and Wireframe. Also, there are other settings in the view like fog.

The meshes are grouped in a game object system with parents and children. Finally, if the file has attached a texture, the engine will automatically set a meterial with it in the game object.

Omega Engine has an Assets Manager to set up the scene to your liking.

Our last feature is Physics! You can add the Physics component to the GameOjects and add them a collider, static or not. Adjust it to fit the form which you like and press the Play button to see all the magic happening. If you press Pause, the game will stop and you can resume clicking again.

You can also add cosntraints and play with a vehicle, pushing the houses out of the scene, for instance. The Camera can shoot balls too.

When you have set up the scene correctly, you can save it and the next time you open the engine, it will be restored, so don not worry about that.

Controls

The camera uses WS to move front and backwards, AD to move laterally and EC to move up and down. Also, you can scroll the mouse wheel to zoom in or zoom out. Right click to rotate the camera and Alt + left click to rotate around the selecetd game object. With F the camera is focused on the selected GameObject.

Camera shoots with "1" key. You can disable the colliders wireframe lines in the Game viewport with "F2" key. Car moves with arrow keys.

Performance

When initializing the engine, all the assets in the Assets folder will be serialized into custom format files ".chad". These can be located at Library/Meshes and Library/Materials folders, which are automatically generated too.

These files contain all the necessary info of the assets and are needed for the engine to work, so it's important not to remove them manually. Don't worry, they will be removed when closing the engine. You can also drag and drop files from any directory of your computer to the engine. These will be added to the Assets folder and a new .chad file will be generated. We support .png, .jpg & .dds files for textures and .fbx for models.

Features

Omega engine is capable of creating GameObjects from the assets in the Assets windows via Drag & Drop. If you click in the asset, you can see more information in the inspector. You can drop it in the Viewport or in the hierarchy, inside the root object or any other that will become its parent. If the asset is a material, you can drop it into an existing GameObject to set it up as its texture. Also, if the GameObject has already attached a relative path of a texture, and this is in Assets folder, the GameObject will load when being created.

You can select a GameObject clicking it in the hierarchy. Then, you can view its properties in the Inspector and modify his transform component. You can also add new components there like the physics one. Then, you can select if it is static and choose a collider for them, adjust the form and set a constraint with another.

There is also a camera viewport which FOV and Near Plane Distance you can change.

omega-engine's People

Contributors

xavierlm11 avatar akage369 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.