Above the Fold Optimization and SEO

Above Fold Optimization and SEO matters

Checking details of my website, I was shocked to realize that my site (this one you are reading now) got a mere 30 / 30 in Google Developers’ Pagespeed Insights. Holy Peanuts!

above the fold optimization gave this result

Google Pagespeed Insights score 98 after above the fold optimization

Digging a little deeper, I realized I had been ignoring some things in my WordPress installation. I didn’t use cache for example or optimize my images. I’m running a Stockholm theme, a popular choice ready made themes that’s just joy to use even for a non-coder like me. Visual Composer rocks!.

Seeing the red numbers in Google Insights Pagespeed, I got discouraged. I thought maybe it’s impossible to optimize complicated ready made theme like Stockholm since it has so many complicated systems like Visual Composer. Seeing a raw dump of the whole CSS was so huge that my MacBook Pro almost crashed when opening it! Is it possible to optimize WordPress with relatively heavy theme to get proper score?

Well I found out that it is.

Again, as I am not a programmer or coder, doing this stuff is kind of like going out from my comfort zone. So I was surprised that even I could come up with such a huge improvement in Pagespeed numbers. After poking around one evening with Autoptimize forum and using a tool called “criticalcss.com”, now, my mobile is  84 while Desktop is a freaking 98!.

The most important and biggest improvement was  above the fold optimization. Since I absolutely and completely suck in coding, I used a ready made tool https://criticalcss.com (£2.00 /month) and Autoptimize. (Free plugin)

I just went to criticalcss.com site and inserted my main URL to the window and it gave me, well, a critical css. I was then able to insert it to the “inline and defer” CSS window in Autoptimize settings. Bang! Instant huge increase in Pagespeed.

In simple terms, what above the fold optimization really means is to load the part that’s first visible to the user first, and rest of the stuff later.

You can do that by hand, it’s not a rocket science really, but a plugin will “Above the Fold Optimization” or Autoptimize will do that for you automatically. But  getting the critical CSS code inserted was crucial, and criticalcss.org really helped me. I even got in touch with them by mail just to say thanks. They are really friendly people.

So I went on and used some parts of few plugins, Above the Fold Optimization plugin for example optimized google fonts and enabled Lazy Load Scripts and Localized Javascript. I was able to get the best result this way, but you can try what works for you. There is no problem using one plugin to do one thing. Experimentation really works.

I also optimized my images using WP Smush and removed the stock logos that Stockholm was loading in the background. This is really important, especially the logo image, as those tend to get loaded even if there’s nothing visible in the “dark background” and “white background” ones. Even having extra 10kb png being loaded as logo will be a performance hit as that is above the fold stuff.

I also installed free WP Fastest Cache plugin and  enabled cache, and Minified my HTML. I also went a little further and ordered maxcdn CDN service. What this means is that I’m able to cache some parts of my site to be served from ultra-fast server.

Ahh, the hard work.. but the pleasure and self−satisfaction the green 98!!!

Really to be honest, I don’t think we should get too obsessed by these numbers. Will average user realize the difference between say 88/and 98 pagespeed?

And, although I know it’s one part of the Google’s algorithm, content and back links will always be way more important than just speed. So for example if there’s a site with 95 and another one with 98, it won’t mean that 98 would automatically be ranked higher. Content is the king.

Also the truth is that If we are anywhere between 70-100 we are already faster than most sites out there. Macworld.com for example,  46/61. And they do more than OK in search.

Optimization is such a thing; it’s good and helpful only to a certain point. Rather than obsess frantically about numbers, it’s better to use the time to create beautiful and valuable content.

But if you want to use ready made WordPress theme and get blazing 98 ranking Google Insights Pagespeed ranking, it can be done even without becoming a web coding guru.


ZModeler and Dynamic Subdiv in ZBrush

Here is a video tutorial I made about using ZModeler and Dynamic Subdiv in ZBrush 4.7. ZModeler, although it has a bit of a learning curve, is surprisingly powerful way to come up with new ideas and shapes. This combined to dynamic subdivision is great for hard surface objects.

The secret of Dynamic Subdivision is QGrid and Coverage settings. These allow corner volume to be maintained and adjusted dynamically. Radical, I’d say! This is a great way to model hard surface shapes where parts of the shapes must appear seamless, kind of welded together.

