Some difficulties

]I started on a new level yesterday with heavy use of cloning and copying. It doesn’t seem to be happening anymore. I’m baffled…but if it happens again, I’ll send the file as you requested.
andnbsp;
I can tell you that this andquot;wasandquot; a problem at one time, but I think that was quite a while ago.

Richard

Richard,

How come the Operation Adjust tool doesn’t respect the XYZ constraints when dealing with textures?

I’m having trouble with it. A lot of trouble. Like, the direction that I drag isn’t always the direction that the texture will scroll or scale. It’s really annoying, especially when trying to align textures on two faces that share an edge.

I’d like to be able to use the XYZ constraints so if I want a texture to move only up or down, it’ll move up OR down in a straight line, not diagonally. Oh, and there’s also no way of telling how much I’ve scaled a texture by, and I really like having hard numbers at hand.

UVmapping is not an option, because I’m working on game level geometry, which tends to rely heavily on per-face and tiled texturing…and the UVMap tool doesn’t allow for coordinates outside of the 0-1 bounds.

Also, the Tile By Unit and Tile To Fit flat mapping options don’t respect texture cropping, so I can’t select a 128×64 region on a 256×256 texture and have it tile across a 10×5 unit face the way I want it to. So that’s out too.

I mean, I’m working with a consistent scale of 1 unit = 64 texels, and I don’t want a 256×256 texture to fit completely within anything smaller than a 4×4 unit face, and I want to be able to control exactly how it’s aligned and so forth on any arbitrary face.

It’s essential that I get it right the first time because applying new materials over old bloats the point count…and optimizing the object will trash all of the UVs, not just the redundant ones.

I know a lot of this probably sounds odd to you, but the texturing tasks I need to do are essentially de rigueur for creating level geometry. Without being able to do them, it’s excruciatingly difficult to do anything but the simplest level texturing.

Also, I’m having serious trouble dealing with rooms and such that aren’t centered on the scene origin, as the camera rotates around the global axis rather than its own local axis. This makes creating levels pretty difficult, to say the least.

I suppose I could work on one room at a time and then move them to the correct location, but this requires grouping all walls, floors, ceilings, etc into a single hierarchy and then moving the root object to the room’s andquot;realandquot; position…this doesn’t work very well with andquot;Snap To Gridandquot; selected, because a lot of times the individual objects that make up a room will be shifted slightly out of their original orientations and positions after moving. Normally I’d just fix that, but then there’s the camera issue mentioned above.

I also have that problem when cloning or pasting objects with andquot;Snap To Gridandquot; selected. A lot of times, individual points within the objects will also be shifted out of their intended locations.

I can’t exactly just merge all the subobjects of a room into a single object either…my level exporter plugin is designed to take advantage of certain DarkBasic features that work much better when dealing with a lot of small objects rather than a single large object, like collision and occlusion.

Oh well. Just thought I’d point those difficulties out to you.

-Mel Ebbles

]How come the Operation Adjust tool doesn’t respect the XYZ constraints when dealing with textures?

In texture application there is no andquot;x,y or zandquot;. Only U and V. You could say that U and V are equivalents of X and Y and should be contrained as though they were X and Y. I never viewed it from that perspective. It is something that I could look at for the future.

]I’m having trouble with it. A lot of trouble. Like, the direction that I drag isn’t always the direction that the texture will scroll or scale. It’s really annoying, especially when trying to align textures on two faces that share an edge.

I did some testing with this and it appears to work consistently. The process is not view dependent like most 3D functions since it isn’t a 3D function. It is a 2D function. I honestly don’t know how to make it view dependent due to the nature of the data. But there could be a way that I haven’t thought of.

]UVmapping is not an option, because I’m working on game level geometry, which tends to rely heavily on per-face and tiled texturing…and the UVMap tool doesn’t allow for coordinates outside of the 0-1 bounds.

I understand.

]Also, the Tile By Unit and Tile To Fit flat mapping options don’t respect texture cropping, so I can’t select a 128×64 region on a 256×256 texture and have it tile across a 10×5 unit face the way I want it to. So that’s out too.

It can’t respect texture cropping. It is the nature of UV mapping. This isn’t possible.

]It’s essential that I get it right the first time because applying new materials over old bloats the point count…and optimizing the object will trash all of the UVs, not just the redundant ones.

Try the andquot;Object Cleanerandquot; script. It believe it optimizes the way you would like.

]Also, I’m having serious trouble dealing with rooms and such that aren’t centered on the scene origin, as the camera rotates around the global axis rather than its own local axis. This makes creating levels pretty difficult, to say the least. andnbsp;

Center mouse button dragging on an object will rotate around that object rather than the scene’s origin. If you don’t have a center button, you could change the location of the grid (though that may be akward if you have many objects).

]I also have that problem when cloning or pasting objects with andquot;Snap To Gridandquot; selected. A lot of times, individual points within the objects will also be shifted out of their intended locations.

If you move a point with Snap To Grid on it will snap to the grid. If you don’t move a point they shouldn’t snap. If you have an example where this happens let me know.

Richard

]]It can’t respect texture cropping. It is the nature of UV mapping. This isn’t possible.

]Actually, it is. Just not in the way one would expect.

Ok, it is possible if you are using strips of the texture. But not if you are using arbitrary texture regions.

]]Try the andquot;Object Cleanerandquot; script. It believe it optimizes the way you would like.

]Actually, that script drives me insane by welding certain UVs without my permission.

I think the andquot;weld amountandquot; is pretty easy to find in there. You could just modify the script to fit your welding requirements.

]I want to rotate around the *camera’s* axis, not an object’s.

