# KyokaEngine **Repository Path**: alonebinge/kyoka ## Basic Information - **Project Name**: KyokaEngine - **Description**: A toy 3D game engine using Vulkan. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: vulkan - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-09-27 - **Last Updated**: 2024-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Kyoka
Kyoka is a lightweight 3D game engine developed in C++, featuring basic subsystems such as rendering, physics, and scripting. It is primarily used for learning graphics programming, engine architecture, design patterns, and rapid idea validation.
PBR Mateiral Skeletal Anination (P.S.后续会添加对自定义透明材质的支持修复小桃嘴巴的渲染错误)
## Features **Implemented** (find more details in [features](https://gitee.com/liztu/kyoka/blob/vulkan/Development/docs/features_CN.md)) * Gameplay system * ECS, grouping game objects by using parent-child hierarchies. * create component with scripts (mono,c#) * Reflection via code generation * 3D renderer based on Vulkan * multiple render passes * batched rendering * dual paraboloid shadow mapping * support pbr and custom material * skinned animation * Integrated physx physics engine * physical simulation * ray detection * Fully featured editor * hierarchy, insepctor, game view, file browser, logger * play in editor * hot reload for scripts * drawign gizmos * object picking and highlighting * Performance analysis * code analysis with easy profile * graphics analysis with renderdoc **To implement** * Artificial Intelligence * Navigation Mesh * Behaviour tree * Partical * Animation * Audio system * Multiplayer * ... ## How to build **Kyoka** currently supports only Windows. Premake is used to generate automatic build files for Visual Studio. **1. Download the repository:** Requirement > - Pyhon == 3.x > - Visual Stuio >= 2017 ### 1.Clone the repository recursively. ```shell git clone --recursive https://gitee.com/liztu/kyoka cd kyoka ``` ### 2. Configure the dependencies: > - VulkanSDK == 1.3.268.0 > - PhysxSDK== 5.3.1 > - Assimp == 5.2.5 > - easy_profiler (The method for configuring dependencies will be optimized in upcoming updates.) 1. Please download the dependencies from xxxx. 2. Configure the Vulkan path to the environment variable VULKAN_SDK, for example: VULKAN_SDK => path/VulkanSDK/1.3.268.0 3. Copy PhysX to the ./Engine/vendor/ directory. 4. Copy the ./bin folder from the archive to the project root directory (this folder contains the required .dll files for the project). ### 3. Build 1. Run `Win-GenProjects.bat` in `scripts` folder to generate the Visual Studio project. 2. Gen reflection code: ```shell python Metaparser/gen_meta.py ``` 3. Build `Editor`.