Jump to content

UNIGINE 2.0 Beta 2: PBR Support, Renovated SDK Browser, Add-Ons System, Kinect 2 and VRPN


photo

Recommended Posts

Key Improvements

 

  • Support for PBR (physically-based rendering) in the production-ready state.
  • Support for SSR (screen space reflections).
  • Completely new SDK Browser integrated with developer.unigine.com accounts.
  • Introduction of the Add-ons system.
  • VRPN (Virtual Reality Peripheral Network) protocol support.
  • Support for the Kinect 2 motion sensor.
  • A lot of bugfixes and performance optimizations for UnigineEditor.
  • Highly detailed demo of a 3D scanned human head.
  • Updated vegetation library.
  • More documentation on built-in objects.
  • Tutorial on content optimization.

sdk_browser_demos_sm.png

 

This version is considered stable enough for production use.

 

Support for PBR and SSR

 

PBR (physically-based rendering) is a technology that uses realistic lighting and shading models to represent real-world materials as precisely as possible. Material quality now meets and exceeds modern 3D graphics standards.

SSR (screen space reflections) provide real-time reflections from any geometric forms calculated in screen space, which grants very high performance benefits.

 

pbr_sm.jpg

 

A new UNIGINE material called pbr combines both these features and provides:

  • Realistic lighting and reflections.
  • Two different workflows for materials (Metalness and Specular) to support both old (mesh_based) and new texture standards.
  • Microfiber effect to make the cloth materials look more realistic.
  • Parallax effect to make a convex relief by using height maps.

The material is now ready for production use (OpenGL only) and available for downloading as an add-on.

To use the material in your project, you should do the following:

  1. Install the PBR add-on in the Add-Ons section of the SDK Browser.
  2. Create a new project in the Projects section (specify the PBR add-on on creation).
  3. Run the project.
  4. Enable PBR in the Plugins window (Plugins -> Manage...).

The material will appear in the materials list.

 

pbr_settings.png

 

3D Scanned Head Demo

 

A Head demo is a 3D scanned highly-detailed model of a human head that uses physically-based rendering.

 

  • Highly detailed model of over 750 000 polygons (based on a 3D scan)
  • Physically-based materials
  • Subsurface scattering for the skin
  • HDRI panorama lighting

 

head_sm.jpg

 

The demo can be found in the Samples -> Demos tab of the SDK Browser.

 

PBR Material Balls Demo

 

There is also a PBR Material Balls demo featuring PBR materials. It consists of 25 different material samples:

  • Metals: copper, gold, iron, silver, etc.
  • Dielectrics: plastic, transparent plastic, polyethylene, glass, etc.
  • Fabrics: jeans, latex, silk, tartan, velvet, stocking.
  • Combinations of materials: painted metal, dirty plastic, emission, etc.

pbr_balls_sm.jpg

 

The demo can be found in the Samples -> Demos tab as well. Before running the demo you should have a PBR add-on installed.

Interior Demo

The demo used for UNIGINE 2.0 Alpha announcement is now available for customers (requires PBR plugin installed).

 

interior2_sm.jpg

 

interior3_sm.jpg

 

New SDK Browser

 

Introducing new SDK Browser, completely reworked from scratch.

 

sdk_browser_login_sm.png

 

Features:

  • Integration with the developer.unigine.com accounts.
  • Convenient downloading, installation and upgrade of multiple UNIGINE SDKs.
  • Quick creation of projects with customizable settings.
  • Browsing through various samples: UnigineScript, C++ API, C# API.
  • Downloading content on demand.
  • Self-update via Internet.
  • Easy access to UNIGINE Add-Ons library.

sdk_browser_create_project_sm.png

 

Starting from this SDK update, there will be two versions of the UNIGINE SDK:

  • Downloadable via the SDK Browser (less download size, more convenient updates).
  • Old standalone builds.

 

UnigineEditor

  • Increased overall editor performance.
  • Improved the undo / redo system.
  • Added the ergonomic algorithm of scaling with a manipulator: when moving the mouse up and right, the node is scaled up; when moving down and left, the node is scaled down.
  • Added nodes editing and previews to the WorldLayer interface in the same way as for clutters and clusters (by means of the Expand button).
  • Added a Drop to ground button to the navigation and positioning panel. It positions selected nodes to the surface below them.

    drop-button.png

  • Added inversion of selection (Ctrl+I by default).
  • In case of multiple selection, the Selected node info option now displays info only on the last selected surface.
  • Added a per-surface selection to a terrain (press and hold Shift).
  • Setting of the negative values is now locked for scaling.
  • Added correct names and editing windows for normal_transformnormal_thresholdrefraction_normal parameters of the post_filter_wet material and a sphere_transform parameter of the sky_base material.
  • Correct placement of panels above the camera speed panel.
  • Improved tooltips for panels.
  • Blocked generation of previews for ObjectTerrain nodes.
  • Added a Linux-like style of hidden files for file dialog: files with the dot before their names (for example, .test.node) will not be displayed.
  • Values different from default ones are now highlighted with green in the Assigned material and Assigned propertymodal windows.
Bugfixes
  • Fixed compression of textures in the TIFPPMPGMSGIRGB and RGBA formats.
  • Fixed editing of mipmap textures.
  • Fixed terrain saving.
  • Fixed file dialog hotkeys (Enter and Esc) on files deleting.
  • Fixed the Pointed node info option: now it works correctly if the Selected node info option is disabled.
  • Fixed freeze when adding the object different from a current nodes filter (the filter is reset to the All nodes mode when necessary).
  • Fixed freeze when adding an empty .node file.
  • Fixed displaying of the enabled / disabled nodes in the node type filter.
  • Fixed displaying of files containing spaces in their names in the Recent worlds tab.
  • Fixed camera controlling when a manipulator is in focus.
  • Fixed Mesh bones and Particles physics options in the Helpers panel.
  • Fixed work with the Rendering and Helpers panels when the Interface plugin is not loaded.
  • Fixed nodes callbacks.
  • Fixed camera focusing on the low FPS values.
  • Fixed saving of panels location.
  • Added the Z-axis rotation to the snapping operations.
  • Fixed work with node references inside the root data folder.
  • Fixed PlayerPersecutor response on the mouse acts when the editor is loaded.
  • Fixed slider values in the Physics Settings window.
  • Fixed export of assets with external dependencies in the Node Export plugin.
  • Fixed loosing of a property in clusters after pressing Expand.
  • Fixed crash on undo after mask painting.
  • Fixed crash on painting grass masks with double precision builds.
  • Fixed working with a manipulator when moving a mouse to a viewcube.

 

Introducing the Add-ons System

 

Some optional components (plugins, content libraries) are now available as Add-Ons via the SDK Browser. Later this year we plan to launch an Add-Ons store open for 3rd-party submissions in order to provide a way for developers to sell or share for free their assets made for UNIGINE projects.

 

sdk_browser_addons_sm.png

 

 

Kinect Plugin Add-on

 

Kinect plugin is used for receiving detected data from a Kinect 2.0 (Xbox One) human body motion sensor.

The plugin can receive the following types of data:

  • Buffers: color, depth, IR range:

    kinect_buffers_sm.jpg

  • Virtual skeletons (up to 6 skeletons): position and orientation of bones in a 3D world, position of hands, accuracy of each bone detection:

    kinect_skeletons.jpg

  • Faces (up to 6 faces): face boundaries and facial key points (eyes, mouth, nose) in coordinates of color and IR buffers, features (eye glasses, smile, closed eyes)

The Add-On is available for free for UNIGINE Sim licensees.

 

 

VRPN Plugin Add-on

 

Virtual Reality Peripheral Network (VRPN) plugin is used for receiving input data from hundreds of different input devices(joysticks, 3D motion and orientation tracking sensors, etc.) via the network.

VRPN is a device-independent system for accessing virtual reality peripherals in VR applications. The VRPN system consists of programming interfaces for both the client application and the hardware drivers and a server application that communicates with the hardware devices. The DTrack application often goes as a server application.

The plugin represents the client application that is connected to the server.

 

 

The plugin comes with 2 samples:

  • vrpn_client_00 - receiving data from the flystick device and two sensors, tracking this device and a head. The data is presented as a text.
  • vrpn_client_01 - receiving data from the virtual flystick device and two sensors, tracking this device and a head, inside the UNIGINE scene.