I used to make these kinds of shapes using Dynamism and Booleans, but that process can now be at least partially bypassed. We can come up with soft transitions between shapes while maintaining edge volume. And preview it dynamically.


ZBrushCore vs 3D-Coat

Thanks for great comment Marco (mkdm).

I would like to share my point of view about this. Does release of ZBrushCore put 3D-Coat into a position where they have to perhaps lower their price point?

Well, I would argue that perhaps not. Core has severe limitations that make it almost completely unsuitable for game artist or anyone who want anything to do with textures. It doesn’t have texture support or UVs. No baking whatsoever, no mesh projection. None. The surface noise is a render effect.

3D-Coat can do PBR. There are no ZBrush that can do that at the moment. What you get with 3D-Coat is a complete tool for retopology and unwrapping and on top of that also PBR painting. 3D-Coat may not be as polished as some of the ZBrush counterparts are, but there are workarounds to those quirks for the most part.

And what comes to the near 100 dollar market, 3D-Coat already has Amateur version (which can’t be used for commercial use) but which is still way more capable than ZBrush Core.


Quick Diamond Knurl in 3D-Coat

Here’s a tutorial how repeating detail can be easily added to normal map in 3D-Coat, in this case diamond knurl. This is really quick way to add such detail. This can be used for virtually anything.

Just make sure that your UVs are straight and if possible make them so that the pattern will wrap around.


3D-Coat Review and Guide (PC version 4.7) 2016

3D-Coat Review (2016)
(PC version 4.7)

3D-Coat 4.7 splash screen

3D-Coat Review splash screen

Introduction to 3D-Coat

Pilgway’s 3D-Coat has done something quite extraordinary over the last couple of years, it has placed itself in a sweet spot of a market dominated by ZBrush, Mari and earlier, Mudbox. It has grown to a mature multi-tool that is taken seriously now even by larger production companies.

The present version rivals and even surpasses some of the features in ZBrush 4R7, and now after 4.5 update 3D-Coat can do PBR. (Only thing ZBrush can do at the moment is a BPR, a Best Preview Render, not PBR, acronym chaos!).

3D-Coat is extremely well featured package. It can do both volumetric and surface based 3D sculpting, re-topology, UV unwrapping, per-pixel texture painting directly on a model (without never having to watch UV seam), baking, PBR in both variants (Metal-Rough & Spec-Gloss), Ptex, and render nice previews of the model with HDRI environment maps. Heck, it even has a rudimentary cloth simulation and instancing! It is completely possible to finish a complete modelling project without ever having to leave the application.

Sci-Fi pistol in 3D-Coat

This scifi pistol concept was completely created in 3D Coat.

I have been big fan of 3D-Coat since version 3; what caught my attention that time was the ability to unwrap models so easily and per-pixel painting. I didn’t dare to step into the sculpting room since I was such a big fan of ZBrush since the earlier days and didn’t want to compromise my learned shortcuts. 3D-Coat 3 had bugs, and often the UV tools crashed the application; it had especially trouble dealing with objects with many pieces. I’m glad to say that the current version is rather stable.

Seeing the PBR introduced in 4.5 made me to upgrade my licence. I am enjoying to use 3D-Coat for many kind of modelling tasks now.


3D-Coat has two sculpting modes, Surface Mode and volumetric Voxel Mode.

Working with voxels is kind of like working with Dynamesh in ZBrush, the resolution of the sculpture is dependant on the volume, size of the object.

There are several differences though, with voxels you can sculpt holes that punch through the object and you don’t need to re-dynamesh, it is done automatically.

Voxels are like pixels but in three dimensional space, if that makes any sense. You never see the voxels themselves, you see only a mesh that is projected real time over the voxels.

Surface Mode allows you to work with, well, surface. This surface can be re-skinned, and adaptive subdivision can be used. So one could, for example build the main forms using Voxel Mode and do the fine detailing in Surface Mode, as the latter is also easier on your system. Either of these modes can be used for both organic and hard surface sculpting.

