In my growth historical past, tasks at all times want some options that the engine doesn’t have, or the present options of the engine can’t meet the demand.
So I put all of the options I wished so as to add to the engine in a single venture: Cocos Improve Package.
I hope everybody can take part within the growth of this venture (repair bugs), so will probably be open supply.
I hope this venture would be the first to implement a number of the options that individuals anticipate the engine to have and convey a “native” expertise.
I hope this venture might be like an alpha model of the engine, it may be a reference within the utility impact, and assist the engine workforce to implement the options that individuals anticipate the engine to have quicker.
The merchandise of including multi-texture rendering options to the engine, for instance, has been carried out by many individuals, however.
-
There are people who do it by inheriting engine courses, which I believe will increase the fee to the consumer and isn’t as silky clean as utilizing the engine’s native options.
-
There are people who do it via plugin scripts, however this strategy at all times requires copying a number of the engine code and might be awkward to implement, and I don’t assume it’s any extra maintainable than a customized engine when Cocos Creator 2.x stops updating options.
Precedent for making multi-texture rendering options native to the engine.
The PixiJS engine has formally carried out multi-texture rendering within the v4 launch in 2016.
The > Phaser engine relies on the PixiJS engine, so it additionally helps multi-texture rendering.
And the largest benefit of utilizing a customized engine is that it will probably assist native platforms, the drawback is that because the mini-game platform has an engine plugin characteristic, utilizing a customized engine will stop you from utilizing the engine plugin.
Help for multi-texture rendering
- Sprite, cc.Label, cc.RichText, cc.MotionSteak, Backbone parts, simply drag within the parts to make use of.
- Offers multi-texture batcher and automated materials switching mechanism, which makes it simpler to dynamically generate and handle multi-texture supplies, and is the idea for most of the following options.
Help for prime DPI textual content rendering
Beforehand, we’d enhance the fontSize and reduce the Scale of the node to realize this, however now it’s instantly carried out contained in the engine, and the dimensions might be adjusted with one line of code.
cc.sp.labelRetinaScale = 2;
And supply a worldwide change and a single-component change, you may management the vary of this characteristic on as you want.
Dynamic merge reconstruction
- Because of the multi-texture rendering base, it’s doable to remain at 1 Draw Name with not less than 8 units of pictures.
- It helps automated multi-texture batching, optimized algorithms, reuse of discarded area, and different options.
- Permits Backbone to take part in dynamic merging as properly.
- Help world default change, and add a change for parts to take part in merging or not.
- Expose extra merge interfaces to manage the usage of dynamic merge maps in a extra detailed approach.
CHAR Cache Mode Refactoring
- Because of the multi-texture rendering base, the utmost variety of character atlases has been elevated from 1 to eight, which considerably alleviates the issue of textual content not being rendered when the atlases run out.
- Computerized multi-texture batching can also be supported, which implies that Char character units might be merged with dynamic merging in a single batch.
- Help for reuse of discarded area
So long as the dynamic merge and Bitmap cache modes are used correctly, most scenes not have to do particular Draw Name optimization (hitting the set, adjusting the node order, layering rendering) to have a great variety of Draw Calls.
The Backbone element helps merging with different parts, merging into dynamic units and SpriteFrame swap
As talked about within the title, as a result of we discovered that the discussion board usually want to make use of SpriteFrame to decorate up Backbone, and there are various firms use Backbone to implement frequent animations, even body animations, which can have a giant efficiency burden if they will’t be mixed with different parts.
You will get the total detailed documentation under, and it solely takes a couple of steps (establishing a customized engine) to use all of the above options.
Github repository: GitHub – smallmain/cocos-enhance-kit: 这是一个提供 Cocos Creator 引擎特性增强、修复与优化的开源非官方增强包。
The improve package is extraordinarily restrained in making modifications to the engine, and can strive to make sure compatibility and never modify the unique defaults of the engine, so that you don’t have to fret about “immediately utilizing it one way or the other”, and virtually all new options are enabled and disabled by default.
So after set up it’s possible you’ll discover that nothing appears to have modified within the venture, we advocate that you just learn the Getting Began tutorial to know the advisable approach to make use of it.
Lastly, if you’d like a one-click set up, then take into account my private paid engine extensions.
Cocos Retailer: Cocos Service Pack | Cocos Retailer
After all you may write a script to implement it in minutes, so take into account this a sponsored hyperlink and thanks to your assist