In my improvement historical past, initiatives all the time 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 needed so as to add to the engine in a single mission: Cocos Improve Package.
I hope everybody can take part within the improvement of this mission (repair bugs), so it is going to be open supply.
I hope this mission would be the first to implement among the options that individuals count on the engine to have and produce a “native” expertise.
I hope this mission 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 count on the engine to have quicker.
The merchandise of including multi-texture rendering options to the engine, for instance, has been achieved by many individuals, however.
-
There are people who do it by inheriting engine courses, which I feel will increase the associated fee to the consumer and isn’t as silky easy as utilizing the engine’s native options.
-
There are people who do it by means of plugin scripts, however this method all the time requires copying among the engine code and might be awkward to implement, and I don’t suppose 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 applied multi-texture rendering within the v4 launch in 2016.
The > Phaser engine is predicated on the PixiJS engine, so it additionally helps multi-texture rendering.
And the most important benefit of utilizing a customized engine is that it will probably help native platforms, the drawback is that for the reason that mini-game platform has an engine plugin function, utilizing a customized engine will stop you from utilizing the engine plugin.
Assist for multi-texture rendering
- Sprite, cc.Label, cc.RichText, cc.MotionSteak, Backbone elements, simply drag within the elements 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 lots of the following options.
Assist for prime DPI textual content rendering
Beforehand, we might enhance the fontSize and reduce the Scale of the node to attain this, however now it’s straight applied contained in the engine, and the size might be adjusted with one line of code.
cc.sp.labelRetinaScale = 2;
And supply a worldwide swap and a single-component swap, you may management the vary of this function on as you want.
Dynamic merge reconstruction
- Because of the multi-texture rendering base, it’s attainable to remain at 1 Draw Name with at the least 8 units of pictures.
- It helps automated multi-texture batching, optimized algorithms, reuse of discarded house, and different options.
- Permits Backbone to take part in dynamic merging as effectively.
- Assist international default swap, and add a swap for elements to take part in merging or not.
- Expose extra merge interfaces to manage the usage of dynamic merge maps in a extra detailed means.
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.
- Automated multi-texture batching can also be supported, which implies that Char character units might be merged with dynamic merging in a single batch.
- Assist for reuse of discarded house
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 variety of Draw Calls.
The Backbone part helps merging with different elements, merging into dynamic units and SpriteFrame swap
As talked about within the title, as a result of we discovered that the discussion board typically want to make use of SpriteFrame to decorate up Backbone, and there are lots of corporations use Backbone to implement frequent animations, even body animations, which can have a giant efficiency burden if they will’t be mixed with different elements.
You may get the total detailed documentation beneath, and it solely takes a number of steps (establishing a customized engine) to use all of the above options.
Github repository: GitHub – smallmain/cocos-enhance-kit: 这是一个提供 Cocos Creator 引擎特性增强、修复与优化的开源非官方增强包。
The improve equipment is extraordinarily restrained in making adjustments to the engine, and can attempt to make sure compatibility and never modify the unique defaults of the engine, so that you don’t have to fret about “instantly utilizing it by some means”, and virtually all new options are enabled and disabled by default.
So after set up you could discover that nothing appears to have modified within the mission, we suggest that you simply learn the Getting Began tutorial to know the beneficial means to make use of it.
Lastly, if you need a one-click set up, then contemplate my private paid engine extensions.
Cocos Retailer: Cocos Service Pack | Cocos Retailer
In fact you may write a script to implement it in minutes, so contemplate this a sponsored hyperlink and thanks on your help