Posted on Leave a comment

JetBrains Investigated by FBI in SolarWinds Hack Probe

JetBrains, maker of popular development software including the likes of IntelliJ IDEA, WebStorm, Project Rider, the Kotlin language and even the Mono font, are being investigated by the FBI as part of the SolarWinds hack probe according to the New York Times. The product in question targeted in this investigation is their build management solution TeamCity. Please keep in mind, this is just an investigation at this point, there is no guilt established and no indication JetBrains products have been compromised.

From the New York Times article, JetBrains deny any knowledge of a compromise in their software:

JetBrains said on Wednesday that it had not been contacted by government officials and was not aware of any compromise. The exact software that investigators are examining is a JetBrains product called TeamCity, which allows developers to test and exchange software code before its release. By compromising TeamCity, or exploiting gaps in how customers use the tool, cybersecurity experts say the Russian hackers could have invisibly planted back doors in an untold number of JetBrain’s clients.

Government officials are not certain how the compromise of the JetBrains software relates to the larger SolarWinds hacking. They are seeking to learn if it was a parallel way for Russia’s main intelligence agency to enter government and private systems, or whether it was the original pathway for Russian operatives to first infiltrate SolarWinds.

Information on the JetBrains investigation are limited, there is also an extremely short article on Reuters. The extent of the SolarWinds hack continue to grow daily. After the video was published, JetBrains have issued a response to the New York Times article, included in full:

The New York Times has published a story in which they point to JetBrains being under investigation and somehow related to the SolarWinds breach that recently took place.

First and foremost, JetBrains has not taken part or been involved in this attack in any way. SolarWinds is one of our customers and uses TeamCity, which is a Continuous Integration and Deployment System, used as part of building software. SolarWinds has not contacted us with any details regarding the breach and the only information we have is what has been made publicly available. It’s important to stress that TeamCity is a complex product that requires proper configuration. If TeamCity has somehow been used in this process, it could very well be due to misconfiguration, and not a specific vulnerability. Furthermore, security is our top concern and we notify and manage updates transparently in our Security Bulletin.

Secondly, we have not been contacted by any government or security agency regarding this matter, nor are we aware of being under any investigation. If such an investigation is undertaken, the authorities can count on our full cooperation.

We remain open to answering any and all questions regarding this matter and as always are committed to delivering the best possible products and services to our customers.

Thank you
Maxim Shafirov
Chief Executive Officer

Posted on Leave a comment

AI Powered Art Tools

Today we are going to look at two vastly different AI powered art generation tools, Luminar and NVIDIA GauGAN Beta. Luminar is a powerful art processing tool, a cross between Photoshop and Lightroom, but AI assisted. We recently covered Luminar hands-on including how to use it with Affinity Photo here and it is currently (2021-01-05) in the final 24 hours of a Humble Bundle sale.

NVIDIA GauGAN on the other-hand is a web based application that is part of the NVIDIA AI Playground. GauGAN is described as:

GauGAN, named after post-Impressionist painter Paul Gauguin, creates photorealistic images from segmentation maps, which are labeled sketches that depict the layout of a scene.

Artists can use paintbrush and paint bucket tools to design their own landscapes with labels like river, rock and cloud. A style transfer algorithm allows creators to apply filters — changing a daytime scene to sunset, or a photorealistic image to a painting. Users can even upload their own filters to layer onto their masterpieces, or upload custom segmentation maps and landscape images as a foundation for their artwork

You can learn more about GauGAN here, while technical details of the algorithm in the open source implementation hosted on GitHub. You can try an already trained version of the algorithm in action here in your browser.

These are not unique examples in terms of machine learning or AI enhanced art creation tools. In early 2020 Unity acquired Artomatix, the creator of ArtEngine, an AI driven material creation tool. Another project that was recently featured on this site is Cascadeur, a physics based animation tool that uses machine learning to help with animations. DeepMotion Animate 3D is another recently featured machine learning based application, that takes simple 2D footage and makes a 3D rig and animation from the results.

The key thing in all of these tools thus far is they don’t seek to replace the artist, but augment them using deep or machine learning algorithms. You can check out NVIDIA GauGAN and Luminar in action in the video below. For a VERY limited time you can get Luminar on Humble Bundle here. [Expires 01/06! — GFS can receive a commission on Humble purchases]. So what do you say, are AI powered art tools the future?

