Tool improvements

Your feedback is very important to us. We are listening.

Tool improvements

Postby cAyou » Sat Nov 24, 2018 4:21 am

Hi !
I'm using intensively ASE for the last month and so far I love the tool. But I was thinking about how to improve it so here's a list of what I've in mind, maybe you are already making some of these, or they were already asked by someone else.

- Custom shortcut/Favorites:
Having the possibility to edit the key shortcuts or to add new ones (maybe with key combos), or at least a place where we can store favorite nodes with an easy way to drag them up.

- Local function:
Basically the same with actual functions, but within the range of the current shader, so you can avoid passing a ton of variables because you can access to them directly. Though I don't know what it will look like, maybe a sort of box where you can make nodes and have in/out parameters configuration. On big shaders this will be very useful ! Or maybe if you keep the shader function system, a way to link to a shader so you have access to those inside variables.

- Faster debug:
I've played with the shader node system in UE4, and you can click on any node to see the result on the object. It's basically the same system as your "Debug" output, but more practical, as you don't have to connect your node from the other side of the shader.

- Reorder registered variables:
One of my shader has like 20+ local variables, and it becomes a mess after a while. It would be cool to at least have a possibility to reorder them like we can do with public variables.

- Move a "parent" node will make children follow:
It's something that was doable with ShaderForge, by holding a key (Ctrl or Shift) and drag'n'dropping a parent node, children will follow it. It was kinda buggy on SF, but yet very practical to mode stuff around.

- Auto node placement:
I've spend a LOT of time replacing my node after heavy editing to find a way to achieve something, because I was kinda maniac if all my node were not aligned, or evenly spaced, or crossing lines (my nightmare !). I've been thinking about having a "magic" button that will move nodes on a hidden grid or something. That would be dope !

- Custom material editor:
I've seen someone using public variable with auto register to add some "section" on the material editor. Having it officially supported would be awesome, when you make big shaders.

That's all of what I'm thinking right now, feel free to ask me more details if you have any. Again, I really enjoy my experience so fare with ASE, it's 10000 miles away from SF and even Shadergraph in terms of UX, it's just some stuff to improve even more the experience.
Cheers !
cAyou
 
Posts: 39
Joined: Mon Oct 29, 2018 7:12 pm

Re: Tool improvements

Postby cAyou » Sun Nov 25, 2018 12:59 am

One more thing !
Auto getter:
After selecting a "register local var" node, with an hotkey you auto create a getter from this value. Useful when you have like 20+ local variables and you don't want to search on the list.
cAyou
 
Posts: 39
Joined: Mon Oct 29, 2018 7:12 pm

Re: Tool improvements

Postby Amplify_Borba » Tue Nov 27, 2018 3:36 pm

Hello, thank you for taking the time to share your feedback in such detail!

- Custom shortcut/Favorites:
This might take some effort, but it's something that we can consider at a later stage.

- Local function:
We do have a Custom Expression node that stays within the scope of the shader and allows you to define input and output ports.
If this is not in the line of what you're suggesting, could you please elaborate?
In case it's something similar to UE's Material Node, or something that locally groups nodes, its in our plans.

- Faster debug:
I'll register this one for the developer to consider, seems pretty useful!

- Reorder registered variables:
You're able to reorder properties through the 'Material Properties' tab within the Output Node parameters.

Image

If this is not what you were looking for, could you please elaborate on this one?

- Move a "parent" node will make children follow:
This has been requested before, it's currently pending further consideration by the developer.

- Auto node placement:
By holding the CTRL key and dragging LMB, while having one or more nodes selected, you can snap them to a grind while moving. If this is not what you're looking for, please elaborate.

- Custom material editor:
The solution you mention is a simple way of allowing users to organize their inspector, we usually suggest that users create their own custom inspectors if they require something more specific, however, one community member has recently shared his Category Drawer solution, which we're currently considering. You can access it here.

- Auto getter:
I'll also register this one for the developer to consider, might be a good solution to prevent a repetitive task.
Customer Relations at Amplify Creations
Learn more about our offering: Amplify Creations Products
Amplify Shader Editor won the Asset Store Best Tool Award - Thank you for your support!
User avatar
Amplify_Borba
 
