-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Additional 3D gizmos for Hubs components #187
Conversation
Hey, this is wonderful! It's great to have new gizmos! I see you've addressed pretty much all the stuff we talked about at Taco Tuesday Testing Day, so thank you for that, I like it! However, I found a couple code related things that need to be addressed:
And here are a few more design notes/questions to be considered:
Aside from the design and coding for this PR, the maintainability and extensibility of gizmo models should be addressed. Currently, gizmo models have been built, converted to the requisite format, and added to the add-on, but the original models aren't kept with the add-on and there is no |
@Exairnous I made the requested changes and uploaded them. The Image and Video gizmos are now mostly flat, which will make them more practical for previewing how they'll actually look in Hubs. The Audio component now has a flat plane at its center, to make positioning more practical as well. The Point Light is centered, though it's based on the bulb part of the model (which is where light would actually come out of), not based on the connector at the bottom. Let me know if that's not what you meant. I also added your test code for the light entities showing their color - however, the gizmos don't appear to update their color automatically with this code, and instead only update themselves randomly afterward or if you rename the Blender object (which for some reason, forces an update of the color). This'll need fixing, but I'm unsure of how to fix it. |
Thanks.
Yup, that's exactly what I meant. Looking good.
Ah, you need to import the All in all, it's looking good. I like it, at least :) |
Excellent! You're welcome.
Looks good. I like it. I found the code that'll draw the gizmos in screen space, you have to set While it kinda makes sense to draw them at a constant size on the screen (since scaling doesn't affect the components anyway), it also seems like it could make things harder/busier with smaller (or larger) than normal scenes (or if you're just zoomed out to look at the big picture), and since scaling doesn't affect the end result in Hubs, incorporating the object scale like all the other gizmos may be nicer to work with, but I don't know. Anyway, I'm interested in your thoughts on this after you try it out. |
Thanks for the info - I just tried it out with the screenspace scaling. My thoughts: Although it does make it easier to see the light gizmos easier anywhere they might be in the scene, they also obscure the scene itself too much. They become way too flashy and distracting. Unlike Blender's own built-in lights (which are entirely greyscale and very uninstrusive in their look/appearance), these Hubs gizmos I've created have color and and are only slightly transparent, making them much more intrusive in the 3D viewport when viewed with use_draw_scale set to True. Blender's light objects are able to look fine in screenspace because their design was kept incredibly simple - ie. tiny, drawn entirely with just dotted lines, no color. For that reason, I believe sticking to object scale for the lights would be best. I also think it's good to have a visual distinction between Blender lights and Hubs lights in the 3D viewport. Users newer to Blender will be less likely to confuse the two kinds of lights if the Hubs lights render differently than Blender's. Perhaps a toggle button could be added in the addon settings, so people can use draw scale instead of object scale if they really prefer. |
That's kinda the way I was leaning. Having them scaled to 0.5 did help, I think, but it still made the scene busy (if you didn't bother modifying the update_gizmo method you can just scale the object by 0.5, BTW). You also make a good point about differentiating them from the Blender lights. So I think it's good to just leave them as they are without screenspace scaling, and as to having a preference, we can, although I think I'd leave that for another PR. |
Thanks for working on this @theanine3D they look really nice. I've added a commit to update this branch to the latest master code. Other than that it would be nice to have the source blend file of these in case anyone needs/wants to update this in the future. I've added a |
@keianhzo Thanks! I zipped the blend and added the ZIP below. Unfortunately I'm not familiar with Git yet. 😅 |
New 3D gizmos for Hubs components
Added 3D gizmo
Added 3D gizmo
Added 3D gizmo
Added 3D gizmo
Added 3D gizmo
Added 3D gizmo
Added 3D gizmo
Lowered the polygon count slightly, so that it's under 300 triangles
Fixed dimensions and offcentered meshes
Tweaked the origin point further.
Added missing "update_gizmo" method to image.py and spot_light.py. Removed unneeded migrate function from spot_light.py
Modified so that the gizmos use the light color currently set in the Hubs component in Blender
Modified so that the 3D gizmo shows the light color set in the Hubs component in Blender
Fixed dimensions
Updated models
Corrected dimensions
Fixed missing update_gizmos() function in import lines
Tweaked appearance of spotlight 3D gizmo to make it look less like an audio speaker
Made the 3D gizmo flatter, to make it more practical for positioning
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I've created 7 additional 3D gizmos for the following Hubs components:
These components will now show a visual indicator when you add these components to an Empty in Blender.
The models are all very lightweight, all under 300 triangles, and all have a unique silhouette which makes them easy to identify.
Note: the 3 light gizmos all change color in real-time based on the color currently designated in their Hubs component, thanks to @Exairnous's addition below.