Interactive Scene

As soon as I saw the announcement that there is now interactive scene support, I just had to try it out. I am including a post but the way things work, it will probably change over time but my comments are related to this first test.

Interactivity Test Scene
EDIT 4/03: Updated the background color of the scene.

First let me say that this is a great start. Even though there is no tutorial as of this post, it was not that hard to figure things out. However, I do have the following comments:

HTML
This went pretty well. In general, I just went to a web page I had developed and did a cut and paste. I did have a couple of issues though.

  • The box for editing the HTML is very small. I actually used an external program to create the HTML and then did a cut and paste into the box. I even used the external tool for editing.
  • I tried to include an image from my local drive but it does not show up in the page that is displayed when you click on the label to display the HTML. So my question is, how do I include an image other than linking to something online somewhere?

Video
I included a YouTube video without any problem. This was very easy. It was just a matter of using the YouTube “share” and “embed” functions.

Material Picker
While I was able to make this function work, I have the following comments about it:

  • You have no control over where the material selections are placed or their size. This, to me, was a little bit of a problem in that the size is rather large and kind of overwhelms the view. In many cases, it could wind up hiding the objects you are applying the material to.
  • I was not able to pick multiple objects to apply the material selected to. In my case, you will see that it is applied to a couple of objects but only because they are copies. If this were something like the cabinets in a kitchen and I wanted to apply the same material/texture to both the overhead and counter cabinets, under the current method I would have to have 2 material pickers. Again, if I had both a couch and a matching chair that I wanted to apply the material to, I could not do that with a single click. Maybe I am just missing something.

Audio
The audio file I used in this scene was a link to an online file. I encountered the following:

  • There was no way to tie it to a clickable object under my control. The only option in the editor was to play when the scene loads, which I did not want.
  • I discovered that when the scene was baked, a button is automatically added to the page that is a speaker button which plays the audio.

General Comments
I think this is off to a great start but I do have some general comments about the capabilities:

  • The edit window for setting the controls related to the capabilities is pretty small and was a little cumbersome to use in some situations (see the previous comments in the HTML section).
  • The labels are very small and you do not have control over the size or appearance. I tried using text instead of numbers but since I could not control the size of the label, the text was very difficult to read most of the time. In particular, if I tried some like “Material Picker” as the button, you had to really zoom in to read the label.
  • I would like to be able to relate the action label to a view. So as an example, I only wanted label 1 to appear in view 3. As you set up a scene that is more complex than the one I used for learning, say like walking through a house, I would only want the material picker for the kitchen cabinets to show when you are viewing the kitchen.
  • As I mentioned above, I would like to be able to tie the material picker function to multiple objects.
  • I would like to be able to include images, videos, and audio files from my local machine. Maybe there is a way to do that and will be pointed out in the tutorial was it is released.
  • I would like a little more control over the look and placement of HTML and Video display.
  • Edit on April 2 I also would like to be able to disarm the full screen capability when you are using. interactive functions. I tried it with my scene and none of the actions were available in that mode.

As I said, I think this is off to a great start and I see a lot of potential. Next thing after this will be to allow me to animate things within a scene and or view.
.

2 Likes

some excellent features in your project, are they all available in the latest Shapespark release? I just downloaded the latest version and couldnt find much of what you have demoed as new features. Top work though.
cheers Peter

Yes, they are all available in the latest version. They are not included in any tutorial information yet though. It was some guess work on my part and I may have some of it wrong.

Hello, several users were waiting for these new features and we promised to release them by the end of March, but we didn’t manage to put together a proper documentation and demo for the release. We will be working on them this week.

If you would like to experiment before the doc is complete, the features are configurable in the ‘Viewer’ tab, at the bottom (the ‘Extensions’ list).

Thank you very much for the feedback! We will be improving the extensions in upcoming releases.

We will increase the size of the HTML input, but in general it is a good idea to use a dedicated HTML editor for more advanced labels and just copy-paste the final text to the Shapespark editor.

Material picker is currently not taking into account camera field of view, which makes it too large for scenes with low FoV, we are fixing this.

We will allow material selected with the picker to be applied to the hierarchy of objects, so if the cabinets have a common parent in the hierarchy, you will be able to set the material for all the children.

The clickable sphere has fixed diameter of 0.14m, it works well for interiors, but seems to be too small for larger scenes. We will experiment if it is better to make the size configurable or to try to dynamically increase the sphere based on its distance to the camera.

Our idea was for the sphere to display a single symbol (like ‘?’ ) or a very short text, and to put all the longer info in the pop-up window. We will add support for placing icons on the sphere, so you will be able to use for example a brush icon instead of a long and small ‘Material Picker’ text.

