Black Dragon is MY Viewer, i decide which feature i want to add and which to remove, i share this Viewer to show the world that user base size is not important, i do rate quality by effort, thought and love put into the project, not some rough estimated numbers. I consider feature requests only if i you can name proper valid reasons i can agree on. It is my (unpaid) time i'm putting into this project, i'm not here to cater to every Joe's desires.

Sunday, September 20, 2020

Black Dragon 64x - Update 3.9.0 "Visualizing Dragon"

 This one was quite plagued with fails.

Originally this update was planned yesterday, exactly one month after the last one but the merge with the latest code did bring quite some problems... and i don't mean like a broken button or something... no. All baseline animations were broken, didn't play and basically most actions like jumping and sitting got you infinitely and permanently stuck. Also there was a nasty crash whenever someone (including you) played the standup animation after falling from great heights. This made the Viewer basically impossible to use properly. Cracking down on this one cost me a few hours but trashing and redoing something hasn't been all too rare lately.

In fact the entire month was basically riddled with issues like this. As some of you may have noticed i've dabbled a lot in VRChat lately and started working with the Unity Engine. As much as i hate the Unity Engine its usage is quite "user friendly" although extremely complex. I'm saying that from a developer point of view though. The way the editor works though and what's possible with it and how easy it is was very surprising although a welcome one. In fact many of the things i like so much i want to bring them to SL. If anything this has got me quite some inspiration what else i could do with the UI. Particularly "Drag & Drop" is a big thing in Unity and i'd like to make more use of that in SL as well. In Unity you can basically drag any asset and drop it on any fitting UI Element. An animation preview with a dummy but want to see your avatar? Just drag your Avatar into the preview window and viola, it will be previewed with your avatar. Great. Want an animation to play in this state? Just drag it into the motion box. You can basically drag anything anywhere as long as it belongs there. We do kind of have this in SL already but i feel like this could be extended in some places. For instance we can Drag & Drop textures into texture pickers. How about dragging animations onto your avatar to play/preview them? We can already drag objects onto our avatars to attach them. How about dragging EEP presets into the world to apply them? Just some ideas to start. Unity also has a simple animation editor build in which is quite powerful though and can even translate basically any animation from any skeleton to another as long as they have a similar structure. Looking at their animator has given me some ideas how to tackle my own Animator and how to possible solve the UI look issue.

Further on Friday's meeting i also suggested a new effect to play with that Unity allows, it's called "Scrolling Emissive" there and it basically does what it says, it uses the Emissive Mask but instead of making everything emissive as per the texture's definition, it has a small configurable area that "scrolls" through from one side to another, fully configurable speed and direction of course. We already have emissive and adding this would be a very simple addition to the emissive shader as well as adding a couple options for the direction (which would be the speed at the same time, think of it as the texture offset options), possibly an additional brightness slider, scroll area and so on. It's a very simple thing and wouldn't hurt anyone, wouldn't even cost performance really.

Here's the effect in action. It's simple but looks really great. This could be used for many great things.

Currently this is only possible by scripting the diffuse texture to animate which also moves ... well the entire object's texture making it basically unusable for this unless you make it a separate layer, which introduced a whole host of more issues and a big performance cost.

It seemed like the Lindens seemed genuinely interested. Similarly they seemed interested in a volumetric cloud feature i suggested in the previous meeting. Maybe there's still hope we'll get these some day.

Anyway. Back to the update itself. I consider the update quite important, not only does it finally bring in the latest release code from Linden Labs with a good chunk of behind-the-scenes improvements, it also brings a couple bugfixes. Most noticeably (for compilers though) it brings the move to Visual Studio 2017. I did merge this last month already but i was facing massive performance degradation which forced me to drop it. This time however it seems like performance is equally good if not even slightly better. The move to VS 2017 also means for you as user that the Viewer will no longer require Visual C++ Redistributable 2013 64bit, instead it will now require Visual C++ Redistributable 2019 64bit, also often called the 2015 - 2019 package. I updated the pre-download page to link to that one instead. Make sure you install it if you don't already have it.

Further the update includes a fix for a nasty crash when switching water presets as reported, this was due to the water preset being loaded as sky preset which put the Environment into an invalid state and trying to transition from this into the next water preset caused it to crash. Funny times.

I've also added all the latest Patrons as usual and fixed a some longstanding compiling issues (that are probably not interesting to you unless you compile the Viewer yourself, which i hardly doubt anyone does). Lastly i added all missing tooltips to the Machinima Sidebar and brought all Display tab tooltips to the Machinima Sidebar so it uses the new fancy tooltips to display information about all the available features and options.

Most of the rest of time was either spend outside of SL or trying to do some improvements that sadly didn't work out. I had hoped at least some of them would make it such as the option to only show bones in the Poser that are actually rigged, reducing the clutter a lot and only showing bones that are of interest for your avatar. Sadly LL's underlying code regarding determining "rigged bones" is... random at best.

But i'm planning more UI improvements. I've spend some time in Blender (the 2.8.0+ versions) and i'm genuinely interested in their ways of presenting action information. They have small icons and a short action tip at the bottom of the screen always giving you a quick overlook over your actions or additional features. For instance if you hold down middle mouse to turn the camera, it shows the Alt key at the bottom, telling you that you can hold it to change to "move camera" mode. I very much like this subtle help and would like to investigate some ways to add this to the Viewer. Also the way the tools are presented sparked interest. Toolbar buttons (much like we already have) instead of in the tools floater as buttons, this would free up a good chunk of the build window in general and would make these tools available regardless of its visibility or current mode. I know you don't use this Viewer for building because it isn't made for building (just because it doesn't have copy & paste object properties) but i use it for building and i'm quite happy with it. It could use some extra love too. We'll see how that goes. I will also investigate a way to convey more UI features to the users with the Blender style icons, such as CTRL + Right Click to reset an option. Most people don't know about these things and there's hardly a good place to tell them...

Anyway, as usual if you find any issues, please report them (preferably in the Discord channel) where they can be easily tracked and responded to.

For Patrons i'm planning to extend the "store-in-login" deal to basically "anything-that-makes-sense-on-login". I'll update the Patron page when i have some specifics what can be put on the login screen. Remember that i don't want to make the login screen another news feed like the original is. So i gotta be careful how i add more stuff to it. Generally though you'll be seeing some more possibilities soon though, people have been asking for nice regions (without a shop) or possibly blogs too. I'm personally not a fan of blogs but i suppose i'm a bit different there, i don't read fashion blogs, i have my own fashion. Nekkid snek fashion. But i figured you like to read fashion blogs, especially humans do.

Lastly, for the past years the right-click pie menu has run rampant and over all these years i didn't manage to reproduce a single crash while there are people out there who can easily reproduce a right-click crash with a 100% chance, over and over. If you are truly willing to help me catch this issue i can give you an instruction how to help me get to the bottom of this. Generally this will require you to install Visual Studio to be able to "debug" the crash when it happens. Visual Studio adds the ability to jump in "just in time" as the crash happens and point to the exact line the crash is happening at. The callstack would be a great help to get some directions from where this is coming from and what might be happening. I can optionally provide you with the library and compile files that might be required for the debugging to spit out a useful callstack, i can give them to you if required. So if anyone is truly up for investigating this and has some time at hand and some patience, message me and we'll have a look into this. Note that you need to be someone who sees somewhat semi-frequent crashes when right clicking with pie menus. The easier and more reliably you crash, the better. Anyone can do this but checking whether the crash is fixed can take some time depending on how reliably you crash.

Thank you very much for your continued support!

By Spectris Audax

By Loverdag

By CassandraMiddles