POV-Ray : Newsgroups : povray.animations : Is anyone familiar with Blender Server Time
18 Apr 2024 19:20:50 EDT (-0400)
  Is anyone familiar with Blender (Message 1 to 8 of 8)  
From: melo
Subject: Is anyone familiar with Blender
Date: 22 Mar 2008 23:15:00
Message: <web.47e5d903a29a3c68314b3d800@news.povray.org>
Helo animation lovers,

I am about stop my first partially successful walking skeletal animation POV-RAY
attempt.  I have come much further than I have ever thought possible, thanks to
patience and help from this listserve, especially from Chris B.

Well, my Humanoid is walking, he is walking in place.  I have not managed to get
him ranslated across the screen in a controlled enough fashion so it will look
like indeed he is stepping forward.  I am able to calculate where his foot
lands that he strides forward with 1st.  Then I try to translate him so by the
time he brings his back foot into cross over position and starts striding with
it, his center of gravity is completely over the foot he took his initial step
with, and so on...   Hey,  now that I know where his forward foot ends, I could
use

Align_Trans(Object, Axis, Pt)

macro to align his right side with the point at which his forward toes came at
Logically, this should have worked, when in application it had not, I remained
clueless.  I had visually validated that my calculations of his forward heal
and toes were correct.

Given I hit a road block after months of trying and hoping, I realized, I should
not have fully left it to POV-RAY to manage the coordinates of my Humanoid's
joints.  Had I known them, I might have attempted some Inverse Kinematics to
enforce constraints, such as leaving the forward foot locked whereever it
landed.  Ensuring he does not go thru walls and floors.  Yes, I was counting on
Align_Trans
macro to handle all my obstacle management as well, I just defined a bunch of
reference points for alinging my Humanoid against to ensure s/he is safe from
obstacles.  That worked most of the time, if not in all.

Well, all this background is sort of covering up my feelings of guilt for
searching the internet for another tool that would provide more of the forward
and inverse kinematics functionality, while allowing scripting/programming to
its users.

I have found Blender.   See

http://www.tdt3d.be/articles_viewer.php?art_id=99

for a table of comparison of most 3D applications.  I know nothing about the
company and author that published this article.  It sounded through.


> Much to my shock I have discovered a freeware character animation software:  >
Blender, which provided both build in 
forward and inverse kinematics.  It was > rated next to 3dMax & Maya.
>
> Has anyone had much/any experience with it.  Am I daydreaming?

Here is Chris  B.'s response already:

Thank you all for jumping in.
Meltem

=======================
Blender is an open source modeller, (see http://www.blender.org/). It seems
to have come a long way since I last looked at it many years ago and their
site indicates that it incorporates some character animation features. The
'features' section on the site certainly talks of skeleton rigging and
animation with forward/inverse kinematics, although it's difficult to judge
where it's limitations may lie from the brief description that I just read.

Their 'scripts' section at
http://www.blender.org/download/python-scripts/wizards/ talks about
MakeHuman Python scripts, but I couldn't get the links there to work. I
don't know if those scripts are anything to do with the sourceforge
MakeHuman project at (http://sourceforge.net/projects/makehuman/).  There's
also talk of 'Walk.O.matic ' scripts and 'Blender People' scripts that seem
to be separate initiatives.

Their site does have an animation forum which looks to be pretty active, so
you would probably be able to get some good feedback there on how easy it
would be to achieve what you want to do.

Regards,
Chris B.


Post a reply to this message

From: Charles C
Subject: Re: Is anyone familiar with Blender
Date: 23 Mar 2008 01:45:49
Message: <47e5fc9d@news.povray.org>
melo wrote:
>> Has anyone had much/any experience with it.  Am I daydreaming?

I've been reading most of your posts with some interest, largely because 
I've done my own skeletal system in POV-Ray.  It's not in a shareable 
state though, and uses a completely different system than what sounds 
like is in POV-Person. (I want to complete this project before I look at 
others' code.)

Anyway, the thing to know about Blender if you haven't noticed already 
is it has a strong reputation for the steep learning curve with its 
interface.  You don't seem too easily wavered though, so good luck :)  I 
hear that it's great to use once you've learned it.
Charles


Post a reply to this message

From: melo
Subject: Re: Is anyone familiar with Blender
Date: 23 Mar 2008 12:35:00
Message: <web.47e69452cce58246314b3d800@news.povray.org>
Charles C <"nospam a nospam.com"> wrote:
> melo wrote:
> >> Has anyone had much/any experience with it.  Am I daydreaming?
>
> I've been reading most of your posts with some interest, largely because
> I've done my own skeletal system in POV-Ray.  It's not in a shareable
> state though, and uses a completely different system than what sounds
> like is in POV-Person. (I want to complete this project before I look at
> others' code.)
>
> Anyway, the thing to know about Blender if you haven't noticed already
> is it has a strong reputation for the steep learning curve with its
> interface.  You don't seem too easily wavered though, so good luck :)  I
> hear that it's great to use once you've learned it.
> Charles

Thanks for your response Charles. Yes, I did hear about the steep learning curve
and less than friendly user interface.  As if to make up for it, there were lots
of documentation some in multimedia format to help with the learning.

Well learning how to use a tool some experts has built is some challenge,
however it does not allow one to learn what it takes to build the tool itself.
Given time, energy, budget limitations we all face, and the unending thirst for
knowledge where do we put our priorities, do I really want to learn how to do
skeletal animation well, or do I really want to start telling my stories,
and/or focusing on potential research avenues that having such tools at my
fingertips open up?

Sorry, for bringing my internal mental processes to this listserve?  My saving
grace is my hope that I could not be potentially alone as a strugle to find the
balance.

Meanwhile Charles, since you have also been involved in skeletal animation using
POV-RAY, if you could share highlights of your learnings and approach, I would
be most appreciate.  Yes, me, Melo, always the curious.  I had been a strong
advocate of knowledge management and sharing initiatives in my previous working
life.   Believing, as we shared our learnings, and struggles, we all grew in
knowledge exponentially.

Thanks,
Mel


Post a reply to this message

From: nemesis
Subject: Re: Is anyone familiar with Blender
Date: 23 Mar 2008 16:25:00
Message: <web.47e6ca2acce5824640c8c0cc0@news.povray.org>
Quite frankly, I didn't find the learning curve all that steep.  I guess most
bashers are people used to 3D Studio Max, just like most Gimp bashers are
Photoshop users who want identical interface.

If you're not used to those software, things turn out much easier as you don't
bring nasty habits into the learning.  It's interface is very fast and easy
with a keyboard/mouse combo, very easy to do 3D modelling with it.  It's just
that I'm not that talented at all for 3D modelling... :/


Post a reply to this message

From: Charles C
Subject: Re: Is anyone familiar with Blender
Date: 23 Mar 2008 19:47:36
Message: <47e6fa28@news.povray.org>
melo wrote:
> Charles C <"nospam a nospam.com"> wrote:
>> melo wrote:
>>>> Has anyone had much/any experience with it.  Am I daydreaming?
>> I've been reading most of your posts with some interest, largely because
>> I've done my own skeletal system in POV-Ray.  It's not in a shareable
>> state though, and uses a completely different system than what sounds
>> like is in POV-Person. (I want to complete this project before I look at
>> others' code.)
>>
>> Anyway, the thing to know about Blender if you haven't noticed already
>> is it has a strong reputation for the steep learning curve with its
>> interface.  You don't seem too easily wavered though, so good luck :)  I
>> hear that it's great to use once you've learned it.
>> Charles
> 
> Thanks for your response Charles. Yes, I did hear about the steep learning curve
> and less than friendly user interface.  As if to make up for it, there were lots
> of documentation some in multimedia format to help with the learning.
> 
> Well learning how to use a tool some experts has built is some challenge,
> however it does not allow one to learn what it takes to build the tool itself.
> Given time, energy, budget limitations we all face, and the unending thirst for
> knowledge where do we put our priorities, do I really want to learn how to do
> skeletal animation well, or do I really want to start telling my stories,
> and/or focusing on potential research avenues that having such tools at my
> fingertips open up?
> 
> Sorry, for bringing my internal mental processes to this listserve?  My saving
> grace is my hope that I could not be potentially alone as a strugle to find the
> balance.
> 
> Meanwhile Charles, since you have also been involved in skeletal animation using
> POV-RAY, if you could share highlights of your learnings and approach, I would
> be most appreciate.  Yes, me, Melo, always the curious.  I had been a strong
> advocate of knowledge management and sharing initiatives in my previous working
> life.   Believing, as we shared our learnings, and struggles, we all grew in
> knowledge exponentially.
> 
> Thanks,
> Mel
> 
> 
> 
> 

Here's a bit on what I've done:
My skeletal system is pretty simple, at least in concept.  My 
implementation has a tendency to grow with 'features.'  It's basically 
just a bone tree rooted between the first tail vertebrae and the first 
back vertebrae.  Each bone is a pair of vectors, one which has the 
length and direction of the bone, and a second, nominally unit-length 
vector to keep track of orientation.  All bones support twist, and 
for/aft side/side rotations to their parent bones with per-bone and 
per-rotation-type&direction limits specified in an include-file.  I'm 
using separate macros for the spine and the limbs to optimize control 
for groupings of vertebrae with a single control value for the spine, or 
specify individual digits/segments out of multidimensional arrays for 
the limbs.  (E.g: LimbVectors_POSED[LF][Forefinger][3][Pos] tells you 
the posed position of the tip of the forefinger for the left/front 
limb.)  (I also keep track of an unposed  model for texture sampling and 
spline-length measurements etc.)

And what I plan to do..... later:
So far I've purposely avoided writing any keyframing macros.  I figure 
that'll be the fun part after I get this 'dang'ed' model built. :-)  I 
plan on using a spline based interpolation of values *after* accounting 
for the fact that my positive and negative rotation limits for each bone 
may differ (else, I'll get less-than-smooth movements).  I do not plan 
on making any automatic movements sequences (walking) other than a 
couple of minor elements of IK.  They are: two bone (e.g. 
shoulder-to-wrist or hip to ankle) resolving with locked twist values, 
and where the limb just points towards the target point if it's out of 
reach.  The other item is to make it possible for a given digit/segment 
to rotate until it hits a target, such as a floor.  That should make it 
so that if the leg can't reach a given spot on the floor, the 
character's foot should roll up onto its toes.

Anyway that's my story.  The real fun I've been having is in making 
systems to model with splines!  I'll tell you, there's no way to use 
splines this much without a token_counter-fixed version of POV-Ray, 
which the current release is not.
Charles


Post a reply to this message

From: melo
Subject: Re: Is anyone familiar with Blender
Date: 24 Mar 2008 00:15:00
Message: <web.47e73874cce58246314b3d800@news.povray.org>
Thank you Charles.  had I not taken the time to struggle with this skeletal
animation concept as much as I had I probably would not have appreciated
hearing your story and understood the fine points such as the necessity of
incorporating some level of IK.  Darn, I feel I understand how we humans walk
much better than I would have ever cared otherwise, how else could one describe
the KeyFrames in 3D geometric terms?

Describing movement of each bone segment in relation to its immediate parent
bone.  Could you explain the reason behind that design decision?  Oh Darn,
rereading your notes, and thinking about joint constraints, I can see that,
joint constraints are specified in local terms.  If so, why not use the same
local reference frame for movement specifications as well? So they could be
easily checked against anatomical limitations to keep the being safe and alive,
as s/he moves...

And comparing how my skeletal metalic being moves, to that of Chris's PovPerson.
I could attest to that me taking the easy way out did not work.  My metalic
robotic humanoid walks in place like a robot, while Chris's POVPerson glides
across the screen. I just used a simple linear interpolation, while Chris used
spline interpolation.   Darn I need to reteach myself how to use those, I am
afraid, I could not recall.

Again, I appreciated your taking the time to share the approach you had taken.

Now, your ending remarks invoked my curiosity.  Darn, you highlighted yet one
area I have not heard of yet.  What do you mean by making systems model with
splines?  What are we modeling here? What systems are you making model what
with what type of splines to what end?  Sorry.  Case in point.   I'll stop
questions, before you run out of your patience.

cheers,
Mel

>
> Here's a bit on what I've done:
> My skeletal system is pretty simple, at least in concept.  My
> implementation has a tendency to grow with 'features.'  It's basically
> just a bone tree rooted between the first tail vertebrae and the first
> back vertebrae.  Each bone is a pair of vectors, one which has the
> length and direction of the bone, and a second, nominally unit-length
> vector to keep track of orientation.  All bones support twist, and
> for/aft side/side rotations to their parent bones with per-bone and
> per-rotation-type&direction limits specified in an include-file.  I'm
> using separate macros for the spine and the limbs to optimize control
> for groupings of vertebrae with a single control value for the spine, or
> specify individual digits/segments out of multidimensional arrays for
> the limbs.  (E.g: LimbVectors_POSED[LF][Forefinger][3][Pos] tells you
> the posed position of the tip of the forefinger for the left/front
> limb.)  (I also keep track of an unposed  model for texture sampling and
> spline-length measurements etc.)
>
> And what I plan to do..... later:
> So far I've purposely avoided writing any keyframing macros.  I figure
> that'll be the fun part after I get this 'dang'ed' model built. :-)  I
> plan on using a spline based interpolation of values *after* accounting
> for the fact that my positive and negative rotation limits for each bone
> may differ (else, I'll get less-than-smooth movements).  I do not plan
> on making any automatic movements sequences (walking) other than a
> couple of minor elements of IK.  They are: two bone (e.g.
> shoulder-to-wrist or hip to ankle) resolving with locked twist values,
> and where the limb just points towards the target point if it's out of
> reach.  The other item is to make it possible for a given digit/segment
> to rotate until it hits a target, such as a floor.  That should make it
> so that if the leg can't reach a given spot on the floor, the
> character's foot should roll up onto its toes.
>
> Anyway that's my story.  The real fun I've been having is in making
> systems to model with splines!  I'll tell you, there's no way to use
> splines this much without a token_counter-fixed version of POV-Ray,
> which the current release is not.
> Charles


Post a reply to this message

From: Charles C
Subject: Re: Is anyone familiar with Blender
Date: 27 Mar 2008 17:27:40
Message: <47ec1f5c@news.povray.org>
Melo, sorry about my slow response....

It's nice to know there are a handful of people on here who're 
interested in animating characters in code.

melo wrote:
> Describing movement of each bone segment in relation to its immediate parent
> bone.  Could you explain the reason behind that design decision?  Oh Darn,
> rereading your notes, and thinking about joint constraints, I can see that,
> joint constraints are specified in local terms.  If so, why not use the same
> local reference frame for movement specifications as well? So they could be
> easily checked against anatomical limitations to keep the being safe and alive,
> as s/he moves...
> 

I think I am...  For instance, I eyeballed that my own hand can bend 
forward roughly 90 degrees and backward say 80 or so degrees, relative 
to my forearm.  Also, some 45 degrees away from the thumb, only a few 
degrees towards the thumb and no twist (the forearm does the twisting). 
  Control values are given in the range -1 to 1, regardless of whether 
the + & - limits are the same in degrees. That's my attempt at getting 
more or less anatomcally correct limits (which can be overrided by just 
overshooting the normal range).


> And comparing how my skeletal metalic being moves, to that of Chris's PovPerson.
> I could attest to that me taking the easy way out did not work.  My metalic
> robotic humanoid walks in place like a robot, while Chris's POVPerson glides
> across the screen. I just used a simple linear interpolation, while Chris used
> spline interpolation.   Darn I need to reteach myself how to use those, I am
> afraid, I could not recall.
> 

As I said before, I'm not even to that point yet.  Spline interpolation 
can exactly replicate linear interpolation via linear splines.  When I 
implement, I think I'll be most interested in using bezier splines since 
they give so much control next to each knot.  That could help me avoid 
implementing too many 'types' of keyframes.  One feature I think will be 
useful/important is the ability to create partial keyframes/poses where 
anything not defined in that particular pose is interpolated from next 
and previous frames.  That'll make hand coded controls much easier to 
handle.

> Again, I appreciated your taking the time to share the approach you had taken.
> 

:D

> Now, your ending remarks invoked my curiosity.  Darn, you highlighted yet one
> area I have not heard of yet.  What do you mean by making systems model with
> splines?  What are we modeling here? What systems are you making model what
> with what type of splines to what end?  Sorry.  Case in point.   I'll stop
> questions, before you run out of your patience.
> 


By systems, I just meant all the design choices and macros written to 
try to make it easier to hand code.  E.g. splines are a lot easier (or 
rather possible at all) to manipulate/transform as vector arrays 
<x,y,z,t>.*  Cross sections are a lot easier to create using polar 
coordinates.  Re-sampling is ever so handy.  Turning the spine into a 
pair of splines, not turning the limb bones into splines but rather 
leaving them alone and creating specialized types of cross-sections, the 
ability/option to multiply values along two splines and a parameter or 
measurement to get a modified cross section (read muscles).... 
Treating each limb digit or body as if it had spherical coordinates. Etc.


*I've said this before in another post, but I wish POV-Ray could treat 
such an array as identical to a spline depending on what syntax you use, 
and also perform transformations on the array elements without using a 
macro.

Charles


Post a reply to this message

From: Nicolas Alvarez
Subject: Re: Is anyone familiar with Blender
Date: 27 Mar 2008 17:44:56
Message: <47ec2368$1@news.povray.org>

> *I've said this before in another post, but I wish POV-Ray could treat 
> such an array as identical to a spline depending on what syntax you use, 
> and also perform transformations on the array elements without using a 
> macro.

I think MegaPOV lets you access splines as if they were arrays.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.