Posted on Leave a comment

Scatter for Godot

Today we are looking at Scatter for the Godot Game Engine. Scatter is a Godot add-on that makes it incredibly easy to instance mesh objects in your game level. This makes level design tasks like placing grass, paths, fences, etc incredibly simple. Additionally Scatter supports instancing multiple meshes (think different tree meshes to make a forest) in the same scatter, excluding splines or points from being scatter targets and more.

Scatter is an open source project with the source code hosted on GitHub under the MIT open source license. The project is implemented as a simple Godot add-on, so simply clone the repository into your projects Addons folder (or create one if you don’t have one already). Next load your project, go to Project Settings, then Plugins and make sure Scatter is enabled.

Once scattered is enabled, you create a Scatter object. This is a spline path that defines the boundaries of the scatter object. You need to add a ScatterItem child to your Scatter, then add a MeshInstance to the ScatterItem. This mesh instance is the 3D model that will be “scattered” around the boundary defined by the Scatter path.

The creator of the Scatter add-on also created Concept Graph for Godot, an excellent procedural generation extension we previously covered here. You can learn more about Scatter for Godot and see it in action in the video below.

Posted on Leave a comment

Blender in 2021

The Blender Foundation have just announced their “Big Projects” list for Blender in 2021. It is hard to argue that 2020 wasn’t a banner year for Blender development, with three major releases as well as the first ever LTS release. Through 2020 we saw improvements to the Blender UI/UX, sculpting tools, modeling, EEVEE, Cycles and so much more. We also saw a record number of massive companies coming on board the Blender development fund. With the release today of the projects list, we get insight into the Blender priorities in 2021, including priorities such as:

  • launch of a new open movie called Sprite Fight
  • the everything nodes project, where everything in Blender will be able to be driven procedurally using nodes (see Geometry Nodes in action here)
  • all new Asset Browsers editor window for better content management
  • massive improvements to the VSE or Video Sequence Editor
  • EEVEE real-time rendering improvements including Vulkan support, motion blur, depth of field and possibly raytracing
  • VR improvements including the ability to use VR controllers and author content in virtual reality
  • Cycles rendering improvements especially related to perfromance
  • Animation 22 (previously Animation 2020), an effort to improve animation tools in Blender, sponsored by AWS
  • improved pipeline and USD support, Pixar’s open interchange format

You can learn more about the Blender’s accomplishments in 2020, as well as the new projects in 2021 in the video below.

Posted on Leave a comment

Blender Network Being Shutdown

Blender have announced that Blender Network is being shutdown. The Blender Network shutdown is occurring in just a few months according to the post on the Blender press site:

On March 31st 2021, Blender Network will terminate its operations. All ongoing memberships will be cancelled and have their last payment refunded. The Blender Foundation Certified Trainer program (BFCT), which was already on hold, will also stop. The blendernetwork.org domain (and all URLs) will redirect to blender.org. No data will be preserved on the blendernetwork.org server, which will be discontinued.

Originally presented by Ton Roosendaal as a whitepaper in 2010, Blender Network’s mission was to facilitate the provisioning of services and support, connect users and promote professional Blender businesses. This mission has been carried out by the blendernetwork.org platform, providing visibility and business opportunities to several hundred individuals and organizations.

However, the incredible growth of the Blender community and the rise of social media have greatly reduced the need for a Blender-backed platform to provide legitimacy and visibility to professionals. For this reason, after almost a decade of operation, it is time to retire the platform.

Fortunately, out of the ashes rise a new phoenix, with Pablo Vazquez making the following announcement on Twitter.

Followed by the follow Tweet with more details:

Unfortunately there is no successor planned for the Blender Certification Program, that was already put on hold due to a lack of focus. You can learn more about the Blender Network sun-setting in the video below.

Posted on Leave a comment

PowerIK For Unreal Engine Hands-On

Today we look at PowerIK for Unreal Engine, a full body IK solver. PowerIK was recently released as part of the December monthly UE giveaways as part of the free forever category. On the Unreal Engine marketplace, PowerIK was described as:

Power IK is a full-body IK solver that lets animators push and pull any skeleton with any number of effectors.

Use Power IK to easily align creatures to uneven terrain, or dynamically modify their pose at run-time. Power IK is a robust and efficient solver that produces remarkably natural poses even under extreme circumstances.

PowerIK has the following features:

  • Unique proprietary full-body IK solver
  • Power IK Solver AnimGraph node
  • Built-in ground alignment
  • Power IK Rig Actor Component for making interactive rigs
  • Bonus! Procedural animation example blueprints
  • Bonus! 6 sample skeletal meshes with fully documented blueprints

While it supports Unreal Engine 4.26, the current install will give you an error when you try to run PowerIK. If this occurs, on Windows the fix is fairly simple. Navigate to your install directory for UE 4.26, then navigate to:

\Engine\Plugins\Marketplace\PowerIK\Source\PowerIKRuntime\sdk\lib\Win64

Copy the file POWERIK.DLL. Next paste it to the directory

\Engine\Plugins\Marketplace\PowerIK\Binaries\Win64

Now it should work just fine. In the video below we go hands-on with PowerIK using the example project currently available for download here. If you run into some trouble, the documentation is available here.

Posted on Leave a comment

Easy Anime Character Creation with VRoid Studio and Blender

Creating anime characters for game development has never been easier with tools like VRoid Studio and Blender. In this tutorial we showcase using VRoid Studio, a free tool for creating textured and animated anime avatars. If VRoid Studio sounds familiar, we featured this tool as recently as 2019.

In the video below we walk through the following processes:

  • Using VRoid Studio
  • Exporting VRM files
  • Importing VRM into Blender
  • Creating a simple animation
  • Exporting from Blender in GLB/GLTF format
  • Importing GLB formats into the Godot game engine
  • Exporting VRoid characters to Mixamo for animting

In addition to VRoid Studio you need the VRM importer for Blender. If you are using the Unity game engine, there is a Unity importer for VRM files available as well, although we wont be covering it in the video below.

One area of importance with any tool, especially free tools, are what the license terms are. You can see the list of appropriate uses here, which specifically includes “Selling video games and other products featuring characters created with VRoid Studio”. Once you have all the appropriate tools, check out the video below for step by step instruction son how to create an animated anime character for use in Godot using VRoid Studio and Blender.

Posted on Leave a comment

Raylib 3.5 Released

Eight months after the release of Raylib 3.0, Raylib 3.5 was just released. Raylib is an open source cross platform C/C++ game framework. Raylib runs on a ton of different platforms and has bindings available for more than 50 different programming languages. The Raylib 3.5 release brings the following new features.

  • NEW Platform supported: Raspberry Pi 4 native mode (no X11 windows) through DRM subsystem and GBM API. Actually this is a really interesting improvement because it opens the door to raylib to support other embedded platforms (Odroid, GameShell, NanoPi…). Also worth mentioning the un-official homebrew ports of raylib for PS4 and PSVita.
  • NEW configuration options exposed: For custom raylib builds, config.h now exposes more than 150 flags and defines to build raylib with only the desired features, for example, it allows to build a minimal raylib library in just some KB removing all external data filetypes supported, very useful to generate small executables or embedded devices.
  • NEW automatic GIF recording feature: Actually, automatic GIF recording (CTRL+F12) for any raylib application has been available for some versions but this feature was really slow and low-performant using an old gif library with many file-accesses. It has been replaced by a high-performant alternative (msf_gif.h) that operates directly on memory… and actually works very well! Try it out!
  • NEW RenderBatch system: rlgl module has been redesigned to support custom render batches to allow grouping draw calls as desired, previous implementation just had one default render batch. This feature has not been exposed to raylib API yet but it can be used by advance users dealing with rlgl directly. For example, multiple RenderBatch can be created for 2D sprites and 3D geometry independently.
  • NEW Framebuffer system: rlgl module now exposes an API for custom Framebuffer attachments (including cubemaps!). raylib RenderTexture is a basic use-case, just allowing color and depth textures, but this new API allows the creation of more advance Framebuffers with multiple attachments, like the G-BuffersGenTexture*() functions have been redesigned to use this new API.
  • Improved software rendering: raylib Image*() API is intended for software rendering, for those cases when no GPU or no Window is available. Those functions operate directly with multi-format pixel data on RAM and they have been completely redesigned to be way faster, specially for small resolutions and retro-gaming. Low-end embedded devices like microcontrollers with custom displays could benefit of this raylib functionality!
  • File loading from memory: Multiple functions have been redesigned to load data from memory buffers instead of directly accessing the files, now all raylib file loading/saving goes through a couple of functions that load data into memory. This feature allows custom virtual-file-systems and it gives more control to the user to access data already loaded in memory (i.e. images, fonts, sounds…).
  • NEW Window states management system: raylib core module has been redesigned to support Window state check and setup more easily and also before/after Window initializationSetConfigFlags() has been reviewed and SetWindowState() has been added to control Window minification, maximization, hidding, focusing, topmost and more.
  • NEW GitHub Actions CI/CD system: Previous CI implementation has been reviewed and improved a lot to support multiple build configurations (platforms, compilers, static/shared build) and also an automatic deploy system has been implemented to automatically attach the diferent generated artifacts to every new release. As the system seems to work very good, previous CI platforms (AppVeyor/TravisCI) have been removed.