For my needs sculpting in 3D-Coat doesn’t fall much short of ZBrush, even though there are way less brushes. I am not big anatomy guy, but sometimes I wish there would be ZSketch kind of workflow. And I miss some of the brushes in ZBrush, especially TrimSmoothBorder for making rocks and such. But for almost for each of the ZBrush tool, there is equivalent in here. Again, I’ve noticed that if I can do something in ZBrush I can find a way to do it at least somehow in 3D-Coat.

Sculpting with Booleans and Curves

What’s great about 3D-Coat is that you can use boolean operations when working in voxel mode to subtract and blend models. All of a sudden, simple primitives become so powerful. Creating a Creek pillar (the one with pill shaped grooves) could be done, for example, by using subtracting capsule primitives with a radial symmetry from a cylinder. This is way of working is a bit similar to the Dynamesh boolean operations in ZBrush.


You could sculpt a creek pillar using capsule primitives and radial symmetry, subtracting from the voxel cylinder in the center.


Finished form after subtract.

3D-Coat also has a powerful feature called Curves which is great to make organic shapes, tubes and the such. You can also use your own spline objects to make a tube belt, railroad track or whatever. There are so many ways you can use this. And remember, you can always produce a shape or object using curves, and use that object as a cutting tool.  This is again quite similar to ZBrush Curves but 3D-Coat version is easier to use in my opinion and gets kinky less often. (See my Curves tutorial in Youtube)

I have been able to edit models with more than 94 million polygons when split in various voxel layers, without seeing much of a performance hit. I’m running just average desktop computer and the performance is solid all-round.

Instancing is also now supported and it works well. You can create any number of instances and this is generally very handy feature.


Repeated details on this Cargo Ship model were made using instancing.


Retopology in 3D-Coat is very good. Whenever I need to make hand-made retopology I will choose 3D-Coat. You can have several retopology objects and you can show and hide several high poly models while doing retopology. I cannot come up with any idea how this could be any better. UV unwrapping is now integrated to the retopology room so you can unwrap the model as you go. This is a nice because it’s easier to estimate how the UVs will look while building the retopology mesh. This would be especially important for baking optimised normal maps in xNormal for example.

Retopo room

Re-topology being performed on highres sculpt. Notice the retopo objects in upper right corner of the page.

There is also now selection of retopo models to aid the retopology process, as well as new tools such as Free Extrude which allows extrude-like modelling operations. These are so useful that I rarely need to visit external application, no matter how complicated the object I’m making is.

I had a bit of a problem when I was importing a retopo model from Lightwave to 3D-Coat (check out my Youtube video). For some reason the model I was trying to import appeared grayed out and I couldn’t get it to work no matter what I tried. However I learned that retopology in 3D-Coat is based in the UV set. When I imported the model, new UV set was somehow created, so it was kept in it’s own place. Gladly merging UV sets is very easy in 3D-Coat, as I showed in the video.

Automatic retopology is also good in 3D-Coat, although maybe not as interstellar good as ZBrush ZRemesher is.


3D Coat can also bake normal maps and AO maps, which can also help streamline your workflow. 3D Coat uses T-Mikk tangent basis which is same as what xNormal uses and basically appears to use cage/averaged projection mesh. For organic shapes like characters this might work just fine, but when I tried to bake hard surface scifi box thing I got into issues with normal maps, and I absolutely had to rely to my 3Ds Max / xNormal workflow.

The way how I see it, as there is no way to set custom mesh normals in 3D Coat, I can’t for example use smoothing groups to mark where hard edge should be and so on. If we use higher res geometry, this will be less and less of an issue. But for the time being, to get a perfect and effective bake, I need to use xNormal. But it’s nice that the option at least exists.

UV unwrapping and packing

UV unwrapping has always been a pinnacle feature of 3D-Coat. I have used this so very much since version 3. Marking edge loops and seeing the islands being formed in real time as I keep laying down the seams is really awesome. It is possible to unwrap almost anything with this. I really love Global Unform unwrapping method which even rivals ABF (Angle Based Flattening). It’s great to have all these methods in my fingertips while doing the unwrap process. Auto seams also works remarkably well and can sometimes be good enough as it is.

You can adjust, scale and rotate the islands, faces, edges or vertices manually by using the manipulator. The colors in the UV preview will tell you the overall density of the UV map, whether some feature is too large (blue) or small (red). In best situation the colour appears grey.