We are not yet sure if we will provide video and audio hosting. The services like YouTube put a lot of effort to efficiently store and deliver the files, perhaps it is better for Shapespark to concentrate on core 3D related functions and rely on external services for audio/video resources hosting. A nice library of free to use audio files is here: http://freemusicarchive.org/

1 Like

Yes, I think all of us would do this anyway. Want to “test” my HTML before including it on the page anyway.

This is the area I think might be the biggest challenge. In my sample SketchUp model, it would not be possible to group all of the things I wanted to change into a single group. Each of them are subgroups of larger groups and there is no way to logically group them in SketchUp into a single group. However, let me suggest something else for you to explore. Since we are talking about replacing materials, rather than selecting a group to apply the material replacement to, maybe we could select a material in the imported scene that we want to replace. Here again, we would want to replace the wood color of multiple cabinets, the cloth on multiple pieces of furniture, or perhaps the wallpaper/color of multiple walls in a room. Given the object structure in the design software, it might not be possible to set up a single group with all of the objects you want to change the texture/color of. This could be very valuable for architectural models/scenes.

Understand and agree. Might give some thought to allowing us to use an image.

I understand what you are saying. I had no problem with the way I added the YouTube video file but I can see a situation where someone might want the ability to record a narrative of the scene or view that only exists on the machine where they are creating the Shapespark file. I also had a problem with an image file on the HTML example in my scene. I had included an image just below the “Top Brush” title which does not show up in the uploaded file. I think this could be an important thing in the HTML extension function.

I hope you are not taking any of my comments negatively. As I said, I think this is a very good start. I also thought it was not very difficult to figure out how to use the extension functions. Just wanted to try it on my own and wanted to see how close I came to doing things correctly.

Did some more testing today and I cannot get it to work the way I want it to.

Here are the steps I took:

  • Went in to SketchUp and modified the model so that I could get all of the pieces I want to be able to modify in a single group. BTW, the method I had to use would not be acceptable in normal SketchUp modeling. I went in to each of the subgroups and selected the appropriate object, copied it, deleted it, and then got out of the group and did a paste in place. Actually became kind of unorthodox but wanted to be able to create the group like I just said. Once that was done, I created the group I wanted, saved the model, and then I reloaded it into the Shapespark editor.
  • Now I went into the Shapespark Editor and went to the Extensions editor to try to change the Material Picker extension.
  • I clicked on one of the objects in the group but it would only select that object (and its copy). I could not select the group I had created in SketchUp
  • I then clicked on the Object tab and then clicked on the newly created group from SketchUp
  • I then went back to the Extension manager and went to the material picker. The object I had clicked on in the Object tab was listed as the object so I just clicked on the OK button. It looked like that would be fine so I clicked on the Save button.
  • Next, I clicked on the Bake button and baked the scene.
  • When the scene finished baking, I clicked on the reload button Shapespark page. Then I clicked on the image to display the scene. When I clicked on the button to trigger the material picker, the 3 material choices showed on the page but when I clicked on one of the materials, nothing happened (the selected material was not applied to any of the objects in the group).
  • I then went back to he Editor and tried again but once again, when I went into the Extension editor, I could not use the click function in the Extension tool to select the proper group. Any time I clicked on anything in the group, it selected that subgroup and would not let me select the group I had added in SketchUp.

Bottom line is that while the material picker works fine at a certain level, I cannot get it to work on some higher level groups which would be necessary in our earlier discussion. Hope this information makes sense and we can find a method for changing the material on multiple objects (without destroying the object tree in SketchUp).

I went back today and tried to get the scene to a state where I could change all of the brushes at one time. I eliminated everything from the scene except the brushes and the blocks I used to get the colors I wanted to use in the material picking process. No matter what I did, I was not able to come up with any method/group that would allow me to select all of the brushes and change their color at once.

I will wait until I see your tutorial and see if I am just missing something.

Hello @ntxdave, applying material to multiple different objects isn’t yet possible, but will be after the next release. We are experimenting with your idea to replace all occurrences of one material with the selected one.

Great! I think you are off to a good start. I hope I can help.

I also would like to be able to add a local image in the HTML.

Yep, they said it will be available until end of march, and they kept the promise.
Thanks