The Add-On is available for free for UNIGINE Sim licensees.

 

 

Vegetation Library Add-on

 

Updated vegetation library provides a ready-to-use set of 20 plants (with LODs):

  • Blue oaks
  • Buck brushes
  • Coast bushes
  • Coconut tree
  • Douglas firs
  • Foothill pines
  • Fir
  • Manzanita

vegetation_sm.jpg

 

The Add-On is available for free for both UNIGINE Sim and UNIGINE Game licensees.

 

 

Other Changes

  • Added support for Visual Studio 2013.
  •  Required minimal OpenGL version is 4.4.
  • Added a chmod() UnigineScript function that changes the access permissions of the specified file or directory.
  • Buffer class and all its functions have been renamed Blob.
  • Intersections on the C++ API side now work correctly.
  • Removed support for Razer Hydra (since it is discontinued by the vendor).
  • Fixed audio files playback interruption.
  • Fixed incorrect scaling of the FBX files in ResourceEditor.
  • Fixed import of meshes referenced to the similar node files but containing different transformations.

 

Documentation

 

Content Delivery Network

 

PS: This update is being distributed via our new CDN system, so please check your preferred regional server for faster downloading (especially for customers in China).

 
 

How to Install this Update

 

There are two ways:

  • (recommended) Install SDK Browser (available in the Downloads section)
  • Install standalone SDK
 
  • Like 2
Link to comment

