Any way to create lights externally (withhout sketchup)

Thanks, that worked great thanks.

Is there a way to maintain instance behaviour of lights? For example if I have a bunch of lights which are instances of “large light”, can I change the brightness of all of them at once by changing the brightness of “large light”?

Currently it’s not possible for inputs other than SketchUp. However, I think we could recognize light instances based on some special information for Shapespark included in light names. For example, if your have 4 large lights in your 3D modelling tool named:

  1. {LargeLight}
  2. {LargeLight}.002
  3. {LargeLight}.003
  4. {LargeLight}.004

then during import we could recognize all of them as 4 instances of a single light named LargeLight.

What do you think?

1 Like

Sounds good to me.

By the way, I notice that the fbx file’s light strength is being ignored, and lights are instead defaulting to 25.

Is there a way to get the light strength to match the strength of the lights in the fbx file? There are a lot of lights in my test scene :slight_smile:

The FBX light strength is ignored because this property is incompatible among different rendering engines. However, the ability to recognize light instances on FBX import would allow to set the strength in the editor for all instances of a light at once, which would hopefully help in your case.

Definitely. will the below naming convention work now, or is that something you need to implement into the importer?

{LargeLight}
{LargeLight}.002
{LargeLight}.003
{LargeLight}.004

It is something we need to implement. It will be included in the next release.

1 Like

Starting from version 1.7.3 Shapespark allows to import multiple lights from a 3D file (eg. FBX, DAE) as instances of a single Shapespark light.

If an imported light name starts from __NAME__ (any NAME preceded and succeeded by double underscores) it is imported as an instance of a Shapespark light named NAME. So, if in your 3D modelling tool you name your lights as:

  • __DeskLamp__
  • __DeskLamp__.001
  • __DeskLamp__.002

they will be imported to Shapespark as 3 instances of a light named DeskLamp.

Lights imported as instances of a single Shapespark light must be of the same type, so that Shapespark could determine a common type for all the instances. For example, if the model comes from 3ds Max and the first one (__DeskLamp__) is an Omni Standard light, the two other lights must also be Omni Standard lights.

3 Likes

This is brilliant wojtek. Great job.

Hi @Wojtek.

I expected that this is also working for instanced objects. But unfortunately it is not. Is there a way that we can have instanced objects too?

Do I understand correctly that you would like to give the same Shapespark name to multiple 3ds Max objects, and then to be able to configure settings like Custom lightmap resolution, Custom hide in views for all of them at once?

Yes, that is what I am hoping for.

@tim,

It will be added in the next release.

2 Likes

@tim, The new version (1.7.6) with this feature is out.

@wojtek, I just saw the release note. Thank you!

I did not see lights mentioned in your bullet list. Did I miss something?

BTW: looks like a good list though.

@ntxdave, my reply to @tim referred to his last question in this thread, and the question was about object instancing.

OK - is there a more complete list somewhere? I looked at the bullet list on the Announcement thread and looked at the we site but did not find any additional info. Maybe I just misunderstood what you were responding to. :slightly_smiling_face:

OK. Here’s the detailed explanation of the feature I was discussing with @tim about.

Starting from version 1.7.6 Shapespark allows to force importing multiple objects from a 3D file (eg. FBX, DAE) as instances of a single Shapespark object type.

If an imported object name starts from __NAME__ (any NAME preceded and succeeded by double underscores) it is imported as an instance of an object type named NAME . So, if in your 3D modelling tool you name the objects as:

  • __Chair__
  • __Chair__.001
  • __Chair__.002

they will be imported to Shapespark as 3 instances of an object type Chair.

This helps for import workflows which doesn’t support object instancing via the 3D file itself by allowing to pass instancing information in object names.

hello i try learn instance and reproduce this stuff but :
image
naming my object with . is forbidden in maya …

how can i name object to have instance ?

Dots are not required in this naming scheme. On Shapespark import __test__1 and __test__2 should be recognized as two instances of light named test. Have you tried it and found it not to work?