Giter Club home page Giter Club logo

animation_nodes_manual's People

Contributors

3dsinghvfx avatar attilavm avatar azerupi avatar dreisicht avatar enzyme69 avatar flashblaze avatar follower avatar hapit avatar harisreedhar avatar heten-daiya avatar jacqueslucke avatar jeske avatar joelgodin avatar kalmdown avatar leoncheung avatar lordlatch avatar ndrsbhm avatar og76 avatar omaremaradev avatar pamrulla avatar safaldas avatar trondarild avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

animation_nodes_manual's Issues

Animation Nodes 2.0 for Python 3.7.0

Hi,

Due that the RTX GPU does not work with all blender versions, I am using a Blender with Python 3.7.0.
For that reason I want to make a custom build for Animation nodes 2.0 that uses Python 3.7.0.

I tried to follow the manual, but I'm not a coder type and I cannot get it done myself.

Is there maybe already a Animation nodes 2.0 versions for Python 3.7.0 somewhere that I can just download?

Make Single User or Unique

In my LIVE NODING exploration of AN, especially on Alembic and Particle System, I realized that sometimes Instance Copy does not go deep enough to make Object Particle System and Materials become "unique" per Object Copy.

Is there a way around or tips for this using Python?

"Make Single User" command does not always work somewhat.

Thanks!

AN 2.2 linux py37 fails

I am using Blender 2.92 and downloaded the module for blender 2.92 with python 3.7. Tried to use and got the following error:
Traceback (most recent call last):
File "/opt/blender-2.92.0-linux64/2.92/scripts/modules/addon_utils.py", line 351, in enable
mod = import(module_name)
File "/home/leon/.config/blender/2.92/scripts/addons/animation_nodes/init.py", line 158, in
raise Exception(message)
Exception:

This build does not work at the moment.

  1. Check if the build you downloaded has been compiled for the OS
    you are using. If not, download another one.
  2. If you are on windows you can try to install a library called
    'vc_redist.x64'. Should be easy to find using your search engine
    of choice.
  3. Try to use an official Blender release downloaded from blender.org.
  4. It is possible that you have a build for the correct platform
    but it still does not work. We experienced this mainly on linux.
    Try to find another build for your platform.
    If it still does not work, you have to compile AN yourself.
  5. Make a bug report on Github and give as much information
    as you can. Specifically the full error message, your OS, version, ...
    Am using Blender:
    Blender:

version: 2.92.0, branch: master, commit date: 2021-02-24 16:25, hash: 02948a2cab44, type: Release
build date: 2021-02-25, 09:31:37
platform: Linux
binary path: '/opt/blender-2.92.0-linux64/blender'

Python:
version: 3.7.7 (default, Jul 9 2020, 12:52:49) [GCC 9.3.1 20200408 (Red Hat 9.3.1-2)]
file system encoding: utf-8:surrogateescape
paths:
'/opt/blender-2.92.0-linux64/2.92/scripts/startup'
'/opt/blender-2.92.0-linux64/2.92/scripts/modules'
'/opt/blender-2.92.0-linux64/2.92/python/lib/python37.zip'
'/opt/blender-2.92.0-linux64/2.92/python/lib/python3.7'
'/opt/blender-2.92.0-linux64/2.92/python/lib/python3.7/lib-dynload'
'/opt/blender-2.92.0-linux64/2.92/python/lib/python3.7/site-packages'
'/opt/blender-2.92.0-linux64/2.92/scripts/freestyle/modules'
'/opt/blender-2.92.0-linux64/2.92/scripts/addons/modules'
'/home/leon/.config/blender/2.92/scripts/addons/modules'
'/opt/blender-2.92.0-linux64/2.92/scripts/addons'
'/home/leon/.config/blender/2.92/scripts/addons'

Python (External Binary):

binary path: '/opt/blender-2.92.0-linux64/2.92/python/bin/python3.7m'

I tried building my own but that failed, too.

Submitted per instructions on the error message
Thank you

LSystem

I can't find any documentation for the L-System node. Is there any?

Cheers,
Andre

Combine Mesh not work correctly

When not connect edges or connect incomplite edge indices list polygons not drawing and i see message about missing edges.
I expect edge indices auto generate if i connect vertices and polygon lists. Like in doc example.

The New Documentation

Preparing for the next release of Animation Nodes, we decided to rework the documentation. In this post, I shall outline what we are trying to do, what we already did, and what we need to do in the coming weeks.

Migration

We migrated the documentation from Sphinx/ReadTheDocs to Hugo. There are many reasons why we think Hugo is better than Sphinx/ReadTheDocs, some of those reasons are as follows.

  • Performance. Hugo can build the whole documentation in less than 2 seconds, from scratch, yes, that's 100x faster than Sphinx.
  • No dependencies. Hugo is a binary with no dependencies whatsoever. You don't need to install a python runtime, you don't need extra modules, you don't need anything special, just install and build. This should reduce the barrier for contributions.
  • Live Reloading. Hugo builds and reloads pages on the fly, so it is more friendly to use.
  • CommonMark. We use the standard commonmark markdown markup language. We no longer have to deal with the complexity of RST.
  • Extensibility. We can extend the documentation using Go's templating functionality, which is rather easy to use and is well documented.

The documentation was also migrated to Animation Nodes's web server, and it will be available at https://docs.animation-nodes.com/.

Content

Organization

The structure of the documentation changed into leaf pages with some category branch pages. Leaf pages allow each page to have its resources self contained, which will make it easier to track, add, and refactor. Branch pages usually represents categories and should generally list their children. The following figure demonstrates the new structure.

 |-documentation
 | |-subprograms
 | | |-_index.md
 | | |-invoke
 | | | |-index.md
 | | | |-one_time_cache.png
 | | | |-once_per_frame_cache.mp4
 | | | |-once_per_input_cache.mp4
 | | | |-change_subprogram.png
 | | |-expression
 | | | |-index.md
 | | | |-expression_node.png
 | | | |-expression_node_example_1.png
 | | |-group
 | | | |-index.md
 | | | |-network_error.png
 | | | |-group_example_2.png
 | | | |-group_example_1.png
 | | | |-invoke_example_1.png
 ...

We have three leaf pages (index.md) and one branch page (_index.md). Each page have its own resources next to it.

Media

We converted all gifs into H264 videos in mp4 containers. We will no longer allow gifs in the documentation. In most cases gifs are of inferior quality and of much higher size. The videos are, of course, inlined and autoplayed, so the user shouldn't notice any difference, aside from the faster load times. Videos are added using the video shortcode as follows.

{{< video an_example_video.mp4 >}}

Front Matter

Pages needs to have a Front Matter that describe its contents. We can write the front matter in YAML, TOML, or JSON. Our choice for the front matter format is YAML, but most pages only have one or two simple YAML statements as shown in the following front matter, so this shouldn't be a problem to those unfamiliar with YAML.

title : Example Page Title
chapter : true

Issues

Deployment

Currently, we deploy the documentation using the lftp FTP client. The problem is, it takes about 30 minutes to deploy the website, as it uploads everything, not just the changes. It is unclear to me if this is something we can solve somehow, but we definitely need to find a better way to handle deployment.

Automatic Migration

The content was migrated mostly automatically, so we expect there to be bad content which we will have to iron out manually.

Page Order

Currently, pages are ordered by their weight, a value that is defined in the front matter. This is bad because if we want to add a page in the middle, all pages after it will be have to be updated.

Practical Documentation

The Problem

The main problem we have with the documentation is that it is not practical, it nothing more than a mere reference in most cases. Even the examples provides are superfluous and are more of a demonstration than an actual practical example. Asking developers and documentation writers to provide more practical examples is ... not practical. Can you think of a practical example for a node that returns the maximum number in a number list? You see what I mean?

The Proposed Solution

Multiple users pointed to me that my answers on StackExchange were far more useful than the official documentation. That's why I mostly concerned myself with helping users on StackExchange than improve the documentation, but that was before I left StackExchange.

That's why I am proposing a new way of writing practical documentation for Animation Nodes. First, the Example Of Usage section of nodes will be removed. Instead, a new section that only contains references to "Example Pages" will be added. An example page is a page that follows a tutorial like structure, where the author describe how to reproduce a certain setup in Animation Nodes. An example is not related to a particular node, it only occasionally use the nodes that references it.

But how do we populate those examples? The example page will be populated in a Q&A manner. Users can ask questions here on this repository, on StackExchange, or in any other network. Once the question is answered, the answer can be promoted into an Example Page or it can be used to improve a certain documentation page. #56 is one such question that can receive an answer than can improve the documentation.

The Q&A style documentation writing ease the burden from the documentation writer and makes a stronger connection with the end-user.

Cannot choose which Python to use when compiling AN

Hello,

I have a custom build of Blender and I'd like to compile AN against a Python version (here 3.6.2 but in other cases 3.6.6 and even 3.7.1) that I want to specify when running setup.py

Could you add the option in setup.py (or in the install config) to specify the python executable and libs? Or is there an environment variable to set before running setup.py?

I tried compiling on MacOS with Python 3.7.1 and it worked but I want to have a way to specify another version that is not the default Python when calling python3 in the terminal.

Thanks,
Nicolas

Subprogram: Find First Occurence (Example 11)

This works all fine for me in Blender which is great, so only just needed clarification on a couple small points so I am clear on the inner workings of this setup etc.

We start by adding a dummy integer parameter whose initial/default value is equal to negative one,

I couldn't see anywhere in the example exactly where this negative 1 (-1 ?) dummy number had been added—I could only see the Math Node where we add +1 to the index

At the time of the break happened, the current iteration index is the index we are looking for, but the breaking happen before the reassignment—or any other operation in the node—, so the current index never gets written to the parameter,

I wasn't clear why the break happened before the reassignment? As the reassigned index socket is at the top of the loop input node I presumed, (it seems incorrectly), that that might be the order the processing followed also.

Is my understanding on the order/sequence of the loop and nodes processing correct as below?

  1. Intger List is fed to Invoke Subprogram Node
  2. Reassigned Index is outputted (so viewer receives it)?
  3. Loop Input Node (first step in the Subprogram) feeds it's inputs to the Compare Node
  4. Compare Node output is fed to Loop break test continuing only if A!=B

It's step 2 that I am most unclear on.

Prepare Polygon Transformation

Hi, after many reads I haven't yet fully grasped exactly what this node does / why it's needed. Could anyone please flesh it out for me?

PREPARE POLYGON RANSFORMATION

I attempted to understand it by swapping the node out with something else, and used the EXTRACT POLYGONS TRANSFORMS node, and subsequently got an ugly mess :). See below.

Screen Shot 2019-04-02 at 23 03 58

Manual translation (fr)

I would like to know if it is planed to have a manual translation, and how it would be organized. like:
en -> docs
fr -> docs
I could start translating the docs in french

list content from a subfolder

I would like to have each node it's own folder.
But when adjusting the rst I get this:

sp_integer

Number
======

.. toctree:: 
    /integer/Integer <integer/integer>
    Float <float>
    Integer List <integer_list>
    Float List <float_list>

I hope someone can help, I want to focus on documentation, not on rst problems.

Create Spline List

Hi

Create Spline List Example

I've followed this example near as much as the detail provided (see attached) but cannot yet replicate the scene you have in yours.

Can you detail any further what you did to get it exactly please?

screen shot 2018-11-07 at 23 12 59

Append Point To Spline

On this I can get your example to work fine.

Append Point To Spline

but the description,for me, felt a little short and so I didn't know exactly what I had done even though my example works quite like yours. Any chance of someone adding a few words or a sentence please to the below?

This node adds a new point to the input spline.

Number Wiggle: Amplitude vs Persistence

Hi

Number Wiggle

What is the difference between Amplitude and Persistence?

They seem to do much the same thing and the explanations were good though quite complex so I mostly used the very helpful images and basing query on that.

Manual Template Discussion

Before creating pages for all nodes, I think it is time to discuss a ready-to-follow template, sort of a standard, for all contributors. I tried to take Clamp node page for example.

My two cent is to structure it like this:

  • Description
  • Inputs (including hidden sockets)
  • Outputs (including hidden sockets)
  • Advanced Node Settings
  • Examples of Usage

Maybe sometimes we'll need Tip, Note or Caution, which may depend.

Any better idea?

Geometry Examples

Hello

Geometry Nodes

I wonder if more of these might benefit from examples? Examples might be super useful for beginners.

Can appreciate though it might be some work involved but even basic ones might help.

Thanks

Subprograms > Loops what happened?

Hi the subprograms loops examples have been so dramatically altered and reduced as to make learning them even more difficult IMO. What happened to all the text and content?

How can I get yesterday's version?

Data Copying & Append List Example

Hello

Data Copying Example

In this example I am grasping most of the flow.

But the data copying explanation and how it affects the append list is somewhat unclear to me.

Can someone kindly explain its working, data copying? It seemed counterintuitive that no copying seemed to share all the floats, but it's obvious I've misunderstood.

You see, the Append To List node appends the float to the original list because the Loop Input node handed it without copying (The default no-copying behavior is chosen for performance superiority.),

Also there are two float lists in loop input node, I understand the function of one of them (float was created by the random number list node) but not the other floats?

Side bar not updated

The side bar on the read the docs seems not to update according to the index files. Is there a specific file for the sidebar?

For example
In the side bar when you click on user guide, you only get nodes. But not the new sections I created.

Possible error in documentation – code developper guide

Hello,

I try to expand animation node with a new node to enable microphone capture in real-time. I think I found an error in the code here :
Developper guide - dynamic sockets

Line 19 of the full code snippet there is :

mode = EnumProperty(name = "Mode", default = "LINE",
        items = modeItems, update = AnimationNode.refresh)

But in Python if you want to add this type of variable in self, it's :

mode: EnumProperty(name = "Mode", default = "LINE",
        items = modeItems, update = AnimationNode.refresh)

Two issues confirm my observation :

  1. In spectrum sound node, for example, the code show the same type of syntax than in my second example
  2. If we use directly the code snippet, the console show the error property not found: an_GeneratePointsNode.mode

If I apply my correction my node is functional !

I don't know if it's really important but I want to inform !

Regards

"There is a programable error in your configuration file:"

I tried with system's python and virtualenv, same result

sphinx-build -b html docs build
Running Sphinx v1.7.9

Configuration error:
There is a programable error in your configuration file:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/sphinx/config.py", line 161, in init
execfile_(filename, config)
File "/usr/lib/python3/dist-packages/sphinx/util/pycompat.py", line 150, in execfile_
exec_(code, _globals)
File "conf.py", line 5, in
import sphinx_rtd_theme
ModuleNotFoundError: No module named 'sphinx_rtd_theme'

Windows compile error: LINK : fatal error LNK1181: cannot open input file 'FastNoiseSIMD_windows.lib'

I tried to compile the animation node, but it failed by giving the following errors on windows but no problems on Macbook pro M2 max:
63/123:
wrapper.cpp
C:\Users\mhzhao\blenders\animation_nodes\animation_nodes\libs\FastNoiseSIMD\wrapper.cpp(11499): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'int', possible loss of data
C:\Users\mhzhao\blenders\animation_nodes\animation_nodes\libs\FastNoiseSIMD\wrapper.cpp(16011): warning C4551: function call missing argument list
LINK : fatal error LNK1181: cannot open input file 'FastNoiseSIMD_windows.lib'
error: command 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\HostX86\x64\link.exe' failed with exit code 1181

I tried in a different windows computer by refresh installations of python,cpython and microsoft visual studio, giving me the same errors.
I got succssful compilation and installation on Macbook pro M2 Max.

I am using the version of blender 4.0.2. The latest animation nodes addon of windows version from the release page (https://animation-nodes.com/) is okay to install, but having bugs about the edgeCreases, bevelVertexWeights and bevelEdgeWeights, the corresponding codes are:
line 97 -- 110 in extend_bpy_types.py
line 36 --37, 68 --69, 95 -- 100 in nodes/mesh/mesh_object_input.py

without comment out these lines, it gives errors like no attributes of edge creases, bevel vertex/edge weights, so I need to comment out them and do the compilation.

Appreciate any help of the windows version compilation!!

FastNoise

Hello, tried to compile AN on Centos 7 and got this:

Traceback (most recent call last): File "/opt/Autodesk/flame_2021/blender-2.83-839fe335d2d6-linux64/2.83/scripts/modules/addon_utils.py", line 351, in enable mod = import(module_name) File "/opt/Autodesk/flame_2021/.config/blender/2.83/scripts/addons/animation_nodes/init.py", line 166, in auto_load.init() File "/opt/Autodesk/flame_2021/.config/blender/2.83/scripts/addons/animation_nodes/auto_load.py", line 23, in init modules = get_all_submodules(Path(file).parent) File "/opt/Autodesk/flame_2021/.config/blender/2.83/scripts/addons/animation_nodes/auto_load.py", line 51, in get_all_submodules return list(iter_submodules(directory, directory.name)) File "/opt/Autodesk/flame_2021/.config/blender/2.83/scripts/addons/animation_nodes/auto_load.py", line 55, in iter_submodules yield importlib.import_module("." + name, package_name) File "/opt/Autodesk/flame_2021/blender-2.83-839fe335d2d6-linux64/2.83/python/lib/python3.7/importlib/init.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/opt/Autodesk/flame_2021/.config/blender/2.83/scripts/addons/animation_nodes/libs/FastNoiseSIMD/init.py", line 1, in from . node_base import Noise3DNodeBase File "/opt/Autodesk/flame_2021/.config/blender/2.83/scripts/addons/animation_nodes/libs/FastNoiseSIMD/node_base.py", line 6, in from . wrapper import ( ImportError: /opt/Autodesk/flame_2021/.config/blender/2.83/scripts/addons/animation_nodes/libs/FastNoiseSIMD/wrapper.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZN22FastNoiseSIMD_internal16FastNoiseSIMD_L3C1Ei

Any suggestions, help?!
Thank you!!

Break when upgraded to 2.1.2

In tryng to get the Polygon Offset node I upgraded to AN 2.1.2 from 2.0.4 and seem to have broken all previous projects I had been using to learn AN. For example the example you provided in Prepare Polygons Transformation—was this to be expected and I have to find new ways to do things (i.e. using different nodes than as provided in manual that I had been referring to)?

Geometry: Point List Normal

Hello,

Wondering could someone please outline a little more on the example used here, especially in how the example is setup (for instance the empties as highlighted). I got quite far but not close enough. Still grasping Point List Normal concept but fleshing out the example may help.

Points List Normal Example

My Example

screen shot 2018-11-02 at 23 36 27

Not sure how key the geometry nodes will be in everyday motion graphics use but would be great to get it.

Subprogram: Find Max Integer (Example 10)

https://github.com/JacquesLucke/animation_nodes_manual/blob/master/docs/user_guide/subprograms/loop.rst

Can someone please help me understand this subprogram. The part I had been stuck on is how the Integer List of parameters is compared with the output from the Get List Element.

My understanding is that it works something like this

  1. Firstly the output of the integer list is fed into the loop
  2. Then the elements from the get list element are individually compared against the whole(?) list ?

What I don't understand is how the individual elements (from Get Elements List outout) are compared to the larger integer list. Can someone please break this down for me in some detail but simply.

loop_example10

Animation not

Hello,

I've created an animation using the nodes of two empty plain-axis where the rotation of the second axis depends on the angle of the first one. It is plays fine and in-sync on the 3D viewer, but when I send to render the animation to have a video file the second axis is not synchronised with the first one.

I'm using Animation Nodes 2.1.2 on blender 2.79b

Thanks for any help. If needed I can send the *.blend file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.