View Full Version : Model Tumble Woes
jono338 10-05-2003, 02:04 PM Hi there,
this is driving me crazy. Tumbling the view port seems to be tied to the world axis. If the model is othogonal to the world axis, I can get at any angle to work on the model, but if it the model, or some part of it goes off at 45 degrees to the world asxis, it's impossible to work on the model, to get it in the right position to move points, etc.
Am I missing something? I hope I'm missing something!
Help.
Jonathan.
Just to prove a point, I rotated the model so the part of it (thumb) I want to work on, is pointing down the Z axis, and I can work on it naturally without hindrance, but trying to get one of the fingers in the right position to work on makes my teeth hurt!!
|
|
jono338
10-06-2003, 02:16 AM
OK, it must just be me, or everyone else just knows the "trick".
So, how do I go about working on the middle arm of this thing. Assume it was something detailed and you have to rotate around it _ALOT_ to tweak points etc ...
the key manouver is to rotate it around it's main axis, what ever that is. (in this case X = -Y = -Z).
I'd call it a challenge, but I know we don't do those here. :D
Per-Anders
10-06-2003, 02:34 AM
by default cinema will rotate around the selection axis, if you want a lot more control then i suggest you go and download camera gaffer plugin from my website http://www.peranders.com/c4d8/
jono338
10-06-2003, 03:08 AM
I'm still trying to work out what's going on with the default tumbling, but it seems that left-right mouse movements ALWAYS rotates around the world Y axis, which is why it is soooo confusing ... up-down seems to do the intuitive thing of rotating around the current screen X axis. Yes, this seems to be the case, and the more I think about it, the more is seems like a bug. I mean, what's the rationale behind that?
I'm just going to have a look at your plugin, thanks for the response. I hope it helps.
Per-Anders
10-06-2003, 03:55 AM
the rotation in the viewport is always around the currently selected objects axis, unless you're in an edit mode (i.e. polygon, point or edge) and have a selection in which case it will rotate the camera around that selection. if you have multiple objects selected you can shift the axis of rotation around by clicking on the mini axis that appear in each object, if you have no object selected the the axis of rotation will be the world centre (0,0,0). you can reverse the rotation in the preferences if you want.
camera gaffer is a tag plugin that allows you to control where the centre of rotation is in a much finer way, from the nearest point on an object through to flexcam (always centre of screen), through to nearest objects axis through to a whole heap of other options.
jono338
10-06-2003, 06:41 AM
Well, mdme_sadie, the plugin is usefull, but doesn't solve the problem. Your plugin addresses what the rotation is centred on. My problem is that the rotation axis is not intuitive. The same action should produce the same effect.
If I tumble the view using left-right mouse move, it rotates the scene about the current centre in the world Y axis. That makes sense and is intuitive, because the world and screen Y axes match. Now rotate the scene 90 degrees (using 3-right mouse button in 8.2), and then left-right mouse tumble, rotates the scene *still* in the world Y axis, but now it's the screen's X axis.
I want left-right to always rotate about the screens Y axis, and up-down to always rotate about the screens X axis.
I know it's actually moving the camera, but that's not how I think about it (or anyone does, I'm guessing) ... I think about grabbing the screen and rotating it in some direction to change my view.
Per-Anders
10-06-2003, 07:02 AM
i'm curious as to why you need to barrel rotate? most people find that the normal movement is sufficient when modeling and don't touch barrel rotation with the camera. barrel rotation is really for camera animation and is easily controlled using axis handles. you can of course put your camera in a null and rotate that null however you want to change the plane of rotation for that camera. i'm not even sure if maya or XSI allow free form modeling camera rotation.
jono338
10-06-2003, 07:23 AM
I'm not interested in barrel rotation, I'm interested in being able to intuitively work on any part of the model by clicking and dragging the screen. If you look at the model I posted, there's a part that goes off at 45 degress to the world axes. If you try to work on that part of the model, it just doesn't work. Please try it someone. I'd love to find out I'm a low grade moron trying to do something silly, but I don't think I am.
It came about because I was modelling a hand and the reference pics had the thumb naturally posed going off at that 45 degree angle. When I got to doing detail work on the thumb, I nearly had a nervous break down.
My claim is, when I click and drag down on the viewport, it should just rotate the view around an axis parrallel to the screen's X axis. And it should always do that, independent of what's happened before. Is that a crazy expectation?
Per-Anders
10-06-2003, 08:40 AM
i still fail to see the problem, apart from that you've zoomed in so far and moved the camera so far back that it's pretty much like working with an orthographic display. for me i can rotate around the focus very easily even without camera gaffer. it just rotates around the selected polygon, i don't get any rotation around the worlds axis in any value (hp or b). maybe you need to make a small video to show the problem as it may be something specific to your instalation of cinema, some bug, but for me i'm not having any difficulty.
jono338
10-06-2003, 10:14 AM
This gets more and more complicated. I was going to try and animate the three pronged thingy rotating around the middle prong, so you could see what I want to be able to do with tumbling, but that's not straight forward. Anyway, after much trial and error, attached is a small preview of the sort of rotation I should be able to do in the view port with the mouse. The orientation of the object doesn't matter, my claim is this is not possible. Before you try to do it, answer this: does that look like something extra-ordinary to want to do?
I don't have much experience with this 3D stuff, so I'm beginning to doubt my sanity over this matter. It may not be possible, so fine, just one the things I have to work around. Or I'm an idiot, and am the first to want to do it, but not much I can do about that!
Oh... 20k limit ... dang. If you want to take the challenge, msn me (jk932@hotmail.com) or pm me here, and I can send you the avi.
Per-Anders
10-06-2003, 10:32 AM
from what it sounds like, you're saying you're unable to do this?
http://www.peranders.com/c4d8/samples/mov/tumble.avi
(that's rotate around the selection, or shift the objects axis for when you're not modelling).
jono338
10-06-2003, 10:50 AM
No, that's not it. I can randomly rotate the object about some point, but I can't organise the rotation to be along a PARTICUALAR axis, in this case, an axis running parrallel to the third arm. I send you an email with the avi to me@peranders.com from your web page.
BTW, what did you use to create that avi?
Cheers.
JamesMK
10-06-2003, 11:03 AM
Hi, Jono! I've been silently following this thread for a while now, trying to figure out your gripe... I think I understand what you want now - sort of being able to orbit around the surface of something, a thumb for instance, where the orbital axis corresponds to the local Y-axis of the current selection, e.g. the polys of that 45-degree turned thumb.
Unfortunately, to my knowledge, you can't do this. No 3D app I've ever tried does that, so it could qualify as "a crazy expectation" :)
Per-Anders
10-06-2003, 11:09 AM
just put a null at the angle you want, and put yoru camera in the null. the camera works in local space, so it'll rotate around that point, and that points plane (i know i'm repeating what i said earlier, but this will do what you want). now to be honest i think it would be very confusing, but hey if you want to automate this then you can make a COFFEE expression (or possibly even an Xpresso expression) to rotate that null to match the normal of any polygon (that's jsut thedot product of the polygons points a-c and b-d), then make sure to reset the child of the nulls global matrix, and the camera will rotate around that plane... however this will be totally confusing to work with as your horizon will become irrelevant and this will make modelling quite disorientating,. but it's possible
jono338
10-06-2003, 11:52 AM
James,
what I'm asking has nothing to do with the current selection, except that that might define the CENTRE of rotation.
The attached file is a cylinder with a notch in the middle. Zoom into the notch and rotate around so you can see the detail all the way around to confirm whether it's regularor not, or some other modelling task. Sounds easy? Wait and see. Tell if it doesn't surprise you.
When I'm working in the view port, I don't think of rotating cameras, I think of the scene as being in a glass ball, and when I click and drag on the view point, the glass ball rotates around whatever is the current centre of the selection. When I drag down, the ball rotates down, effectively moving my view of the scene up. In a similar manner when I drag left or right. Doesn't that sound easy?
imashination
10-06-2003, 12:13 PM
A few points:
1) Youre NOT rotating the scene as if its in a ball, no program works this way. When you rotate the view, the camera is orbiting around the object, you're not rotating the scene.
2) Turn the world grid back on, it will help orientate you
3) Don't try modeling an object with the camera rolled around 140 degrees. You wouldn't work in the real world dangling at an angle from the ceiling, so don't expect it to be any easier in a modeling program.
4) Model your objects flat, at a right angle. Then once you have finished it you can start rotating it to funny angles and so on. If I were modelling a rifle, I would do it in a horizontal straight line, no some funny angle, just because that is how my character will be holding it.
Choose edit > fram default from the viewport menu to get the camera back to some useful state.
Per-Anders
10-06-2003, 12:31 PM
here you go, to show the principle, just make a null, put your camera in it, put a coffee expression tag on yoru null and put this code in it, to me this is as disorientating as hell, but it shows that pretty much anything is possible if you want in cinema:
var osel;
main(doc,op)
{
var mat=op->GetDown()->GetMg();
var pop=GetActiveObject(doc);
if (!pop) return;
if (!instanceof(pop,PolygonObject)) return;
var sel=pop->GetPolygonSelection();
if (sel!=osel) {
osel=sel;
var pcnt=pop->GetPolygonCount();
var i,dir=vector(0),pol,pnt=pop->GetPoints();
for (i=0;i<pcnt;i++) {
if (sel->IsSelected(i)) {
pol=pop->GetPolygon(i);
dir+=vcross(pnt[pol->a]-pnt[pol->c],pnt[pol->b]-pnt[pol->d]);
}
}
op->SetRotation(VectorToHPB(dir));
op->Message(MSG_UPDATE);
op->GetDown()->SetMg(mat);
op->GetDown()->Message(MSG_UPDATE);
}
}
would just need some fine tuning to make it work however you want it to (i.e. to swap axis of the null pointing in the direction of your poly), and you'll have to excuse the messiness of the code, but it's 4:30am, and time for me to hit the sack
jono338
10-06-2003, 12:49 PM
I didn't say I was rotating the scene, I was saying that's how I _think_ about it, and I guess that's how most people think about it, if they stopped to think about it. If the software rotated the camera to match that scheme, there wouldn't be any confusion about what would happen when I tumble the view.
I don't need the world grid turned on to be oriented, I have the model to do that, but anyway, I turned off the world grid so it would highlight the weirdness of the behaviour.
I didn't model with the camera rolled, but I had to roll the camera to get part of the model in a natural position to work on, as you yourself suggest. But what if a part of a complicated model shoots out a an odd angle, say, like, ohh, I don't know, a Thumb??? That's the whole point. The camera is rotated around BECAUSE if I were working on in in the real world, I'd have it (the thumb) aligned to the horizontal, and I could rotate it around IT'S axis, something which seems imposible without jumping through all sorts of complicated hoops.
What I want to do is rotate around a particular part of my model, and that was what the mocked up example was trying to show. If you can put the camera into any postion and perform that task in an intuitive manner, I'd like to know how. Or were you just interested in pointing out where I was wrong?
But thanks for dropping by.
Cheers.
CGTalk Moderation
01-16-2006, 06:00 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.