|
|
I've at least narrowed-down the problem, but I haven't found the solution yet. I
can give hints, though:
This line in your code, in your WALL #macro, seems to be the prime culprit--the
way it rotates the individual wall sections...
object { Block(nbLength, BSIZE.y, BSIZE.z) rotate -1*(wall_th)*y
Change the minus sign to a plus sign, and it will cause the 'problem' walls to
suddenly appear on the opposite side of the fort! That rotation entry makes use
of your wall_th variable. Apparently, the *sign* of that rotation needs to
flip from minus to plus, depending on how *much* rotation it specifies. (The
problem seems to occur when an individual wall section rotates past 90-deg(?) or
180-deg(?) from its original orientation. It's hard to tell which is correct.
Maybe both(?!)) Perhaps the underlying problem stems from one of these two
lines, also in the WALL macro...
#local wall_vec = <wall_vec.u, 0, wall_vec.v>;
#local wall_th = degrees(acos(vdot(wall_vec,x)));
[By the way, this line there serves no purpose...]
#local wall_perp = vcross(wall_vec, y);
Post a reply to this message
|
|