UV packing is also very well implemented feature in 3D Coat, it’s great way to optimise the UV space. It can fill holes in UV islands and very efficiently pack the map for best result. It’s also possible to pack without rotation and flipping which is very nice and there’s option to set margins for the UV space.  I am not sure how much efficient the packing could be, there are dedicated UV packing apps out there that can figure out best ways to place the UV islands and can even take advantage of the GPU in your computer to process the operation. For me however, packing in 3D Coat has been good enough so far.

See my UV unwrapping tutorial in Youtube.

Texture painting

Simple wrench

Simple Wrench textured in 3D-Coat

Texture painting in 3D coat is crazy fantastic good. You can, for example sculpt an object in sculpting room, head over to paint room and just start paint textures in full PBR glory and render out the final object without having to do any UV work at all. This is great feature for concept artists; after the the model gets green light, one can take the production to the retopology and UV stage.  This alone is a remarkable feature. I don’t know how this actually work behind the scenes but I can tell that it works and looks hella good.

The paint layers work just like layers in Photoshop, even the blending modes are similar. One can either fill the whole layer or paint it by hand. Painting layers can take advantage of the many stencils and these can be projected by cube mapping. No need to worry about those UV seams, ever. One can also paint directly to the flat texture. Tablets are also fully supported in 3D-Coat.

Textures with PBR

The included PBR smart materials are great way to get started with an idea, say a worn paint, for example. So you could edit some of the included Smart Material presets, adjust the Overall Cavity Modulator to give edges some extra punch, and then tweak the layer by painting or erasing with any of the included stencils. Same goes for dirts, rust, scratches and the like. And you can also make your own presets to basically make a template for serialised assets. Sure, Substance Designer is probably the preferred way for game studios, but I am just saying that it is possible to do that inside 3D-Coat.

The resizable smart material preview window is also very, well smart. Because this would help those with lesser machines to see s preview quicker. I’m running mine with GTX960 and having extremely good performance.

3D Coat can export whole a lot of maps, also AO, Curvature and such. There are a lot of presets and also option to export to Steam Workshop.

Please see my PBR Texturing Tutorial in 3D-Coat.

Export presets

There are several export presets for textures in 3D-Coat 4.7


It’s very very nice that now that we have PBR and our scene is lit by 360 degree equirectangular HDRI images , we also get a renderer that supports all that. The renderer in 3D-Coat is pretty fast and can get your model rendered, but the options here are a bit rudimentary if compared to say, Substance Designer’s iRay renderer. I wish there was effects like bloom and such, and although technically it’s possible to render animation, it feels like an afterthought. Animation works by blended states of two different scene files, so to control camera movement, for example, one should create two scene files with different camera positions.  There is a checkbox that also seems to allow camera animation through camera shortcuts and basically what appears to be a turntable option. But animation without a timeline? Difficult.

Render room

Render room could use more options


The Professional version of 3D-Coat costs at the moment 379. Upgrade from 3 is just 99. It’s nice that you can upgrade from Mac version to PC version, and I suppose vice versa. What’s interesting is that there is also Amateur version of 3D Coat for $99. This can’t be used for commercial work and is limited to 2K maps and 7 layers, but has all the other functionality. I would say the price is one of the great features of 3D Coat. If you own 3D-Coat 3, definitely get this update.

3D-Coat Review : A Conclusion

The strongest featurse for me in 3D-Coat at the moment would be the voxel sculpting, PBR texturing and retopology. These features alone are worth of getting the software. This fast and easy way to unwrap retopo objects is really timesaver. I can’t live without it. Being able to come up with intricate work fast, when needed is simply great. There’s surprising depth to the application and it’s tools.

On the other hand, weakest feature would be the render room. I wish there was a proper way to position model, use various lights and use background meshes and objects and use camera effects like bloom in Marmoset Toolbar and exposure control. Just the overall experience isn’t very good what comes to rendering. Also, lacking is the ability to use layer masks, a feature that would have huge potential.

If you want to get into 3D sculpting and want to have also ability to make game models or models for animation, 3D Coat will not disappoint you.

Highly recommend.


UV mapping in 3D Coat

Here is a free video tutorial how to use 3D Coat’s intuitive 3D unwrapping tools. I go through the process of marking and optimising seams, unwrap, and pack UV islands on UV efficiently. It’s really quick and easy to unwrap model in 3D Coat. This feature has been a pinnacle feature of 3D Coat since version 3, but the new version have even better and more efficient tools.

Please see my 3D-Coat 4.7 (2016) review here.


ZBrush 4R7 PanelLoop Presets explained

Piggyson at Youtube gave explanation how to use PanelLoop Presets v1.0 plugin in ZBrush. Looks super useful.

I love using panel loops in ZBrush for variety of things. They can often help in displacements too.


From ZBrush Summit: ZBrush 4R8 Revealed

Oh boy seeing news of ZBrush 4R8, my excitement level is over 900%. Owners of ZBrush 4 got one more free update, 4R8.

Being so long time ZBrush user and having used it from the early 4 version, I feel like I’m on luxury yacht with Pixologic’s software with these free major updates. This is one investment that has truly paid off, to say the least.

Basically why ZBrush 4R8 is happening seems to be that Pixologic wants to give out the features in Core for us ZBrush owners before Core is released. This is very nice. According to Pixologic some of these new features include those that would have been (and will be) in ZBrush 5.

zBrush prop modeling

a prop being modelled using zBrush sculpting tools

This version of ZBrush will get the new transform gizmos and ability to create one’s own gizmos, also localisation to several languages.

Biggest thing for me personally are introduction of vector displacement maps (3D displacement maps). New version can c0nvert any mesh to these 3D maps and these can be used with brushes kind of like 3D alphas.

There’s also new real-time Boolean system which appears to be basically just a render effect, but one can convert or create mesh by using Make Union Mesh.

I am also very interested how well this will take advantage of larger memory via 64 bit support. We’ll have to see how this will be, it seems Core will be only 64 bit. I have been occasionally using 64 bit version of 4R7 for meshes that required a lot of memory, but the experience has not been always completely, ehm. stable. I wish that 4R8 would be more stable and truly 64 bit.

At this time Pixologic has not provided us a date when ZBrush 4R8 will be out, but I would guess before end of October.

ZBrushCore in Pixologic

ZBrushCore and what we know now

Some details about ZBrushCore are out.

To me this looks kind of like ZBrush version for everyone. They said it was going to be streamlined and it sure seems that way. When I think about ZBrush 4R7  it sure has tons of systems in it and itself it could use some streamlining. It’s crazy, it has ZSketch Armatures, ZModeler, Dynamesh and Dynamic Subdivisional modelling engine, just to name a few features. You can do so much with it that it’s mind blowing, and the automatic retopology ZRemesher (post R6 versions) is crazy awesome good. But there are just so many different features that for a newcomer learning this program can be like uphill battle.

ZBrushCore in Pixologic Website.

ZBrushCore in http://www.pixologic.com

So  having more simple to use if less featured program for those who mainly work for 3D prints and such makes sense. And ZBrushCore has new features that the “full” ZBrush doesn’t have, such as one click optimisation for 3D printing and advanced export settings for 3D printing. If you only work for 3D print it doesn’t make much sense to have UV mapping tools I suppose. ZBrushCore still has basic 3D painting capabilities though and it can do basic BPR renders and Keyshot integration which is cool (but it lacks multi-pass export).

The other advanced features that are missing are mainly SSS, AO, and the like, ZSketch, ZModeler, Fibers and Shadowbox and others. The number of brushes is limited to 30 vs 300+ in the bigger brother. The full list of differences is in Pixologic site.

What is ZBrushCore really?

So what is ZBrushCore really? I would say it is entry level ZBrush optimised for serious sculptors who come from art school and want to get into sculpting anatomy and figures. This is great for that and costs about a hundred dollars. So I don’t know, why not I guess, although for game artist, the lack of re-topology and limited texture size would be problematic factors.

ZBrushCore now available for pre-order (discount for a limited time for a $119.95) 

Here’s a youtube video I made about this.

What are your thoughts? Please write to the comments below.


100 Subscribers; Thanks!

I crossed the 100 subscriber line yesterday. Really, thanks everyone who subscribed.  Subscriber amount isn’t the reason why I do this but it feels nice that someone is watching and liking what I do. But no matter how many subscribers or likes there is going to be, I don’t think that the thing what I do will change.

I hope to see you soon.