Posts: 1239
Joined: Mon Jul 24, 2017 9:50 am

Re: Tool improvements

Postby cAyou » Tue Nov 27, 2018 4:07 pm

I was waiting for your answer so bad haha :D Thank you for taking your time to give your feedback, let me reply to some stuff:
- Local function:
It was more like keep using the node based creation but inside the scope of the shader, not external like Shader Functions are right now. I have a huge shader for my trees right now, and quite a lot of repetitive parts with only different parameters. I've tried to create Shader Functions, but if often results in a lot of inputs and you lose some readability in your shader (spaghetti-style). Maybe a flow where you create your "Local function" as you do when you create a Shader Function (a new file, open inside ASE), but with a mandatory link to an existent shader. This way inside the fonction you will have access to every variable locally declared or any public properties without having to get them by creating a ton of inputs.
If it's something that's quite impossible I will do like you suggested, but coding manually some nodes like "Rotate Around Axis" is very painful, you lose the advantage of using a tool like yours.
Hope it's more clear :)

- Reorder registered variables:
I was talking about the variables you create with the node "Register Local Var", not the public ones. So like the public ones, having a draggable list somewhere will be super useful when dealing with 20+ registered local var (i know right :D). At least a way to order them by name will be enough in my case.

- Auto node placement:
That's some hidden feature I wasn't aware of ! It might be good enough, I was suggesting more of the "intelligent" way to clean a graph, like detecting crossed nodes. For example, I spent a lot of time inverting inputs on a multiply nodes because I had to invert input nodes positions (for clarity purpose), and seeing crossed lines was pissing me off :D

And for everything else thanks for taking your time to check them out, I'm pretty sure it will help a lot of users :)

Cheers !
cAyou
 
Posts: 39
Joined: Mon Oct 29, 2018 7:12 pm

Re: Tool improvements

Postby Ricardo Teixeira » Thu Nov 29, 2018 12:32 pm

cAyou wrote:I was waiting for your answer so bad haha :D Thank you for taking your time to give your feedback, let me reply to some stuff:
- Local function:
It was more like keep using the node based creation but inside the scope of the shader, not external like Shader Functions are right now. I have a huge shader for my trees right now, and quite a lot of repetitive parts with only different parameters. I've tried to create Shader Functions, but if often results in a lot of inputs and you lose some readability in your shader (spaghetti-style). Maybe a flow where you create your "Local function" as you do when you create a Shader Function (a new file, open inside ASE), but with a mandatory link to an existent shader. This way inside the fonction you will have access to every variable locally declared or any public properties without having to get them by creating a ton of inputs.
If it's something that's quite impossible I will do like you suggested, but coding manually some nodes like "Rotate Around Axis" is very painful, you lose the advantage of using a tool like yours.
Hope it's more clear :)
- Reorder registered variables:
I was talking about the variables you create with the node "Register Local Var", not the public ones. So like the public ones, having a draggable list somewhere will be super useful when dealing with 20+ registered local var (i know right :D). At least a way to order them by name will be enough in my case.

- Auto node placement:
That's some hidden feature I wasn't aware of ! It might be good enough, I was suggesting more of the "intelligent" way to clean a graph, like detecting crossed nodes. For example, I spent a lot of time inverting inputs on a multiply nodes because I had to invert input nodes positions (for clarity purpose), and seeing crossed lines was pissing me off :D

And for everything else thanks for taking your time to check them out, I'm pretty sure it will help a lot of users :)

Cheers !


Hey there,

- Local function:
So what would be the main difference between what you have in mind and using Register/Get or Shader Functions. Is it the way you can collapse the shaders, can you provide a mockup?

Any feedback would be welcome.

- Reorder registered variables:
Got it, thanks!

- Auto node placement:
That's a bit more tricky but definitely something we want to improve.

Thank you for your feedback, it's been passed on the devs and hopefully we can improve a few things based on it.

Thanks!
Sales & Customer Relations at Amplify Creations
Learn more about our offering: Amplify Creations Products
Amplify Shader Editor won the Asset Store Best Tool Award - Thank you for your support!
User avatar
Ricardo Teixeira
 
Posts: 954
Joined: Fri Aug 09, 2013 2:26 pm


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 0 guests

cron