Arnold for Blender, first working version

works !


we can tell the user to change the last lines in “2.76\python\lib\site-packages\arnold\arnold_common.py” from


if not ai:
    sys.exit(1)

to


if not ai:
    print(('Could not find Arnold library'))

Regarding the issues finding the dll, all that should be necessary is adding the folder that contains the arnold python module to sys.path, and doing “import arnold”. If you have an unmodified installation of MtoA or the Arnold SDK it will find the dll. You should not need to modify any environment variables like LD_LIB_PATH or modify the arnold module.

The Arnold SDK should be sufficient, though MtoA and the other plugins contain some shaders and OpenVDB volume support which are not in the SDK.

It is not necessary to use 2to3, Arnold 4.2.1 and newer are compatible with Python 3.

Thanks for the advice Brecht. :slight_smile:

Why hasn’t anybody told me about this: https://github.com/nildar/barnold ??? This seems much more complete, including viewportrender and stuff

Any tips for installation with the barnold link? After adding Arnold’s py folder to the engine folder, Blender simply crashes on trying to enable the addon. Console says ai.dll can’t be found, but it’s in the engine folder as well.

EDIT: Looks like it’s meant to be compiled as a separate version of Blender like vRay or Octane rather than an addon solution.

It works for me. I just downloaded the latest Arnold sdk and in barnold I changed engine/init.py
Instead ‘from . import arnold’ I do import sys, sys.append(path-to-sdk/python), import Arnold

I’ll give it a try. Any idea what the sln file is for in the repo?

EDIT: Alright, so, I’ve got it working, but can’t get preview rendering to work. All I get is a black screen. Did you have any luck with that?

Same here on my Linux-box. I had it working at work on win8, but it was very buggy (as in not updating shaderchanges).
It’s still far from being usable (no nodes, no way to apply textures?), but if I had the time to complete an implementation I would take this as a start…

Nodes work here, create a shader and make sure “Use Nodes” is enabled in the footer of the node editor. The Standard node is clearly not finished, and there’s no blend/mix node at the moment, but the hair node and others work great, and you can add textures from there as well.

Alright…so enable the nodes to add textures, and disable them to get the ui to tweak the parameters…

Just a note, I forked to my own repo and got most of the rest of the Standard shader working. I’m going to try to add the rest of the necessary UI components and bindings this weekend and I’ll provide my code when that’s complete for anyone interested.

1 Like

that sounds awesome!

@m9105826 and @knekke - maybe it would be best to continue a discussion about this other addon in another, dedicated thread? :slight_smile: I would be interested in following that discussion as well, but I can imagine this thread will get a little hard to follow if the discussion isn’t moved.

@m9105826 - I wrote you a pm a couple of days ago to not spam this thread any further. Didn’t you see it?

Sorry for the slow reply, been busy. Here is a version where all of the AiStandard parameters (should) work. Let me know if you run into any issues.

1 Like

This was meant as a pm to m9105826, but his inbox is full. So sorry for spamming this thread further… (and maybe someone else wants to chime in on this)
I added all the options for displacement, but my skills are to limited to implement disp_map. I have a rough idea, but I’m running in circles for 3 hours now… maybe you know how to do it?
my repo: https://github.com/knekke/barnold

What version of arnold are you using with nildar’s repo? im getting alot of type errors (they need to be byte types) when calling arnold functions using 4.2.12.3

works Arnold-4.2.12.3

I have it working with 4.2.12.3 too

1 Like