A falling sand simulation template. It allows you to simulate thousands of pixels at once by using DOTS.
Pixel Simulation
Each pixel can be simulated and has individual properties. There are predefined materials like Lava, Oil, Sand, Water, Rock, Wood, Acid, ... .
Smooth Sub-Pixel Camera Movement
No jumpy camera. Your camera will move smoothly even if the movement is on a sub-pixel level.
DOTS for speed
Being multi-threaded by default makes things super fast.
The only downside is that if you want to extend it you will have to be familiar with the Jobs system and BURST.
Easy image based level generation
Draw your levels into a png and then configure them with scriptable objects in the Editor.
Mix pixel and no-pixel content
The pixel world is rendered onto a simple quad in your scene so you can easily mix it with your scene objects and apply any post-processing.
Pixel based collider generation
Have your character walk on the sand with ease.
Full Source Code
I publish this asset with full source code because as a developer I know how annoying it is to not have source code access. If you like it then please remind others to purchase the plugin. Don't just copy and paste it everywhere. Thank you
Supports Unity 2021.3+, 2022, 2023, Unity 6, ... LTS
It may work with earlier versions too but those are not tested anymore.
Works on any platform
Yes, it works on mobile and WebGL too though you will need a relatively modern phone (runs with 30 fps on 5 year old devices, 60 fps on current mid-level phones).
Works with any render pipeline
Built-In, URP and HDRP
Things you should know (Read this before you buy)
There is an intro section in the manual. Please read it first. Actually, it's probably best to read the whole manual first. You will have a much easier time adapting the template if you do.
Please notice that this is NOT a fully featured game like Noita. It’s a template (basis) for you to build your game upon. There is still lots of stuff you will have to implement yourself (rigibodies, particles, lighting, world streaming, savegame).
Required Packages (all freely available):
Please install these before importing the package.
* Addressables (an official Unity package)
* BURST (an official Unity package)
* Collections (official Unity package for BURST)
The code in the template uses JOBS and the BURST compiler. If you want to extend the code then you will have to be familiar with these concepts. Programming for a multi-threaded environment is NOT beginner friendly. If you do not yet have a firm understanding of Jobs and BURST then the code will be very hard for you to extend.
Unity did a lot of the hard work with the Jobs system and I tried to make it as easy as possible to extend. However, if you are a beginner you will most likely struggle. That does not mean you can't use it. It only means you will have a hard time adding complex features as these will most likely require some custom coding in the multi-threaded environment. Ya have been warned ;-)
落沙模拟模板。它允许你使用 DOTS 一次模拟数千个像素。
像素模拟
每个像素都可以模拟,并具有各自的属性。有预定义的材料,如熔岩、油、沙、水、岩石、木头、酸......。
平滑的子像素摄像头移动
没有跳跃的摄像头。即使是亚像素级的移动,你的相机也能流畅移动。
快速 DOTS
默认情况下的多线程使运行速度超快。
唯一的缺点是,如果你想扩展它,就必须熟悉乔布斯系统和 BURST。
轻松生成基于图像的关卡
将关卡绘制成 png 格式,然后在编辑器中用脚本对象对其进行配置。
混合像素和非像素内容
像素世界渲染到场景中的简单四边形上,因此您可以轻松地将其与场景对象混合,并应用任何后期处理。
基于像素的对撞机生成
让你的角色在沙地上轻松行走。
完整源代码
我发布该资产时附带了完整的源代码,因为作为一名开发人员,我知道无法访问源代码是多么令人讨厌的一件事。如果您喜欢,请提醒他人购买该插件。不要只是到处复制粘贴。谢谢
支持 Unity 2021.3+, 2022, 2023, Unity 6, ... LTS
它也可能适用于早期版本,但这些版本已不再测试。
适用于任何平台
是的,它也能在手机和 WebGL 上运行,不过您需要一部相对较新的手机(在 5 年前的设备上以 30 帧/秒运行,在 60 年前的设备上以 60 帧/秒运行)。
|