Intro RWX, AW University Log for Saturday July 25th, 1998 Note: the models mentioned here can be seen in AWUniv at 34.5S 37.0W 2.3a 320. =================================================================== Magine: oh well, i guess we should get started....we can look at
homework after class, unless there's someone who can't stay a little bit
afterward (?) Magine: hi, omm ommm: hi Magine Magine: hm, looks like we've lost a lot of people Magine: ok, well....last time i think we left off talking about
rotation and translation ommm: yes avatar: hi, ommn. this is joon. Magine: to recap a bit....the translate command lets you move the
object Magine: the command is "translate x y z" where x,y, and z are numbers
that tell how far to move the object in each direction Magine: corresponding the the xyz coordinates of course Magine: so, to move it upward by 1 unit, you would say "translate
0 1 0" Magine: to move it down would be "translate 0 -1 0" Magine: and so forth..... lu cypher: what is a unit? Magine: about 10 meters Magine: so in an rwx file, .1 is a meter in aw Magine: so translate command is clear to everyone? ok.... ommm: yup ok lu cypher: Yes avatar: yes Magine: rotate allows you to rotate the object around an axis,
like the cones over there [rw-rotx.rwx,rw-roty.rwx,rw-rotz.rwx] Magine: it's a little difficult to explain, but the easiest use
is to just rotate the object around one of the 3 coordinates as we see
there Magine: "rotate 1 0 0 95" would rotate an object around the x axis,
like the cone with the red bar thru it [the cone lying on its side, facing
us] lu cypher: so you just can make it 0 or one for each coord? Magine: right...in the simplest form. Magine: what the three numbers really are, technically, are a "vector" Magine: the rotate command rotates an object around an axis or
line, formed by the 0,0,0 coordinate and the coordinate specified by the
three numbers Carre: can you put the line rotate in gp script at top of shape
you want to rotate? Magine: you should put the rotate or translate commands in the
file before the vertices, if using polygons Magine: if you're using graphics primitives, put the the translate/rotate
before the gp command Carre: :) Magine: i should apologize for being a bit unprepared today, i
should have added examples to the web page... Magine: i will definately do that after class though, and hope
that will clarify everything.... ommm: ok Magine: besides translate and rotate, there is also the scale command Magine: that allows you to change the size of an object lu cypher: cool! ommm: doesn't an object already have a size? Magine: yes, scale let's you change the size ommm: oh Magine: the format is "scale x y z" where x,y,z are numbers Magine: each number represents scaling in one direction Magine: to shrink something to half it's size, you would use "Scale
.5 .5 .5" Magine: "scale 2 2 2" on the other hand would make the object twice
its size ommm: oh relative to the original? Carre: so if you wanted to flatten a hemesphere, 0 .5
0? Magine: relative to the original, right....basically the scale
command modifies whatever numbers you have in vertex or gp commands Magine: and yes, carre, you can scale an object in one direction
at a time, so that "scale 0 .5 0" would make it half its original height, Magine: but the width and depth would remain the same Carre: :) avatar: i see ommm: got it Magine: when making models with a text editor, scale can be very
handy because you can modify vertices by scaling just parts of the object Magine: which is where the transformbegin and transformend commands
come in :) lu cypher: aha? Magine: transformbegin and transformend are like brackets that
isolate the effect of translate, rotate and scale commands ommm: oh, interesting Magine: if you want to affect only part of a model with translate,
rotate or scale commands, you would put "transformbegin" before the translate/rotate/scale, Magine: and "transformend" after the affected vertices or gp ommm: how do you know one vertex from another? how do you know
what to translate? Magine: that can be tricky, ommm :) ommm: oh lu cypher: ;) Magine: you can number vertices using fixrwx, then you have to
use a combination of trial and error and logical deduction :) [fixrwx is at ftp://ftp.pipeline.com/users/magine/dosutils.zip] ommm: ah ha Magine: of course, if you are making something from scratch using
graphics primitives, then it's much easier Magine: because you know what the parts are Carre: yes, our friends, those gp's :) Magine: give me just a minute and i'll add the script for this
little table [ctable.rwx] here to the examples page, Magine: so you can see how i made it using gps.... Carre: ok ommm: but once you Save As in RWXMod, all you see are vertices,
right? Carre: yes, ommm, I found out the hard way to save the original
text fle with the gp Carre: for editing ommm: ah yes ommm: the hard way ;-) Magine: yes, because once you save the file in rwxmod, it will
be converted into all vertices and polys Magine: so, you should save that as a last step :) Magine: or, just convert *parts* using rwxmod.... ommm: if you want to totate one triangle, you have to hunt for
it...? Magine: you can cut and paste the gp commands to a temp.rwx, open
and save it with rwxmod, then cut & paste back in again, if you want Magine: well the trick ommm is to not lose track of the triangle
in the first place, if you can help it :) ommm: cut / paste parts of the model? Magine: right... ommm: oh, okay, i'll try not to... Magine: heheh Magine: you can use the color command to keep track of parts, because
even when rwxmod converts gps to verts & polys, the color commands
will remain Magine: so you use them to keep track of what verts are part of
what shape... ommm: where do you put colors among the vertices? ommm: stick it in anywhere? Magine: the color command, which i'll get to in a few minutes,
affects whatever follows it... Magine: so for instance, if you had: ommm: oh Magine: color 0 1 0 Magine: sphere .01 2 Magine: color 1 0 0 Magine: disc 0 .1 8 Carre: stick it above each original shape command in gp and it
will stay there above vertices? for each shape in rwx? Magine: ...then when rwxmod converted the sphere and disc command
to a bunch of verts and polys, the color commands would still be there ommm: how about coloring some vertx in the same model? Carre: tricky Magine: the vertices will all be listed together, but the polygon
commands will be separated by the color commands Magine: so you can tell what polys are part of what shape, that
you started out with Carre: oh ommm: then if you want to color one section of the same model GP....? ommm: i mean re-color one section..? Magine: well you can change the colors again afterward Magine: you can use the color command as much as you want, Magine: whatever follows it will be affected ommm: k Magine: ok, i added the script for the table to the examples...i
hope it shows up :) ommm: let me check.. Magine: open your web page and click on one of those big triangles ommm: ctable is there! Magine: you can right-click on the web page and "refresh" Magine: ok Magine: great :) Magine: now this script is actually different from the table
you see here, in one regard.... Magine: to make the flare pattern on the top, i had to convert
the two disc commands at the end into verts & polys Magine: but texturing will be discussed in next session :) Magine: before we discuss the script for the table, let me talk
about the color and lighting commands for a moment Magine: the color command is pretty easy....just "Color" followed
by three numbers, for red, blue and green ommm: ok Magine: each of those numbers should be between 0 and 1, and tells
you how much of that color to mix in Magine: so color 0 0 0 would be black, color 1 1 1 would be white, Magine: color 1 0 0 is red, color 0 1 0 is green, color 0 0 1 is
blue, etc Magine: color .5 .5 .5 is neutral gray Magine: color 1 1 0 is yellow (mix of red and green) Magine: color 1 0 1 is violet, etc Magine: color .5 0 0 is also red, but darker Magine: color .9 .5 .5 would also be red, or pink, because the
red value is higher; but the fact that it has the other colors in there
too will make it lighter (closer to white) Magine: i guess the pattern is clear :) ommm: yup Magine: ok...next we consider lighting Magine: there are 3 commands to Magine: control the reflectivity of an object jeanphi: hello ! lu cypher: aha ! Magine: these purple globes over to the SE here show what i mean Magine: the top row of globes [rw-amb1.rwx] demonstrates the "ambient"
command Magine: which in aw means the base brightness of the object jeanphi: Sorry for being late Magine: that's ok, jean....you can read the log later :) jeanphi: :-) Magine: we are talking now about lighting.... jeanphi: ok, I already know a bit :-) Magine: the ambient command determines the objects actual brightness, Magine: as seen in the top row of globes, Magine: which vary from "ambient 0" to "ambient 1" Magine: the next light command is "diffuse", as on the second row
of globes, [rw-diff1.rwx] Magine: if determines how reflective the object is in a terms of
diffuse light.... ommm: Magine, can you please put the RWX files on the Web page? Magine: i will, yes :) sorry, it's been a bad week for me ommm
:) ommm: it's getting better ;-) Magine: i don't want to interupt right now to do it, but will right
after class.... ommm: k Magine: also i'm going to have a summary web page too.... ommm: great Magine: finally there's the "specular" command, shown on the bottom
row [rw-spec1.rwx] Magine: which determines how reflective the object is in terms
of reflection Magine: i kind of glossed over the diffuse and specular definitions
there because i think i can best explain them by comparison Magine: both tell how reflective an object is, Magine: but specular reflection is like a mirror, or glassy surface... Magine: and diffuse reflection is like reflection off a buff or
fuzzy surface :) lu cypher: great! Magine: basically you will just have to play around with the 3
values and get an intuitive understanding of what they mean Magine: also, all three of those commands, ambient, diffuse and
specular, can be conveniently combined in one command, "surface" ommm: oh ommm: convenient Magine: the 3 numbers following the "surface" command specify ambient,
diffuse and specular lighting... Magine: so you can see all 3 at once, or individually Magine: and like the color command, everything following the surface
or ambient/diffuse/specular commands is affected Magine: until the next such command ommm: ok Magine: another command that controls lighting is the "lightsampling"
command Magine: you see the gp model set over here...? Magine: these are using "lightsampling vertex" Carre: yes Magine: [rw-gpver.rwx] Magine: now i will show you the same models in "lightsampling facet" Magine: [rw-gpfac.rwx] Magine: you can see that lightsampling vertex smooths a model out,
where lightsampling facet shows all the individual sides (polygons) clearly ommm: magic! Magine: notice how lightsampling vertex makes the cone, which is
actually only 16 sided, appear smooth and round Magine: same with the sphere, and so on Magine: but with the flat-sided cube, it makes little difference Magine: ok, if there are no questions, let's look at the script
for the table now Edward: What are the performance considerations between the two
lighting effects? ommm: ok Magine: lightsampling vertex, the smoother one, takes a bit longer
to render...but i don't think it's a very significant difference in most
cases Edward: ok Magine: ok, on the web page, the last example, ctable.rwx Magine: you can see the usual modelbegin, clumpbegin lines, followed
by the surface command lu cypher: yes :-D Magine: with .4 ambient lighting, indicating an object a little
darker than average Magine: diffuse .5 indicating that it reflects moderately well, Magine: and specular .1 meaning it isn't shiny like a mirror :) Magine: at least that part of it isnt Magine: then the color command, a littel darker than neutral gray Magine: and the cone and two discs making up the base Magine: now, pop quiz :) why are there TWO discs for the
base? ommm: that's what i wanted to ask ;-) Magine: anybody know? :) lu cypher: hmmm Magine: i'll give you a visual hint Magine: now the table is up in the air, what do you see? Edward: Visibility from both sides? Magine: right :) ommm: oh! lu cypher: right! Magine: i could have probably left one disc off, since the table
will not often be viewed from the bottom :) ommm: unless you're drinking..;_) Carre: so you can put your duplicate commands in original gp,
that helps Magine: you notice that one of the discs has a negative number
for the radius Magine: that's the one that faces downward Magine: next, we have the top half of the table... Magine: that part of the script starts with "transformbegin" Magine: so that the following rotate and translate commands will
only affect part of the model Magine: otherwise, the rotate and translate would affect everything
that follows them in the file ommm: oh lu cypher: do you have somthing similar for the color commands? Magine: no.... Magine: color commands will affect everything that follows them lu cypher: aha Magine: until the next color command :) Magine: hmm...now you will keep in mind that this cafe table was
the first model i ever made from scratch ommm: wow lu cypher: *impressed* Carre: yes Magine: which is my excuse something in the rotate command there
:) Magine: i put .025 when 1 would have probably worked just as well Magine: (rotate 1 0 0 180 would have worked as well as rotate .025
0 0 180) Magine: but i was still figuring out what those numbers meant,
at the time, lol Magine: but to proceed.... lu cypher: :-) Magine: after the rotate and translate, there are the cone and
disc commands making up the top of the table Magine: but that cone is upside down, because of the rotate command Magine: and the translate command moves is down slightly so that
it will move into the other cone Magine: but wait :) ommm: did you succeed right away with the "slightly"? Magine: no, i did a lot of trial and error lu cypher: :)) Magine: and i still do :P Magine: so don't feel bad about it, if you do too ommm: ok Magine: although the more numerate would criticize me for it ,
lol Magine: interesting point here....if you played around with this
yourself, you would find that the upper cone Magine: has been moved slightly UP, not down! Magine: can you guess why that is? Magine: anyone? :) ommm: it's pointed? Likeness: so not to overlap? Carre: cause disc was move by translate and rotate? Magine: i mean, you would expect that the negative number in the
translate command would move it down Magine: but it is actually moved a bit up from where it would be
without the translate Edward: does the rotate reverse the vertices? lu cypher: becaause of the translation? Magine: edward has it :) Edward: If you did the translate before the rotate you would make
it a positive number. Magine: it's because the rotate command affects everything that
follows it, including the translate! Magine: yes! bravo! :D Magine: you should usually put rotate commands last to avoid such
confusion Magine: i didn't realize that when i did this about a year ago
:) Magine: ok, anyway.... Magine: we then have transformend, so that the effects of the rotate
and translate will stop there Magine: and we finish with the glass top Magine: i wanted it to have a different reflectivity than the metal
bottom, so i used the surface command to change that Magine: the 1 for the last number (specular) means that the top
will be as reflective as it can get, like glass Magine: you will note that if you look at it from some angles,
it will reflect the aw light and look white Magine: hm, well, maybe i should put the original untextured version
on here instead, just a sec Magine: ok, now this is what the script on the web page actually
shows [ctable1.rwx] Magine: next week we'll see how to add the texture to the top Magine: two other things to notice in the script ommm: table's gone... Magine: you're not seeing the replacement table? ommm: not me.. Likeness: I am lu cypher: i do ommm: how do i get it to load? Magine: [ctable1.rwx] for the benefit of people only reading the
log :P Magine: hm, try leaving this world and coming right back, ommm Magine: i'll wait... ommm: i see it Magine: ok ommm: thx Magine: so...i put lightsampling facet, hoping to make the top
more reflective (faceted), but in this case since the top is just flat,
i dont think it mattered much Magine: also you'll notice the "opacity" command there Magine: which, as you probably have guessed, is what makes the
top transparent Magine: opacity affects everything that follows in the file, like
color, and can be any number between 0 and 1 lu cypher: opacity 1 is invisible? Magine: opacity 1 is solid, the default Magine: opacity 0 is invisible Magine: everything between is varying degrees of transparency Magine: however, renderware kind of cheats on this one :) ommm: how so? Magine: it really just does a tiny checkerboard pattern, with some
squares solid and some invisible Magine: at opacity .5 it looks pretty good and you can't tell lu cypher: aha ! Magine: but at other opacity settings, the crosshatch pattern becomes
real obvious Magine: and instead of transparent, it looks like a screen door
:) Magine: you can see on some of the windows here in the center,
what i mean Magine: the modeler who made them used opacity .4 or something
like that Likeness: you can see a row of x's in some of them Magine: yes, the crosshatch patterns interact too, when you see
one window thru another Magine: any questions before we end the official class session?
we can stay a bit and look at what people did for homework from last week,
if you want lu cypher: thanks for the class, Magine! Got to go... ommm: good class! Edward: thanks. See you next week. Magine: okay, LC, see ya lu cypher: [gone] Carre: bows to instructor magine :) ommm: clap clap Magine: next week we'll get into textures...the really fun stuff
:) Likeness: thanks Magine :)) ommm: all right! Magine: thanks all of you, for coming :) avatar: I can't wait. :) Carre: directions for use of dos program like rwxfix? can
you e-mail us magine Magine: ok ommm: GPs are our friends! Magine: and i will put more examples on the web page, and i'm going
to summarize the material on another web page, will send everyone the url
via email Carre: :), for sure ommm ommm: super Magine: i hope everyone feels that they're learning stuff :) ommm: yes, yes Magine: great :) Likeness: ok, this is finally all starting to make sense to me ommm: secrets of the RWX masters Magine: heheh :P Carre: me too, feels good Magine: i'm looking forward to seeing a lot of new and interesting
models around :) ommm: look out! Likeness: hehe Carre: still having problems with math, like if I want to
translate an object up 1/4 of the vertical of a model, ?? Magine: well it would depend on the height of the model, carre Carre: 1.5 for height Magine: so then, just translate 1/4 of that..... .25 x 1.5 ommm: to create large objects, like a huge tent, could you use
one big GP? Magine: translate 0 .375 0 Magine: you could, if it's not so large that you have solidity
problems Magine: something i should have remembered to mention... ommm: solidity? Carre: magine, would it be better to make modular pieces for large
object Magine: objects with more than 64 vertices or polygons, will be
solid in one big block... Magine: yes, i think that works best, carre ommm: if you can not enter inside them, then they have solidity? Magine: umm, well i'd better put that on the agenda for next time
for everyone, but, that's sort of what i mean, ommm ommm: ok Likeness: CRZ did a very large object and it rendered and when
I tried to resize it to make it smaller, it would not render past 25% Magine: i'll give you an example tho Likeness: any idea why? Magine: that's just the limitation of renderware, like Likeness: oh :( Magine: its hard for it to figure out what part of a model should
be solid or not Magine: like these tables, for example Magine: the space under the table top is open, you could move thru
it Likeness: the center right? Magine: hm, maybe the table is a bad example :) Magine: take the standard aw arch, that's a better example Magine: you can walk thru it Likeness: yes ommm: right Magine: but if it had more than 64 verts of polys, it would act
like one solid chunk Magine: even though it might look okay ommm: oh Likeness: oh ok :) Magine: or for instance, we have a tree in atuin that never got
finished :) Magine: it has an overhanging branch Magine: you should be able to walk under that branch Likeness: but it is solid all the way to the ground? Magine: but because the tree has more than 64 verts or polys, the
tree acts like it is one big block Likeness: I see :) ommm: oh i see Magine: things with > 64 verts/polys are solid throughout the "bounding
box"....that yellow box you see when you select an object ommm: important to know Magine: another thing is, objects bigger than a certain size, i
think it's 30m, have similar problems ommm: oh Magine: they may only be solid in the center Likeness: I wondered about that also ommm: what do you mean "solid in the center"? Magine: just that....for instance i made a big hill object Magine: you can stand on it, if you are at the center....but if
you move off center too far you drop thru :P ommm: oh Carre: like derek's islands in A'tuin, but if you place in center
of grid, more solid ground we found? Magine: hm, yes i believe that's true, Magine: it can depend on how the object is placed.... Magine: i confess i never looked into that :> Likeness: sometimes objects have holes in them like swiss cheese Magine: how do you mean, like? Likeness: well, you can sometimes walk on an object and there will
be a hole someplace in it or several holes Likeness: like a ground piece Magine: you mean holes in it's solidity, but not visible holes? Likeness: yes Magine: do you recall where there is an example? Likeness: well, there was a hill piece in STARZ, but I don't know
if it is still there Likeness: once Steppi did a floor piece and in one part of it,
you fell thru the floor ommm: generally how big is the limit on size for good building?... Likeness: just a little section Magine: i think it's 30m, ommm ommm: oh ommm: you could build a small house with GP..? Likeness: do you ever use Truespace or any program like that Magine,
at all? Magine: like, i've used ray dream designer... Likeness: hehe, just curious Magine: ommm, probably...but might be better to do it in peices ommm: how did you convert RD files? Carre: good quest. how do I use that converter with
ts3, a dos prog. ? Likeness? Magine: ommm, save as .dxf then convert ommm: oh Likeness: with dxf converter? Likeness: ever used Win32? ommm: which things to build in RWX and which in modeler? Magine: rwconvert works best, i think, like Magine: ommm, just depends on how complicated it is.... Likeness: k :) ommm: do you ever switch between? Magine: i'm still learning ray dream myself Magine: hey, we are inside a yellow pavillion :P [ommm's model,
pav4mh.rwx] ommm: yikes! Magine: size does matter, lol Likeness: hehe Magine: (this is ommm's homework) Magine: pav4mh Likeness: this is cool ommmm :) ommm: :-) ommm: GPs are my friend Magine: oh i have to go outside and see the top... Likeness: ummm, has an unattached cone on the top of it....hehe ommm: whoops, i had to fix the top this morning!! ;-) Carre: neat, you made a door ommm: 148 vertices!! Magine: that many? doesnt look like it ommm: that's what RWXMod says about it... Carre: hi Mavrik Mavrik: hi Magine: must be, then Magine: hi mav Mavrik: Hi Magine Likeness: Magine, will you include the part about the 64 verts
and the 30m's in the log? Magine: yes Likeness: thanks :))