Hi
I am hoping that some of you in the CG Cookie community might be interested in helping to beta test a new add-on (my first add-on, actually).
For better or worse, I'm calling the add-on "SplineSculpt". In a nutshell, it allows you to draw along a 3D curve in sculpt mode. This is functionality I've personally been wanting for a long while, so I thought I would get off my a*se and try and do it myself :-)
When I say beta tester, you will have to appreciate that I am not a professional software developer (I am not even a professional 3D artist). As such, you will need to be patient with me. I have no particular programme of testing for people to follow, but rather I would like people to just play around with the add-on. I am interested in what you like, what you don't like and (perhaps most importantly) what was and was not useful. Also (obviously) any bugs you encountered (likely to be numerous).
Eventually, this add-on will be on the Blender Market, however, until then, I have put some (very) draft documentation up here. Needless to say, everyone involved in beta testing will get a free copy on proper release.
If you might be interested, please post below. If there is interest, I will get up some method of contact (I kind of assumed CG Cookie had a direct messaging feature, but apparently it … doesn’t…?). I'd be interested in hearing from all levels of Blender user, but ideally you will have some experience with the sculpting tools.
I’m probably looking for… 3/4 people…? (see above re: no idea what I am doing).
Many thanks!
Thanks @theluthier. I would love to get your feedback, as well as feedback from anyone else in the CG Cookie community.
Download is now available here: http://www.toohey.co.uk/SplineSculpt_BETA2.zip
"Your first option is to use SplineSculpt’s Quick Curve function. Simply hit the button and then left click to create points."
I clicked on the 'Quick Curve' button. A QuickCurve object appears in the outliner but when I left click nothing happens and the QuickCurve disappears in the outliner. Tried to do this in sculpture mode but after left clicking the viewport returns to object mode.
Hi dolores74
Firstly, thanks for trying out the add-on.
That's a bit rubbish isn't it? Bit of a fall at the first hurdle.
So, this is how it's supposed to work:
The next step is to work out what is going wrong for you.
I must admit, I am not sure at the moment. Let me have a think about what it might be and come back to you with some suggestions.
It works this time. What I didn’t do at first, when I installed the add-on, was ‘Save Users Settings’ in ‘User Preferences’. I tried to duplicate it by, removing the add-on by deleting the .py file, but Blender does not remove the add-on just complains with ‘Missing file’. So I don’t know how to remove an add-on and start all over again and I couldn’t duplicate it to see if that must have been the case.
I also moved all other objects to their own layer and back, as you did, but also, I couldn’t duplicate the first problem. So I believe it must have been that I didn’t save the user preferences @ first.
But now I can’t get out of it. I pressed ‘Enter’ but nothings happens. Also tried clicking the RMB and then all disappears and back from square one, no ‘QuickCurve’ left. I also clicked ‘Prepare Selected’ So what is the secret, if I have finished adding points, to continue ?
It would be nice to have an add-on I can generate stuff along a curve, and also, scale this stuff smaller closer to the end of the tail, its neck and bigger on its back. But maybe, that’s not the purpose of your add-on :-)
Here's my dragon.
When adding points, everything else, except adding points in the viewport, is death. Clicking around everywhere I encountered this error message, doesn't mean anything to me.
location: <unknown location>:-1
Traceback (most recent call last):
File "C:\Users\Gebruiker\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\SplineSculpt\__init__.py", line 217, in modal
quickcurve.qcurve_addpoint(context, event, newcurveobj, bm, counter)
File "C:\Users\Gebruiker\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\SplineSculpt\quickcurve.py", line 73, in qcurve_addpoint
bm.edges.new((bm.verts[counter], bm.verts[counter-1]))
IndexError: BMElemSeq[index]: index 14 out of range
It would be nice to have an add-on I can generate stuff along a curve, and also, scale this stuff smaller closer to the end of the tail, its neck and bigger on its back. But maybe, that’s not the purpose of your add-on :-)
So, you can do this (sort of, anyway), I have just failed to mention it in the documentation :-). It's not ideal though, as the Blender API does not work as it should and I am therefore having to "fudge" this slightly.
You can set the radius of your curve points to decrease (not increase) the size of the stroke. A radius of 1.0 is 100% of your original brush size. A radius of 0.5 is 50% and so on down to 0%. As an example:
I am looking for a better way to deal with this, so it should be improved in future.
Here's my dragon.
I can get everything to work OK with your dragon, are you still having issues with that? I tried to record a GIF but my laptop isn't quite quick enough to do that with the high res model.
When adding points, everything else, except adding points in the viewport, is death. Clicking around everywhere I encountered this error message, doesn't mean anything to me.
Yes, you are correct, this is just buggy at the moment. If you click outside the object it will screw up. I will make this better so that it handles the errors better.
OK, here is an example with the dragon despite my poor laptop struggling (my big computer is at home)
Hopefully this helps.
EDIT - I have made some updates to the QuickCurve function to do more error checking and hopefully make this workable. It's not a permanent fix, but it should stop the error happening for now. Please re-download when you have a chance.
OK. I have implemented a much more sophisticated solution to the QuickCurve issue and updated the download link (BETA2).
This should now work as intended without hiding any objects. I see my error!
When adding points, everything else, except adding points in the viewport, is death. Clicking around everywhere I encountered this error message, doesn't mean anything to me.
Should also now be fixed in latest download. Thanks.
Eummm ... SplineSculpt_BETA1.zip not found.
I live in Europe, CT +7 h and I also have a full time job to pay my bills.
Yeah I updated the link in my original post above (see above the reply to Kent). I will update the website too - I forgot.
In short, it's http://www.toohey.co.uk/SplineSculpt_BETA2.zip now. I took BETA1 down to avoid confusion.
I'm also in Europe, GMT and also with a job. But they can't stop me using Blender over lunch :-)
Still done with version 1 and a curve I made myself.
Blender does not keep the texture in the center. It also does not do that when I sculpt. :-(
I have version 2, I will try it tomorow.
What is your language btw ?
I found out that it all depends on the size of the brush and the position of the object in the viewport. It would be nice if Blender would be so kind to cooperate.
Blender says that the modules are installed but I can’t find it back.
I reinstalled version 1 and replaced the 4 files with those of version 2
Adding points I had this error mesage :
Traceback (most recent call last):
File "C:\Users\Gebruiker\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\SplineSculpt\__init__.py", line 217, in modal
quickcurve.qcurve_addpoint(context, event, newcurveobj, bm, counter)
File "C:\Users\Gebruiker\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\SplineSculpt\quickcurve.py", line 73, in qcurve_addpoint
bm.edges.new((bm.verts[counter], bm.verts[counter-1]))
ValueError: edges.new(): this edge exists
After 4 attempts I was able to draw a curve. I did some other +-10 attempts and this error did not return. The enter key on the numpad does not work. Hitting the big enter key my dragon disappeared and the curve remained accompanied by this error :
Hi dolores74
Thanks for sticking with this! I did say in the first post that I have no idea what I am doing really and you would need to be patient with me :-)
OK, so I can see two problems and, unfortunately for me, they are both my fault :-(. They both have easy fixes though.
Firstly, I did not put a folder inside the zip file. As such, Blender has installed it in the wrong location, which will confuse it (Blender does not do any checking when installing addons, it just copies whatever is in the zip file into your scripts/addons folder). You are probably best to completely remove the add-on and install as follows:
Secondly, you don't have LoopTools enabled, which is causing the other error. LoopTools is an add-on that comes with Blender, and I am so used to having it available that I completely forgot it is not enabled by default. I will change the add-on to warn the user that LoopTools is not enabled, however, for now, you can simply enable it manually in the usual way:
I have not done much experimenting regarding using textures, but I can confirm the size of your brush is related to the size of the brush before you click the draw button. That is the starting point, and the stroke should be a relatively similar size. Nothing, in theory, should depend on the position of the model in the viewport, but there is a bug at the moment with Blender's calculations which I have flagged here.
Loving the dragon! It looks like you have got some cool effects, despite all the errors!
I found out that it all depends on the size of the brush and the position of the object in the viewport. It would be nice if Blender would be so kind to cooperate.
OK, so I am sure that I can fix this, but it will take time. Ideally, nothing should depend at all on the model position in the viewport. A texture applied to a brush should just work like it does when sculpting without the addon, including the "Rake" option to rotate the texture following you along the stroke.
The problem is the Blender API documentation is awful, and this particular function is undocumented (i.e. they confirm that it exists, but do not explain what it does.... ).
I will need to do some experimentation to work out what it does and how it works before I can use it.
Leave it with me.
"The problem is the Blender API documentation is awful, and this particular function is undocumented (i.e. they confirm that it exists, but do not explain what it does.... )."
Welcome to Blender, there is a lot of stuff in Blender nobody knows what it does.
New version installed, Loop Tools enabled. It kinda works now, nice.
This ‘Set curve radius’ doesn’t work, it’s a pity.
Hmmm. Set curve radius should definitely work (see the above gif). Not sure why that would be the case. Perhaps try proof of concept on a sphere to check.