在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):skylicht-lab/skylicht-engine开源软件地址(OpenSource Url):https://github.com/skylicht-lab/skylicht-engine开源编程语言(OpenSource Language):C++ 60.2%开源软件介绍(OpenSource Introduction):Skylicht EngineSkylicht Engine, which is an evolution of the Irrlicht Project. We have upgraded more features: Sound Engine, Physics Engine, Particle Engine...
Skylicht Engine is a super lightweight Game Engine that targets mobile platforms (Android, IOS). And, it's completely free. How to build the project
Prerequisites
Build source code
Build data assetsCompress Texture
Build Shader
Add your code to ProjectAdd source code
Create application project
C:\skylicht-engine>python Scripts\create_project.py NewApplication Samples\NewApplication
AndroidPrerequisites
How to buildStep 1: Build native library
Step 2: Copy native library to Gradle Project# Make folder jniLibs on Android Project
C:\skylicht-engine>mkdir Projects\Android\app\src\main\jniLibs\armeabi-v7a
C:\skylicht-engine>mkdir Projects\Android\app\src\main\jniLibs\arm64-v8a
# Copy result native ndk (from step 1) to jniLibs
# Project SampleSkinnedMesh
C:\skylicht-engine>copy Bin\Android\Libs\arm64-v8a\libSampleSkinnedMesh.so Projects\Android\app\src\main\jniLibs\arm64-v8a
C:\skylicht-engine>copy Bin\Android\Libs\armeabi-v7a\libSampleSkinnedMesh.so Projects\Android\app\src\main\jniLibs\armeabi-v7a Step 3: Copy asset resource to Gradle ProjectC:\skylicht-engine\Assets>python BuildTextureCompressETC.py
C:\skylicht-engine\Assets>python BuildAssetBundles.py
C:\skylicht-engine\Assets>cd..
# Create assets folder in Gradle Project
C:\skylicht-engine>mkdir Projects\Android\app\src\main\assets
# Copy built-in asset
C:\skylicht-engine>copy Bin\BuiltIn.zip Projects\Android\app\src\main\assets
# Copy project asset
# Project SampleSkinnedMesh
C:\skylicht-engine>copy Bin\Common.zip Projects\Android\app\src\main\assets
C:\skylicht-engine>copy Bin\SampleModelsResource.zip Projects\Android\app\src\main\assets
# Dont forget copy ETC texture
C:\skylicht-engine>copy Bin\SampleModelsETC.zip Projects\Android\app\src\main\assets Step 4: Build APK by Android Studio or GradleOpen Android Studio and import project Projects\Android Run command build from Android Studio: Android development
Roadmap
Sample ProjectSamples\HelloWorldEngine Components are used:
Samples\DrawPrimitivesThis demo is to draw Cube 3D, set up, transform and use components. Samples\MaterialsThis demo code, that renders Sphere 3D, loads textures (Diffuse, Normal, Specular), and binds SpecGloss shader to Material. Samples\SampleShaderThis demo code, How to bind shader on Material. Samples\LuckyDrawEngine Components are used:
Samples\SkinnedMeshThis is example code. How to render character model with animation, models are downloaded from mixamo
Samples\LightmapUVThis is a demo how to use UnwrapUV tool to create Lightmap UV. Library xatlas is integrated to Skylicht Engine. Samples\LightmappingThis is a demo code to use lightmapper to bake indirect lighting color on lightmap texture. Project references: Lightmapper GazeboResult lightmap Sponza lightmapSponza indirect lighting baked by Skylicht Lightmapper Samples\SponzaThis example is how to set up a simple lighting & lightmap. This scene uses basic diffuse bump specular shader. Samples\LightmappingVertexThis is a demo to use lightmapper to set indirect lighting color on vertex color. Engine Components are used:
Baked Global Illumination (3 bounces)Irradiance baked on Vertex Color: Indirect + Direction light - No post processing (3 bounces light)Samples\CollisionThis is a demo to use CollisionManager to get collision point from the ray. And how to query all triangles inside a Box And how to use the decal projector feature Samples\ParticlesSkylicht Particle Component is a cleanup version of SPARK. We have optimized by GPU Billboard Instancing. This is demo code how to create particle system and use imgui Basic particleExplosion demoMagic particleThis is a demo code on how to use a simple projectile, impact, trail particle, sub emitter system. Samples\Noise2D, Noise3DThis is demo code how to use noise library shader to make vfx effect, particle turbulence. ContributingWelcome if you want to contribute your code to Skylicht Engine (Ex: add feature or fix bug). Wellcome to join the group. Open an issue and submit a pull request to this repository. Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests. Thanks
LicenseSkylicht Engine is licensed under MIT License Skylicht Engine is based in part on the work of:
This means that if you've used the Skylicht Engine in your product, you must acknowledge somewhere in your documentation that you've used. It would also be nice to mention that you use the 3rd parties library... Please see the README files from 3rd parties for further information. Thanks, Project Maintainer: Pham Hong Duc |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论