The middle xz navigation plane rotates around the camera’s axis.

]What I did was drop a cube on the scene, scale it to 10×0.1×10, drop another cube, scale that to 10x3x0.2, and move that to the side to make a wall. Then I’ll copy the wall, paste it into the scene, and line that up on the other side. Sometimes it pastes at an angle, or one end is tapered and the other’s skewed. Basically, it misbehaves.

I haven’t seen this myself. If you have an example 3DC file that consistently fails when you are doing this can you send it to me (<!– e –><a href="mailto:submissions@amabilis.com">submissions@amabilis.com</a><!– e –>)

Richard

Alex,

The middle xz plane on the navigation control provides andquot;game-styleandquot; navigation. It rotates around your current view, and navigates in the direction you are looking. Is that what you are looking for? If not can you describe how it should be different?

Richard

Mel said:

Also, I’m having serious trouble dealing with rooms and such that aren’t centered on the scene origin, as the camera rotates around the global axis rather than its own local axis. This makes creating levels pretty difficult, to say the least. andnbsp;

Richard answered:

Center mouse button dragging on an object will rotate around that object rather than the scene’s origin. If you don’t have a center button, you could change the location of the grid (though that may be akward if you have many objects).

My comment:

Richard, it is really awkward working inside rooms and buildings at present. When I turn, I need to turn around myself, not around an object, like we do in games or 3d worlds. andnbsp;This option is really needed, it’s the only way to work comfortaby in these cases <!– s:) –><img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile" /><!– s:) –>

Alex

]In texture application there is no andquot;x,y or zandquot;. Only U and V. You could say that U and V are equivalents of X and Y and should be contrained as though they were X and Y. I never viewed it from that perspective. It is something that I could look at for the future.

Oh, I know that. It’s just that having the XY constraint buttons work in that scenario seemed such a natural idea that I was rather baffled when it didn’t work.

]It can’t respect texture cropping. It is the nature of UV mapping. This isn’t possible.

Actually, it is. Just not in the way one would expect. For instance, let’s say I have a 64×256 strip along the bottom of my 256×256 texture, and I want to tile just that 64×256 strip across a face. I select that 64×256 region in the cropping box, and then paint a face.

What I’d have expected it to do in an ideal world would be to constrain the V components of the face in question so that it stayed between V 0.75 and V 1.0, and ignore the U cropping at 1.0 if the flat mapping option wasn’t Size To Fit. Bam, a tiling cropped texture.

Actually, come to think of it, I might be able to do a plugin with a Viewport control for this sort of UV voodoo. I’m the skinmeister of the forum, after all.

]Try the andquot;Object Cleanerandquot; script. It believe it optimizes the way you would like.

Actually, that script drives me insane by welding certain UVs without my permission. I’m a big fan of tightly packed textures, and I actually go to the trouble of doing the math on them. I don’t like it when I calculate UV cropping regions to the exact pixel, and Object Cleaner starts snapping together UVs that I fully intended to be separated by 0.039 units (which is one pixel width in UV units at 256×256).

]Center mouse button dragging on an object will rotate around that object rather than the scene’s origin. If you don’t have a center button, you could change the location of the grid (though that may be akward if you have many objects).

Do what? That’s a little awkward. I want to rotate around the *camera’s* axis, not an object’s.

I want to go through my level like a miniature interior decorator and be able to look directly at walls while squealing andquot;Beige! Beige! Oh yes, beige would be SOooOoo per-fect here!andquot;

Well, maybe I wouldn’t actually say that, but I’d sure like to rotate around the camera’s axis. It’s more intuitive.

]If you move a point with Snap To Grid on it will snap to the grid. If you don’t move a point they shouldn’t snap. If you have an example where this happens let me know.

It tends to happen when I copy/paste objects. It’s also happened while cloning…as soon as it happens, a lot of stuff suddenly snaps apart a little bit.

What I did was drop a cube on the scene, scale it to 10×0.1×10, drop another cube, scale that to 10x3x0.2, and move that to the side to make a wall. Then I’ll copy the wall, paste it into the scene, and line that up on the other side. Sometimes it pastes at an angle, or one end is tapered and the other’s skewed. Basically, it misbehaves.

-Mel Ebbles

]Ok, it is possible if you are using strips of the texture. But not if you are using arbitrary texture regions.

Yeah…I’ve found a way to work around that. I just assume that 128×128 texels = 1 square 3DC unit, and prepare my textures accordingly so that I don’t need to crop them. If I have a 0.25×0.25×9.0 lower wall section that I want to texture with a ventilation grill texture, I just make a 32×32 texture and select andquot;Tile To Fitandquot;. It’ll then tile across once vertically and 36 times horizontally.

If I have a really odd sized item that doesn’t neatly fit within a nice round number, I just do a little math to find the right Tile By Unit factor to make it tile nicely across.

On export, I just scale everything up 128x. Lets me work with small 3DC scenes and play in large levels without camera artifacts.

]I think the andquot;weld amountandquot; is pretty easy to find in there. You could just modify the script to fit your welding requirements.

I never looked at it before. Incidentally, not only did I find the welding amount, that script also gave me an Eureka moment, since it pretty much has the exact algorithm ideas needed to weed out untextured faces.

(Basically, once you’ve painted your whole level, ALL remaining untextured faces are automatically those that the player will NEVER see in-game, and those can be safely deleted from the scene)

]The middle xz navigation plane rotates around the camera’s axis.

Yeah….I wish I had found that out earlier though, LOL.

]I haven’t seen this myself. If you have an example 3DC file that consistently fails when you are doing this can you send it to me (<!– e –><a href="mailto:submissions@amabilis.com">submissions@amabilis.com</a><!– e –>)

I started on a new level yesterday with heavy use of cloning and copying. It doesn’t seem to be happening anymore. I’m baffled…but if it happens again, I’ll send the file as you requested.

-Mel Ebbles

You must be logged in to reply in this thread.

8 posts