Blender man

  • Content Count

  • Joined

  • Last visited

About Blender man

  • Rank
    Advanced Member

Contact Methods

  • Website URL

Profile Information

  • Gender

Recent Profile Visitors

1780 profile views
  1. In this release you will find: the node-based logic editor, support for multiple "Material" nodes in node materials, tools ported to Windows, support for the brand new browser Microsoft Edge and new APIs for parent-relative transforming. We also present a new demo app with this release - a large-scale visualization of a real manufacturing enterprise. Read more
  3. We are glad to present a new version of Blend4Web, an open source framework for 3D visualization on the Internet. For 15.07, we have implemented soft particles, made procedural transparency masks in node materials possible, significantly accelerated scene loading and added many of other improvements. link
  4. If we used the traditional way to name versions of our framework, then we would call this release "Blend4Web 2.0" - that's how important the features implemented this time are! Among them, you will find the interface thoroughly revised, the new normal editor, support for all Blender's shading models, proper handling of Cycles nodes and many more. The New Interface In order to better describe the origin of the changes which took place, we would like to remind you of how the interface was structured up to this moment. As you know, authoring scenes for Blend4Web is provided by the add-on for Blender. Not only does this add-on export scene data, but it also adds new parameters to setup scene components (objects, materials etc). At the same time, Blender, which is the multi-functional suite for creating 3D graphics, has many settings and supporting all of them is neither practical nor possible in real-time engines. As a result, our users were faced with the inconvenience of sorting through multiple settings which cluttered the interface yet were not supported by Blend4Web. Moreover, Blender Game Engine (BGE) contributed to this disarray as well, because you had to switch back and forth between different modes to setup physics and materials' transparency and other settings. Our users had to carefully study the documentation in order to understand all these nuances. Together, with our community, we were able to work out a solution. First of all, we have added a new Blend4Web mode alongside with BGE and Cycles, to hide all unsupported settings upon switching to it. Menu for switching between Blender's render engines. Secondly, all supported settings were rearranged in functional groups. Blend4Web-specific parameters, Blender's native settings and BGE settings were combined to a single, structured system. Settings in the Material tab, tidied up and consolidated. Enabling transparency is now straightforward. Thirdly, we have added options to the render interface for automatic enabling of features when it is possible. As a result, our users no longer have to explicitly enable shadows, for example. The engine will take into account any shadow casting and receiving objects, if present in the scene, on its own. Automation options in the global settings. We took the opportunity and made many other minor improvements in the interface: some settings were renamed, for some others we have changed the default value and so on. All changes occured are reflected in the user manual. We believe that all this effort applied marks an important milestone on the path of Blend4Web becoming convenient and an integrated environment for developing interactive web applications. We express our thanks to Blender developers and personally to the Blender Foundation chairman, Ton Roosendaal, for reviewing and approving our patch (D1188) which allowed us to implement this crucial functionality for our users. The New Normal Editor As we promised, we have included our new normal editor in this release. It is difficult to overestimate the significance of this tool for creating content for real-time graphics. In computer graphics, normals (mathematically, vectors) describe surface inclination, which illuminance level depends on. By editing normals, an artist can manually add shadowing in needed places of a model, thus avoiding adding resource-hungry geometry. This tool makes it possible to create high quality content for interactive web applications, which strictly require high performance and low network traffic. On the left - the original model, on the right - the same model after editing normals. Below, the wireframe and direction of normals are shown. The features of the new normal editor are described in a separate article. Due to multiple inquiries about the functionality and terms of use of this tool, we would like to clarify some aspects here. Firstly, the new normal editor, unlike the old one, works with skeletal animation. Secondly, commercial project teams can use this tool for free, including authoring content for other engines such as Three.js or Unity. Automated Re-export Another useful tool we have implemented in response to wishes of our users is what we call Mass Reexporter (you can find it at the very bottom of the Render tab). As a rule, a newly released version of Blend4Web requires exporting your scene files again. In order to automatically export files - which some projects can have a great amount of - you could use the dedicated Python script from the SDK. From today on, this operation can be performed simply by pressing a button in Blender. Re-exporting files of the upcoming Capri project. All you need to do is to select the root directory where your exported scenes are stored (both in JSON and HTML format). The script will recursively iterate through subdirectories to find the corresponding blend file for each exported file, and will try to re-export it using the same file name. The results will be logged in the info window. In the case of an export failure, the window will display the path to the source file highlighted in red, so you can check this file manually. SDK Installation and Updates The number of the SDK installation steps has decreased a bit because the SDK directory path is now detected automatically. Also, Blend4Web can now check for updates - upon every startup of Blender it will request (this option is off by default). Add-on preferences window. The button Report a Bug now opens the forum section intended for reporting bugs. We will no longer pass on your complaints to Blender devs. Materials After implementing the diffuse shading algorithms Toon and Minnaert and the specular shading algorithm Blinn, Blend4Web started supporting the full range of Blender's shading algorithms. The Geometry node is fully supported after we have implemented its outputs Local and Orco. In order to stabilize workflow for node materials, we have added stubs for the to-be supported nodes RGB Curves, Vector Curves, ColorRamp and for all Cycles nodes. Nevertheless, some Cycles nodes were implemented partially or in full, to the extent it is possible in the viewport. Geometry node. To-be supported nodes RGB Curves and ColorRamp. To further improve consistency, we reproduced Blender behavior in case of absence of the Output node (black color will be displayed instead of erroneous magenta). Ray Casting and Decals Ray casting is a widely used method in interactive graphics and in game development, for example, for measuring distances, detecting visibility of objects and confirming the outcome of shots fired. This method is based on checking the intersection of an imaginary line with objects. For this release, we substantially extended the possibilities of ray casting. You can now obtain the coordinates and the normal at the collision point (before, only distance could be obtained), and also the reference to the object itself. Practical use of this functionality can be seen in this simple yet funny demo. Ray casting demo. Please pay attention to traces left by mouse clicks - they are implemented with textured planes aka decals. Other Improvements API methods were added to control the motion blur effect. Vertex group weights can now influence Hair particle size (field Vertex Groups -> Length). The method scenes.marker_frame() was added to retrieve the frame number for a marker on the Blender timeline. As a result, the starting and ending frames for playing back a strip of animation can now be visually defined - much more convenient than defining their numeric values in the app code! The markers for animation strips used for the upcoming visualization of dairy manufacturing. Two new modules, rgb and rgba, were added to the API to facilitate conversions between color encoding systems customary in 3D graphics and web development. You may recall that in Blender and Blend4Web color channels are stored in a range from 0 to 1 (in linear space), whereas in HTML and CSS colors are encoded from 0 to 255 (in sRGB space). These new APIs also support hexadecimal colors (hex). Now, the camera smoothing factor can be tweaked with the get/set_camera_smooth_factor() methods of the app.js add-on. In order to control camera smoothing when pointer lock is active, the corresponding methods of the mouse.js add-on should be used instead. Conclusion The presented Blend4Web release is compatible with Blender 2.75. The full list of changes and fixed bugs can be seen in the release notes. Blend files for all examples mentioned in this article are included in the Blend4Web SDK. Please leave your comments in this forum topic.
  5. Hi! The Blend4Web team is going to release the updated normal editor soon! It will be possible for other engines such as Unity3D to use this tool too. Read more about upcoming new features in this overview. Interface of the new normal editor. On the left - a tree with default shading, on the right - the same tree with edited normals. On the left - glasses with default shading, on the right - the same model with edited normals.
  6. We are glad to present a new release of Blend4Web - an open source software framework for creating interactive 3D web applications. In this release you'll find the glow effect, dynamic cube-mapped reflections, support for more NLA tools and extended possibilities of world textures, particle systems and the camera controls. Glow Effect After many months of trial and error and looking for the most optimal solution, we are finally ready to reveal this awesome feature to you. Halo around luminous objects (which appears due to light scattering in the atmosphere and inside the human eye) is a well known effect used both in cinema and in the game industry. From now on, you too can create such beautiful surfaces in Blend4Web. To make material glow, you simply go to the node editor and add a B4W_GLOW_OUTPUT node group. As with the standard Blender's Output node, it is not necessary to connect this node to anything. Live demo. Adding a B4W_GLOW_OUTPUT node. The simplest glowing material possible. While the Glow Color setting is self-explanatory, what offers an artist the most possibilities is the Factor input, to which a texture and/or procedural mask can be passed, including animated ones. The width and the intensity of the halo can be tweaked with the help of the corresponding settings under the World tab - separately for the nearest (Small Glow Mask) and the farthest (Large Glow Mask) blurred areas. Dynamic Cube-Mapped Reflections Up until now Blend4Web supported only dynamic planar reflections, but from today on, our users can create objects with their surface reflecting everything surrounding them. As for planar reflections, it is now possible to rotate and move the reflection plane, so now you can manipulate mirrors in run-time. Both of these new options are demonstrated in a small yet impressive demo. You may also want to check out the user manual for reflection setup. Non-Linear Animation It is now much more enjoyable to work with animation because we have supported Blender's NLA playback settings: Muted and Reversed, and also such settings as Scale and Repeat. This functionality is also supported in the NLA Script - our visual logic editor. Also, to provide controls over non-linear animation via API we have created a new module nla.js. This module includes methods such as play(), stop(), get_frame() and set_frame() which allow the user to play back and to stop the non-linear animation, as well as to get and to set the current frame. The new methods were engaged in the Viewer application for implementing the NLA controls interface. World Texture Settings We continued developing functionality for setting up the background - its color can now be combined with a texture. The result of mixing of a world texture with the background color. World texture setting in Blender. We have added support for parameters of the Influence panel which are used for setting up the world texture. Particularly, Blend, Horizon, Zenith Up, Zenith Down, mixing types, RGB to Intensity, Negative and DVar are all supported. You can see these new features in action if you run this example. Camera Control Mode API Currently Blend4Web supports four typical camera control modes - Target (rotating around a pivot), Eye (a first-person view), Hover (gliding over a surface) and Static (non-interactive). The camera control mode is assigned in Blender, and starting today it can be changed during run-time. The Code Snippets have obtained a new example of this. An example of using the API for switching the camera control modes. Possible usage examples include: temporary blocking of unwanted camera movements in an app; switching from the observe mode to the active camera control mode as a character or from a car. Other ImprovementsNow, connecting sockets of different types in node materials is allowed. For example, Value and Color - in such cases Blend4Web behaves the same way as Blender. Before, such materials were not supported and were rendered in magenta as erroneous. A simple example of implicit type conversion. We have implemented support of the Margin property for physics objects and materials. This property improves simulation stability of colliding objects. The Oscar-winning physics engine, Bullet, has been updated to version 2.83. The options from the Rotation panel are now supported for Hair particle systems. As a result, the particles positioned in Blender are completely reproduced in Blend4Web. Specifically, not only particle location and scale are supported but rotation as well. The SDK now includes a pack of post-processing demos such as bloom, depth of field, god rays, motion blur and screen-space ambient occlusion. Post-processing demos: bloom, god rays, SSAO and DOF. A new option has been added to the add-on settings. This option turns on automatic start of a local development server upon opening Blender. If you don't want to run the server automatically, you can still do it manually with the button under the Render tab. This Blend4Web release is compatible with Blender 2.74. For the complete list of changes and bug fixes please refer to the release notes. Source blend files for all demos presented on this page are included in the Blend4Web SDK distribution. Feel free to leave your comments in this topic on our forums.
  7. Blend4Web has a JSON export option (only scene data) alongside the HTML export option (scene data + web player). The code is 870k (without addons), 910k (with addons). The app code can be optionally obfuscated to become unreadable. Agreed about U&U though
  8. We are happy to present Blend4Web 15.04! In this release, you will find shape keys and morphing, Blender's background settings, gamma node, improved annotations and more. Shape Keys Soft transition between geometrical forms (morphing) is a well-known 3D graphics technique, and starting today it works in Blend4Web as well. You can take it for a spin by running the example included in the SDK's Code Snippets. Shape keys demo. The extreme geometrical forms, which are also known as Shape Keys, can easily be created using Blender's native tools. The shape keys will be exported into Blend4Web if you enable the Export Shape Keys option. The option for exporting shape keys. Blend4Web supports all settings applicable to Relative shape keys, including blending using vertex groups and choosing the arbitrary basis key. The shape key drivers can also be used if you prefer. Standard shape key UI. Magenta-colored values indicate that drivers are in use. After loading shape keys, an application can control them using a method from the geometry module, for example: m_geometry.apply_shape_key(my_character, "Waist Height", 0.4); Background Color Based on feedback from our users, we have added support for Blender's world background settings. These settings will be used if you turn it on under the World tab's Blend4Web panel: Enabling the use of sky as a background. The background color can be tweaked by using the Horizon Color and Zenith Color color pickers. We have also implemented all of Blender's other background settings such as Paper Sky, Blend Sky and Real Sky. Background settings. For convenience, you can view the actual background right in the Blender viewport by selecting Display > World Background (this option has been available since Blender 2.73). Optional checkbox to display the background in the viewport. For more ways to change the background, please refer to the manual. Gamma Node Recently, Blend4Web developers added the Gamma node to Blender's node materials. This patch has been included in Blender 2.74, and now you can enjoy using the Gamma node in Blend4Web too. We would recommend replacing the old B4W_LINEAR_TO_SRGB and B4W_SRGB_TO_LINEAR node groups, though they still can be used for gamma correction. Gamma-correct rendering is one of most important components of a good 3D image. Experienced Blend4Web users should take into account that the assets can be stored both in linear and non-linear (sRGB) color spaces. The screenshots below demonstrate typical use-cases of color correction - the unpacking sRGB -> Linear and packing Linear -> sRGB gamma. A typical use-case of the unpacking Gamma node: vertex color is stored in the sRGB space in Blender, yet all math is done in the linear space. A typical use-case of the packing Gamma node: the texture is used as a mask. Masks are essentially values, not colors, and should not be gamma-corrected. Nevertheless, Blender's Texture node always unpacks images. That's why mask textures must be converted back to sRGB. Annotations: Even More Features You can now use whole text files to make annotations. Text can be edited right in Blender's embedded text editor. Then, you simply switch Description Source to File and specify the file name in the Description field. Also, you can now limit the width of the annotation's HTML element (Max Width). Editing a big annotation. We have listened to what our users have said and have implemented dynamic loading and unloading of anchors. We've also added the possibility to hide and unhide them via common API methods or even using the NLA Script - our visual programming tool. Blender Development The Blender development tracker already has six of our patches under review: D810 Support for Environment Lighting settings in the viewport. This would allow our users to see the same lighting in Blender that is seen in Blend4Web. For some reason, these settings currently only work in the Blender render. D846 Smooth Step node implementation would allow smooth transitions of values and colors. Currently, there is a B4W_SMOOTHSTEP node group in Blend4Web which consists of 9 math nodes. The Smooth Step node corresponds to the built-in GLSL function and would allow users to create faster shaders. D909 Support of Cycles' Vector Transform node in the Blender Internal. This node is intended for conversions between different coordinate spaces. Particularly, it would be very useful to convert normals from the camera space (in which Blender works) to the world space. This would allow users to create various view-independent effects in the viewport and hence in Blend4Web too. D923 Support of some Cycles' Geometry node functionality in the Blender Internal. Currently, the Geometry node lacks such important outputs as Incoming, Normal (in the world space), Tangent and others. D1120 Support of Cycles' Normal Map node in the Blender Internal. As you can guess from its name, this node would give the possibility to use normal maps in the viewport, including tangent, object and world spaces. Currently, Blend4Web users are constrained to put normal maps inside extra Material nodes and link them via B4W_REPLACE nodes. D1188 Support of node materials in custom render engines. We have implemented a special profile similar to Blender Game and Cycles Render to bring all Blend4Web-supported features together thereby simplifying life for our users. Unfortunately, the current Blender mechanism does not allow to render node materials in such profiles. This patch would fix this problem. We would appreciate your votes and comments in favor of accepting these patches by Blender devs. You can try all these features in action by downloading the Blender builds from GraphicAll: Linux x64, Windows x64. Other Improvements Skeletal animation is now much easier to work with! Blend4Web now takes into account the relative position of an armature and an object. As a result, you are no longer required to place the armature and the skinned object at the same point and with the same rotation and scale. No more need to precisely position the object and its skeleton. Objects now support independent animation of translation, rotation and scale. You are no longer required to insert keyframes in all channels. The original values of intact channels are now preserved, and can even be modified via API. The Glow effect and all related components has been renamed to Outline. We think this new name better describes highlighting the edges of an object. A little spoiler: "glow" will be used as a name of another interesting effect to be presented in the near future... Optimization, again and again... The Uranium physics engine now consists of two files: uranium.js - the engine code itself, and uranium.js.mem - the memory initialization file. Both files must be placed in the same directory. Thanks to this optimization, the overall size of the code has been decreased by 20% while the physics calculation speed has been improved. Also, the shader compiler has been considerably reworked. Not only has it obtained new possibilities but the performance of node materials has been improved as well. Conclusion Above, you just read about the most prominent results we have achieved this month. The full list of changes, which includes the addition of new API methods and the removal of the deprecated ones, as well as bug fixes, can be found in the release notes. Feel free to leave your comments here on the forums.
  9. Counter Strike's legendary de_dust2 map is now online! Anthro-Media, a Berlin-based studio producing documentaries, research and educational films, demonstrates a nice interactive cachalot model. Australian design studio Character Mill made a mockup of an interactive visualization for Bridgestone - the world's largest manufacturer of tire and rubber products. Shared by James Neale And finally, as it was promised by Google, the latest Chrome 42 disables plug-ins based on the deprecated NPAPI technology. Amazed Java, Unity and Silverlight users still may play their favorite games in Firefox…
  10. Blend4Web 15.03 Released It has already been a year since the first public release of Blend4Web! So, we are proud to announce the anniversary release of our open platform for developing 3D web applications. In this release you will find: annotations, object instancing, the application for demonstrating APIs and support for color animation in node materials. Annotations After receiving numerous requests from our users, we implemented a convenient tool for attaching annotations to 3D objects. The annotation is displayed near the object regardless of the camera position, and even follows it througout the animation. Annotations can be created entirely in Blender. All you need is to place an Empty object in the required position and enable the Anchor property on it. The text for the annotations can be assigned in the Title field on the Tags panel. Creating annotations in Blender. If you need to change the standard design of an annotation (provided by the Annotation option) to any other custom HTML element, specify the Custom Element option. Aside from this, an automatically calculated position of the anchor can be obtained via API and used for any purposes imaginable (specify the Generic option to do this). For example, the Planetarium demo can be extended with an additional Canvas 2D element to display trajectories and movement parameters of space objects (we'll leave this as a homework for our most curious users). The expanded annotation with additional info. Clicking on an annotation will enlarge the window, which can display additional information with text from the Description field. Also, we have implemented a way to detect cases when an opaque 3D object overlaps an anchor (Detect Visibility option). In these cases, the annotation becomes almost transparent and inactive. The "M" annotation is overlapped and inactive. Instancing Blend4Web has introduced a new possibility for creating copies of objects at runtime. For this purpose, we developed corresponding APIs which can be used to make simple (with a shared mesh) or deep copies (the mesh is copied too). Also, a method for removing the copied objects was added. More monkeys! API Demo App Various API usecases were collected in a single demo app which can be found in the SDK. It currently includes: the use of canvas and video textures, procedural camera animation, procedural annotations, modifying geometry at runtime, gyroscope, instancing and modifying materials. The source code of these examples is displayed in a separate window to simplify searching and copying. API demo app: gyroscope. Color Animation in Node Materials Animation of Value nodes in node materials improved graphic effects to a new level. With this release, it becomes possible to animate color in RGB nodes as well. Color Animation in Node Materials. In addition, now there is the possibility to control values of Value and RGB nodes via APIs to make the procedural generation of amazing materials possible. Other Improvements For this release, a number of API modules have been revised: new control functions for the glow effect were added, camera-related functions were redesigned, methods declared deprecated have been removed. The settings for the camera rotation and translation were brought to a universal system. We started implementing a specific Blend4Web profile for Blender. When switching to this profile, the Blender interface changes so that it displays only those settings that are relevant to Blend4Web. At the moment, this functionality is still under experimental status and can be activated in the add-on settings. Switching to Blend4Web mode. In order to ensure that users can work with node materials in this profile, we prepared two patches for Blender, the second of which looks most promising. We invite our users to show support in favor of this functionality to be accepted by Blender developers. In this release, we also took steps to correct errors and to make a number of minor improvements. The full list of fixes and improvements can be found in the release notes. This Blend4Web version is compatible with the newest Blender 2.74. Feel free to leave comments regarding the new release here.
  11. Beware of golems! The 9th tut out We'll speak about creation of enemies for the main character and about how to finally give a meaning to his existence. Golem is ready to fight!
  12. Our team is happy to present a new Blend4Web release! New features include, but not limited to, the development server, social sharing buttons, curves/surfaces/metaballs and spot shadows. Web Player Our standard web player app now has share buttons for Twitter, Facebook, Google+ and VK. The info window now displays the engine version and also shows control gestures when opened on mobile devices. Web player interface on mobile devices. Similar to fallback images, the fallback_video URL parameter has been implemented to replace 3D content when WebGL is not supported. SDK and Development Server The local development server can be run right from Blender! Thanks to this, you are no longer required to weaken browser security. The Development Environment Setup manual section has been rewritten accordingly. Server start button. Another button opens the SDK index page in the default browser. Besides simplifying environment setup, now there is the possibility to auto-open exported scenes in the Scene Viewer (using Run in Viewer export option). The scenes are opened in the default browser of the user's operating system. The Run in Viewer export option will immediately open the exported scene in the Viewer. Moreover, the scene list of the Viewer (assets.json) is now opened upon Blender startup. Thus, it can be easily edited with Blender's native text editor. Editing the scene list in Blender's native text editor. Finally, the Blend4Web-specific nodes now get listed in the node group menu upon Blender startup. No more manual appending from special_nodes.blend! Blend4Web-specific nodes are listed in the menu. As a result of the above-mentioned changes, all operations with scenes can now be performed without even leaving Blender. Spot Shadows Shadows casted by Spot light sources are now correctly projected to make amazing and realistic light and shadow effects possible. Flashlight shadows in a modified scene of the Jungle Outpost tutorial. New Types of Objects Blend4Web now supports procedural Blender objects such as Curves, Surfaces and Metaballs. These objects can be exported without previously being converted to meshes. Galore of procedural objects. Also, now there is the possibility to preserve rotation and scale of billboard objects. This can be helpful to billboard procedural objects such as Text, because Blender's Apply - Location/Rotation/Scale function doesn't work in this case. Additional Improvements Glow outlining, dynamic reflection, anti-aliasing and some post-processing effects now work even if a system doesn't support the WEBGL_depth_texture extension. Qualcomm devices and Internet Explorer, welcome aboard! The Scene Viewer is now capable of making screenshots. Scene Viewer screenshot maker. Rendering-to-texture (RTT) possibilities have been extended even further. Particularly, the same scene can be rendered into different textures. Also, scenes can now be nested to any level, just like matryoshka dolls. Support for the Clamp option has been implemented for the MATH and MIX_RGB nodes. Blend4Web devs added this functionality to Blender 2.73 recently. We have done many other improvements and bug fixes, the comprehensive list of which can be found in the release notes.
  13. Thanks guys. We recently issued one more tut in this series, check it out! Lessons of Magic
  14. Regarding the programming of interactive 3D apps, we'll take a look at how the logic behind the New Year's greeting card was implemented. In this article, we'll show you how to use such features of the engine as Canvas and video textures which can be applied to create many amazing effects. Blend4Web's Canvas textures leverage HTML5 Canvas power to make dynamic drawing on textures in 3D space possible.