Back to the Shapespark home page

Importing individual objects

Continuing the discussion from Thought I would add a wishlist to the mix:

I still think that this is a powerful addition to the handling of larger scenes. It really would be perfect if it is possible to start a scene in Sketchup and later on add high detailed fbx models to that scene.
In addition to that handling, it would be nice to have the possibility to individualy place that models inside that scene. In my opinion it is not necessary that I have to “work” on them inside of Shapespark. Just moving, rotating and scaling would be fine.

A thing that stays in a way of easily supporting this is a scene update operation.

If a 3D model comes from one source and is updated as a whole, the update operation is quite easy. During such update Shapespark can replace all existing geometry data with a new geometry from the 3D modeling program. If a scene is assembled from different sources, the update becomes complicated. Shapespark would need to allow to update each part separately and ensure that the update of one part of the scene (say main building structure that comes from SketchUp) does not remove other parts (say sofa added from FBX).

So that means that every imported scene would need to be linked with the main scene in Shapespark. For example, I have my main architecture created in Sketchup and import this into Shapespark this is connected. If I import a sofa from an FBX-file that would be connected. And my bed in the master bedroom also has a connection to that FBX-file. Is this a problem?
If there are collisions, this for sure needs to be handled by the user.
It would probably mean to be a bit more organized from the users side to still have the overview which model belongs to which one Inside Shapespark. Or maybe it would be possible to indicate this inside Shapespark. Another point may the handling of materials, if I want to have one material on elements from different model sources.

The approach that you suggest should work well.

The problems are mostly user experience related. For example, now SketchUp extension supports two operations:

  • Import a new scene.
  • Update an existing scene.

If the scene can consisted of multiple parts that come from different sources, the extension would need operations like:

  • Import a new scene.
  • Import as an additional part of an existing scene.
  • Update selected part of a scene.

The job will be to figure out how to add support for such operations without making the program considerably harder for new users, so for example the users do not end up with two overlapping copies of the same model, because they chose a wrong part to update.

Changing location of objects in Shapespark also introduces some problems to solve. Say you move a sofa in Shapespark to a corner of a room. Then you move the sofa by 1m in Sketchup and update the Shapespark scene. Should the location of the sofa in Shapespark change by 1m after the update, or should the sofa stay in the corner?

I can understand the problem with moving elements inside Shapespark. The thing is, that sometimes this is the only reason for an update of the whole scene. And if the scene is packed it can take 5-10 min or more. So moving it inside Shapspark is a faster way. But if we have the chance to use more individual parts moving, scaling or rotating might be unnecessary, because a scene also will update much faster.

I also can understand that you want to keep the software simple and easy to handle. I think this is important. But to be honest, people also manage to learn programs like 3ds max or unreal engine. They are by far more complex. I also work with them and not using all of their functions. Just because there are complex it doesn’t keep me away from using them.

A new user will make this mistake once or twice and then learned it.

If you want to keep everything too simple it might stop the program to evolve and also limits the users to go one step further.

From you perspective, if we improved the SketchUp -> Shapespark update performance, so the changes like moving a sofa would happen instantaneously, would it diminish the need of importing additional objects directly to Shapespark and editing their placement and scale or would such functionality still be important?

We see Shapespark core functionality as a visualization tool with workflow similar to renderers like VRay, but that produces interactive WebGL visualizations instead of still images. We don’t want to make the program too simple, but when possible we try to prioritize work that makes this core functionality better, like improved performance or quality.

Hi Jan. Thank you for this inside. If you see Shapespark as a render tool I understand your opinion. You don‘t want to be an old V-Ray version but a Corona Renderer. Some basic settings and it just works.
The reason why I ask for the solution with linking several models is actually also because I want to improve the rendering result. But I want to achieve this not only by light and materials but also with more detailed models. And Sketchup is just not the tool for complex scenes. So, I want to bypass this problem by using mixed models. But it seems the way will be to use one fbx model instead of Sketchup then. But this just brings other disadvantages.

To be honest, moving, rotating or scaling is nice to have. But that is not something that is really important in my eyes.

Improved sync times on the other hand are great. Lumion is doing this in real-time since version 8.3 by the way.

Did you actually ever thought about creating a 3DS Max exporter? Similar to that one for Sketchup? It could youse standard Scanline materials. One advantage would be that bump or reflection maps could already be assigned to the models. That means I could use my existing high poly models and convert them. But also would have the chance to set Shapespark lights.

We would like to have it, but we don’t yet work on the 3DS Max exporter. We will first work on a Revit exporter. 3DS Max workflow with FBX is not perfect, but workable, whereas Revit doesn’t natively export any format that Shapespark can read without issues . For now we rely on third-party .OBJ exporter to support Revit.

Hi @jan and @tim, this is an interesting discussion so I thought that I would also add my impressions.

I think that possibility to move, rotate and scale objects inside shapespark would be invaluable. I very often have to move back and forth between 3d package and Shapespark to just tweak position of some objects and that could be frustrating. Speeding up the update process would be always nice but still you have to move between two programs, export, update and so on. This isn’t a fluent process. Maybe something like live link between the two programs would do the job here.

In a case when an object was transformed inside Shapespark and than also in the 3D package I can see two logical solutions:

  1. The transformation from 3D package is ignored
  2. The transformation from Shapespark is being reset and the transformation from the 3D package is used

We are now using 3Dsmax with Shapespark and the FBX export works well. Of course support for bump and roughness maps would be nice but it is not that much of a problem.

I also wouldn’t be so afraid of making the program more complex. It is extremly simple for now. Still every tool we use has some learning curve and everyone working in 3D is used to it.