Release notes are available here and a complete change log is available here. Binary versions of Raylib are available on Raylib.com while the source code is hosted under the ZLib license on GitHub. If you are interested in learning Raylib you can check out their community on Discord. You can also download Raylib via vcpkg on Visual Studio with step by step instructions available here. You can learn more about Raylib and the 3.5 release in the video below.

Posted on Leave a comment

Waterways & Terrain Add-Ons For Godot

Today we are going hands on with two powerful Godot plugins, Waterways and Heightmap Terrain for Godot. Both are open source add-ons that work in Godot 3.2.x and both are hosted on GitHub. In the video below we showcase using easy add-on and show how they work well together.

Waterways

Formally known as WaterGenGodot on GitHub, Waterways enables you to quickly create rivers using spline controls. You have full control over the path the river follows, the look of the water and even have fine tuned control over the foam generated by collisions with other objects in the scene.

Heightmap Terrain

This add-on adds terrain creation tools to Godot. Either import and existing heightmap or create your own from scratch. You get full sculpting tools for raising and lower terrain, simulating erosion, etc. You also get tools for painting the texture layer on your newly created terrain. You also get the ability to export as a mesh or heightmap for use in other applications or engines.

Getting Started Tutorial

Installing the plugins is a straight forward exercise. Clone each project from GitHub to a directory of choice. You can get the git url on GitHub here:

Get GitHub URL for Godot Addon

Assuming you have a git client installed, from a command line run the command git clone then the copied url. For example:

git clone https://github.com/Arnklit/WaterGenGodot.git

Now in your Godot project (or create one if you dont have one already), create a folder called addons then copy the addons directory from the two just cloned projects. In your project you now simply need to enable each addon. In Godot go to Project->Project Settings menu. Now switch to the Plugins tab and make sure both are enabled:

Enabling Godot Waterways & Heightmap Terrain Plugins

Now you’re ready to go! Be sure to check the video below to see both Water Ways & Heightmap Terrain for Godot add-ons in action.

Posted on Leave a comment

Unreal Engine As A 3D Modeling & Sculpting Application

The most recent releases of Unreal Engine now include new beta Unreal Modeling Tools Editor Mode enabling you to create, sculpt and even texture entirely in Unreal Engine. If you want to check out the new features, you need to enable the plugin. Don’t worry, there are step by step instructions available below

In Unreal Engine, select Edit->Plugins.

In the Plugins dialog, filter by Model and locate and select Modeling Tools Editor Mode and click the Enabled checkbox.

Modeling Tools Editor Mode in Unreal Engine

This will first prompt you if you want to continue due to it being an experimental feature. Allow this, then it will prompt you to restart Unreal Engine, click Restart Now.

New plugin restart Unreal Engine

Once your project has restarted, you can access the new modeling tools in the Modes menu by selecting Modeling.

Modeling Mode in Unreal Engine

Once enabled a new toolbar will be available with options for creating new geometry from primitives or other creation modes, tools for modifying and deforming as well as sculpting geometry and much more.

Go hands-on with the Unreal Modeling Tools Editor Mode plugin in the video below.