Known issues for Beta 2:

  • Engine:
    • Broken support for Windows XP (vc120 toolset).
    • HAS_BUFFER define is not renamed to HAS_BLOBPatch for the source SDK (post #28).
  • Common:
    • Visual Studio 2013 redistributable packages are required for Windows. Download at microsoft.com.
  • Editor:
    • You can't inherit the PBR material by default. Workaround (post #4).
    • Wrong Skinner Editor mouse pointer coordinates. Workaround.
  • SDK Browser:
    • Kinect2 and VRPN add-ons are not loaded properly for Evaluation kits: discussion thread.
    • SDK Browser: Progress bar disappearing during the download from the Chinese server. Patch (post #25).

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment

Do I understand well, that PBR is ready so far only for OGL? When it will be available for DX11? Also how big is performance impact in compare to the old materials? Thanks.

Link to comment

Bug: You can't inherit the PBR material by default. Gives the error "Material Manager::InheritMaterial() can't inherit material in to parent library"

 

Fix: Edit the .world file to move the PBR library above the project library.

 

e.g.

 

        <materials>
                <library>testproject/materials/testproject.mat</library>
                <library>add-ons/unigine_pbr/pbr_core/pbr_core.mat</library>
        </materials>
 
becomes
 
        <materials>
                <library>add-ons/unigine_pbr/pbr_core/pbr_core.mat</library>
                <library>testproject/materials/testproject.mat</library>
        </materials>
 

 

There may be a better way but this works for me.

Link to comment

demostenes

Yes, OpenGL only at this time. Unfortuantely, can't say exact date when DX11 variant will be implemented right now, sorry.

 

The performance is the same as for old materials (if you don’t use SSR, which is costly). 

 

angus.wood

Thank you for workaround. Added to our internal bug tracker and known issues post.

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment

demostenes

Yes, OpenGL only at this time. We don't measure the performance difference because this shaders are not final and performance will be increased later. Unfortuantely, can't say exact date when DX11 variant will be implemented right now, sorry.

 

 

Ok, at least to have some idea, Q2,Q3,Q4, next year, not planned and low priority, etc...We are using DX11, so I need to know if I should plan some asset conversion, or ignore this feature.

Link to comment

Hello,

 

how can opengl - dx11 compatibility been seen for pbr materials.

Will it be seemless.

Is it possible to dev.a project in opengl and switch to dx re. the materials.

 

thx.

werner

Link to comment

Hi Silent,

 

how do I set CDN mirror from the SDK browser?

 

What I did is to click addon tab, and click install for the addons, and progress bar shows then disappears.  I tried to reopen the sdk browser, it is same.

 

Thanks,

Link to comment

ianyyin

Could you please do the following:
 - Run browser and reproduce your problem with progress bar dissapearing.
 - Find browser.log file in <Browser_folder> if you installed browser build or in <SDK_folder> if you use standalone SDK.
 - Attach this log file to your response.
 
Thanks!

Link to comment

Here is the traffic statistics for the last week (Netherlands server is on the left, China one is on the right), both servers have 100 Mbit/s connectivity:

 

cdn-stats.png

Link to comment

Hi Sebastianbah,

 

Here is the browser log

=== Projects ===
storage size: 0
================
=== InstalledAddons ===
storage size: 0
=======================
=== InstalledDemos ===
storage size: 0
======================
=== InstalledSDKs ===
storage size: 1
simsource2.0-beta2windows -> {
	"key": "simsource2.0-beta2windows",
	"edition": "sim",
	"version": "2.0-beta2",
	"type": "source",
	"os": "windows",
	"path": "D:\/RandD\/Unigine\/UNIGINE_Sim_src_win_2.0-beta2\/UNIGINE_Sim_src_win_2.0-beta2\/sdks\/sim_src_win_2.0-beta2\/",
	"name": "UNIGINE sim SDK source",
	"size": "0"
}
=====================
(js)[log]: addOnInstall Kinect22.0-beta2windows
GET[url: https://developer.unigine.com/browserApi/v1/downloadAddOn, params: {
	"request": {
		"User-Agent": "My Egg Client",
		"Auth-Id": "7d3cedd76e8de3b516f95fa01a930c05cc306b8c"
	},
	"query": {
		"key": "Kinect22.0-beta2windows"
	},
	"get": {
	},
	"post": {
	}
}]
GET[url: https://developer-assets-cn.unigine.com/, params: {
	"request": {
	},
	"query": {
		"key": "d049a784cb8155a20145924db398ed161a5d5054c217a5f839d80d4cd29832b4efcd87090e06d20f0c548e3302c6cf4569f0e221bb318517c4f05808e43433b0386bb25c7fd02a4505c96c46639c1f3257c6609d56f264fc669b48293ca1e4ff6a533fb6372b0cc4559ed2d7b2c163618dcf70e95e6761a0b5bcc9a0ba20d149b5092c95be9efbcb9f30a5de39501be710ad30705f8248577dd5d9d1ae471655ac88ec7fa2ce18902dfd4f8139d43e81b4a6ef9c47a4b5c32c7138c4d65da4fff508b77a2c40655298520643191fa2f2716f9846d347f2177ec38f87b450e79c                                             "
	},
	"get": {
	},
	"post": {
	}
}]
(js)[log]: addOnInstall Materials2.0-beta2
GET[url: https://developer.unigine.com/browserApi/v1/downloadAddOn, params: {
	"request": {
		"User-Agent": "My Egg Client",
		"Auth-Id": "7d3cedd76e8de3b516f95fa01a930c05cc306b8c"
	},
	"query": {
		"key": "Materials2.0-beta2"
	},
	"get": {
	},
	"post": {
	}
}]
GET[url: https://developer-assets-cn.unigine.com/, params: {
	"request": {
	},
	"query": {
		"key": "d049a784cb8155a20145924db398ed161a5d5054c217a5f839d80d4cd29832b4f7dd5f57a8e706ef615b57af3673a543f87ccb51d4777c97691f166ff7a7316385918c49379c0d3b622d6632b2d64bc0022a6cb1a1b2d361a1b3c339ca30ca3143976397f42be49b43bd033b78565de0c7e5e17ae3141e50f4e1ccfbe17224686146c6095fc1eb0c9502043d005487b98eed38ad69c362d784aa1d9a593215c00b0c1bf7299a6b47ffd9a74a74e8d89b614487f895b93b085fa43c424339bb0704c5fb4dac23aa38d6f2a590fc5d19e57a5487d7f17fb76d9ed0cbb60205a44f                                             "
	},
	"get": {
	},
	"post": {
	}
}]

Link to comment

ianyyin

 

I'm afraid, it's a problem in downloader.

As a workaround you can replace <Browser_path>/browser/scripts/download_manager.h file with the attached one.
Fix for this problem will be available in next browser update.

Sorry for the inconvenience.

download_manager.h

Link to comment
×
×
  • Create New...