Version 1.6.1 has some good improvements.

  • The Material Picker works much better IMO.
  • I also like the improvement in the Viewer Extensions window. IMO, it is much easier to work with.
  • The other UI improvements are very good as well.
  • I like the I now see virtually the same thing in IE and Edge (do not have an Android to test) as in Chrome (related to reflectivity.
  • It was also pretty neat that I did not have to redo my scenes to be able to see these improvements.

Nice work guys…:+1::+1:

Here are some things I would like to see as next steps in the interactive features:

  • I would like the ability to include local files (images, sounds, and videos) in the HTML that is used with the HTML, Audio and Video viewer extensions. As an example, in the scene I posted earlier in this thread, if you look at the HTML view, you will notice that there is an image missing. That is my personal “logo” witch only exists on my local machine.
  • While you can hide objects by view, I would like the ability to replace objects (show/hide) in a fashion like the material picker. An example might be to replace lamps/light fixtures in a room. Another example would be how you can use the Layers feature in SketchUp to show/hide objects.
  • At some point I would also like the ability to animate things (objects/subobjects).
    .
1 Like

Well, today I have a new problem. I made some changes that I really wanted to share. In particular, some little tricks I leaned related to making my equipment look metallic.

I made all of the changes and checked them all in the “edit” mode and all was good. Then I baked the scene and now I have some problems. The links for the extensions no longer work and the material for the objects that would be changed with the material picker turned black. I do not know what is causing this. If you go back to the original post in this thread and click to view the scene, you will see the problems.

As I said, it all worked well until I baked the scene. Any insight would be greatly appreciated. I should also mention that this happened earlier today and I had to go back to SketchUp and reload the file into the editor.

Edit I just tried again with the same result. Everything looks fine until the baking process finishes and then the “brushes” turn black and the extensions will no longer work.

Another Edit I had added a box around the equipment as a little trick hat would allow me to add a light probe that would make the equipment shiny. I was thinking maybe that was the problem so I went back into the scene and set a custom lightmap of 10 for the Floor & Walls and the Ceiling objects. Even thought they are hidden, I thought maybe that was causing a problem. After setting the custom lightmap, I baked the scene again and the problem sill persists. I uploaded it again in hopes that someone can look at it and tell me what the heck is causing this…

The problems are caused by the box that closely wraps the scene.

  1. Lightmap baking does not take into account per view object visibility, so the box is blocking the light from reaching the scene and makes the objects black. You can see such problems with the Preview button:


    You can fix this by making the box fully transparent for the time of baking. But I’m not really sure if the box is needed at all, you should be able to add a light probe without it.

  2. The box is also intercepting clicks in the extensions spheres. This is our omission, if object is not visible in a view, it shouldn’t be preventing clicks from reaching objects behind. We will fix it in the closest release.

That was going to be my next try. I had done it once before but had a problem trying to create a light probe. I just updated my scene so you can take another look at it. I am going to do some more testing of placing a light probe when there are not walls. Seems like I could not get that to work before.

My next challenge is trying to improve the lighting. This version is much closer to what I want to see. I would like to be able to create the metal look but not have he shadows on the brushes. Have not figured that out correctly yet.

One other thing to discuss is the shape of the interactive buttons and the material selections. They look a little distorted. Is that because of something I am doing? Seems to me that the original post they were better shaped (more evenly rounded).

Edit Do not know where I went wrong before but was able to create a light probe in a scene that has no structure object (wall, roof, and floor) without any problem. Now learning how to work with sky, sky texture and other lighting settings to get better at all of this…:grin:

Another Edit:
Did some more messing around and am pretty satisfied with where I ended up. I eliminated the sky but used a sky texture. Next I made some slight adjustments to a few materials. Once baked, I then made some adjustments to the Exposure and Gamma settings. This has been a good learning experience for me.

Some of the things I learned and like about the 1.6.1 release include:

  • The expanded/improved extension windows are really an improvement IMO.
  • With this version I you now how more control over the size of the button for executing the extensions.
  • The ability to change all occurrences of a material in a big step forward IMO. To achieve this in my scene I added two squares in SketchUp and made them the colors I wanted to use for swapping the materials with the Material Picker extension. I then hid those 2 squares in all of my views in the scene. Just wanted them there to make the extra colors available for the material picker extension.
  • I experimented with various settings for the metal settings (roughness and metallic). I was able to achieve a glossy finish to the metal and got some reflections that made it more realistic looking.
  • By making my mistakes and then learning how to set up the Sky Texture, add a Light Probe and ultimately messing around with the Exposure and Gamma settings (like that I can change these two settings without having to rebake the scene).
  • And finally, a big plus IMO in 1.6.1 is the fact I can see the reflectivity in Edge (and yes other browsers as well). IMO this is important because if I am publishing the scene on a web site, I have no control over what the viewer is using and it is a big positive that the looks in all browsers is pretty much the same. :grinning::+1::+1: