Author Topic: Nintendo 64 Mapping Workshop  (Read 332617 times)

0 Members and 1 Guest are viewing this topic.

Offline Peardian

  • Hero Member
  • *****
  • Posts: 627
  • Busy busy
Re: Nintendo 64 Mapping Workshop
« Reply #105 on: October 04, 2010, 08:35:28 pm »
Debbytron returns! It might be best if we let it know about the official Nintendo Player's Guides and the wonders of ebay. But I digress.


For the first time in months, I have a new tip! I just discovered this one a week or so ago. Remember how infinite lights had a problem with only having crisp shadows? Turns out they thought of that. When you set up an infinite light with an area shadow, it opens an option in the Details tab. In the section that defines the area shadow's shape, you can use Infinite Angle to determine just how quickly the shadows get fuzzy the farther they are from the source edge. The default is 0.5 degrees, which would be fine for something like a perfectly clear sunny day. Note that this setting does not affect the angle of the lighting itself, just the shadow.
MM (10%) - SMA3 (33%) - DNS (0%)

Come check out the Nintendo 64 Mapping Workshop!

Offline Peardian

  • Hero Member
  • *****
  • Posts: 627
  • Busy busy
Re: Nintendo 64 Mapping Workshop
« Reply #106 on: November 19, 2010, 08:35:18 pm »
Remember earlier how I said I didn't think C4D could do vertex shading? Well, I found a way. But it's not easy. This lesson is for those who know how to use C4D efficiently.

19. Vertex Weight Maps and Vertex Shading
As I have just recently figured out, Cinema 4D a way assigning vertex weights to the points on a model. It can only store values of 0%-100%, but you can have multiple weight maps per model. Weight maps are much like selections, in that they are represented by a Weight Map tag. While this tag is selected, the object it belongs too will display the weight values in the form of color gradients. Red means 0% and Yellow is 100%. The points on the model are also colored, which hinders visibility. Any changes you make to the weights will affect the selected weight map. If the weight map is not selected, any changes will result in a new map. In order to set weights to points, first make your selection. With the points selected, go to Selection -> Set Vertex Weight... from the top menu. A little dialogue box will pop up for you to enter the percentage. It keeps the last value you entered, so things will go faster if you do similar regions at the same time instead of jumping around.

So how does one go about using these weight maps? If you render the scene, the vertex maps won't show at all. This is because they are only information. In order to see them, you have to tie them to a channel in the material. For the texture of the desired channel, choose Effects -> Vertex Map. It will display a white square, which is normal. Hitting render will still display nothing, however, as you need to link it to a vertex map first. Go into the shader properties and you'll have two fields. Simply drag the desired weight map icon to the Vertex Map field. Whether or not you need to check the Invert option is up to you and how you set up your weight map. So the map is linked up and you hit render. What do you see? The The object has now been colored with black and white gradients based on the map! So how can you make use of it and actually have color? The map can only have one value at a time. This requires a bit of ingenuity and clever utilization of C4D's shaders. Because of its simplicity, vertex maps become a powerful tool, because they can be applied to any channel. It is worth noting that the method I've just demonstrated can be used in Alpha channels with no further modification.

[img width= height=]http://img831.imageshack.us/img831/8641/picture1knz.png[/img]

Getting your model from a simple gradient to something like the image above is quite simple once you grasp the concept of it. To start with, let's color that map. With the Vertex Map already in place, set the texture to the Colorizer shader. What the Colorizer does is that it takes in a bitmap or shader and recolors it according a user-specified property. The default input is Luminance, which is just what you want for black-and-white ranges such as this. The shader is also set up to automatically take in any shaders already present and put it as the associated texture, which is quite handy. If you render now, you'll see that it is already now red and yellow instead of just black and white. You can now mess with the colors as you would a regular gradient.

[img width= height=]http://img38.imageshack.us/img38/6702/picture4fi.png[/img]


That's nifty, yes, but what if you want more than just two colors? This is where another shader, the Layer comes into play. Layer is similar to the Fusion object I've mentioned before, but with slightly different behavior and an unlimited number of layers instead of just two and a mask. Like the colorizer, it will take in any present shader as the first layer when selected. The information presented on each layer is pretty self-explanitory, and in fact will seem very familiar to anyone who has used Fireworks/Photoshop. The only one that isn't entirely straightforward is the Layer Mask setting, which causes the layer to mask the layer above it. Just like in Photoshop, you can create a folder to store layers in, which you'll be using in a bit. One of the downsides to the Layer shader is that you can't simply paste layers, so you must first create a dummy layer of any kind and paste over it.

Remember, color on the computer is represented by a trio of values, a range of 0-255 for each red, green, and blue. Adding these various amounts of red, green, and blue is how we get all the other colors, and this is exactly the same principle we'll be using. The idea is to create three different vertex maps: one for red, one for green, and one for blue. What do you set for the values? Black being 0% and white being 100% is obvious, but what about the middle values? This is a good time to mention that C4D can do math. Yes, you can input mathematical statements in for values, and it will automatically calculate them for you. This means it is perfectly fine to enter, say, 100*137/255 as a value, and it will give you the percentage you need. After the three meshes have been set up, it's time to combine them. Inside the Layer shader you have, create additional Colorizers and assign one to each mesh, using a gradient from black to pure red/green/blue, as shown in the above image. Once that is done, set the top two layers from Normal to Add and hit render. If you did it right, the colors will blend together and create new colors! Note that if you accidentally set the bottom layer to Add as well, it will show up black instead.

Selecting the colors to use for this is harder than it sounds. If you're used to working with faces like I am, you'll find yourself wanting to look at the middle of the polygon faces for color. Remember, however, that vertex maps are based on the points of the models and not what is inbetween. Because of this, you'll want to choose from the corners of those faces. If the point on a model is not immediately discernable, look at the color gradients. You'll see trends in the color and direction of the gradients. Look for points where the gradient lines form corners, as this is a good indication of a point. Remember that each vertex can only have one color, so if you see a three-or-four-color gradient, you can probably find the points on the object where the color reaches the highest concentration of the middle color. The higher the polygon count of the model, the harder it will be to reproduce, so this will work well with N64 models.

[img width= height=]http://img708.imageshack.us/img708/4403/picture2yh.png[/img]

What about textures, though? This puts another level of complexity on fixing up the model. Adjusting the example above to accomodate textures is quite easy. Create a folder in the Layer shader, put all three Colorizers in it, and set the blend mode to Multiply. Then, simply add the bitmap you want to affect as the bottom-most layer. You can also work to this point in the other direction, by starting with the bitmap layer in place and adding in the Colorizers second. Either way, you'll end up with something like this:

[img width= height=]https://img230.imageshack.us/img230/5771/picture3vm.png[/img]

Picking the right colors for the weight map is trickier than untextured objects, however. The bitmap is mixed in with the shading and messes with the colors, so using a screenshot is no good. You could try using complex image voodoo to try and figure out the difference in color between the original and displayed images, but there are two easier options. Remember how each material in the ripped scene comes with a color? This is guaranteed to be one of the colors in the vertex map. However, it is only one of them. If anything, this is a good place to start before moving to the other option, which is to just guess. Just use an image editing program and test out what colors multiply out to look like the screenshot. It will be a lot less of a headache than trying to use crazy color math, and will still look good, even if it's not 100% accurate.


And that's all there is to it! I've already put this technique to use in the Gold Leaf Galaxy wallpapers I made, as a way to fade the edges of the rain puddles and the glow on Octoguy's antenna. It's somewhat subtle, but that's what you want. As a way to practice, I recommend getting any random simple scene, ripped or custom, and trying things out. Paper Mario is a good source of things to play with. I look forward to seeing any progress you guys make!
« Last Edit: December 30, 2010, 09:49:36 am by Peardian »
MM (10%) - SMA3 (33%) - DNS (0%)

Come check out the Nintendo 64 Mapping Workshop!

Offline Trop

  • Hero Member
  • *****
  • Posts: 848
Re: Nintendo 64 Mapping Workshop
« Reply #107 on: December 27, 2010, 05:15:17 pm »
Yuck, Banjo Kazooie is as messy as you described it Peardian.  Somebody requested Rusty Bucket Bay so I thought I'd do a feasibility test.  It's like a torn up cardboard box.  Same situation with Golden Eye.  I'm thinking if I can assemble enough parts I can take an aerial pic, then use ripped tiles and photoshop to make it at least look like a 3D map.

Offline Peardian

  • Hero Member
  • *****
  • Posts: 627
  • Busy busy
Re: Nintendo 64 Mapping Workshop
« Reply #108 on: December 27, 2010, 08:05:13 pm »
It might look as impossible as GoldenEye, but there's a key difference: the map is always oriented properly, it just shifts around. This means that as long as you have a common object between two scenes, you can sync them up to stitch the two pieces together. Just make sure to watch out for duplicate pieces, which you'll have to get rid of.
MM (10%) - SMA3 (33%) - DNS (0%)

Come check out the Nintendo 64 Mapping Workshop!

Offline Trop

  • Hero Member
  • *****
  • Posts: 848
Re: Nintendo 64 Mapping Workshop
« Reply #109 on: December 27, 2010, 10:45:24 pm »
Yes, I've been rereading your guide here to make sure I didn't miss any tips on that.  C4D made OB64 easy with the merge function but in Banjo Kazooie it puts each new wrl in a kind of circular pattern instead of lining them up perfectly.  I'm doing the most work fixing materials that go black during merging.

Offline Trop

  • Hero Member
  • *****
  • Posts: 848
Re: Nintendo 64 Mapping Workshop
« Reply #110 on: December 29, 2010, 02:11:58 pm »
Wow the work load really can vary as much in 3D as it can 2D.  Still looking for shortcuts.  Is there no snap function in C4D like there is in photoshop? 

Offline Peardian

  • Hero Member
  • *****
  • Posts: 627
  • Busy busy
Re: Nintendo 64 Mapping Workshop
« Reply #111 on: December 29, 2010, 04:18:30 pm »
There are. Select either of the Move, Scale, or Rotate tools to bring up its Attributes, and choose the Snap Settings tab. From here you have a lot of options to control how you can move and edit things. Check Enable Snapping to turn the feature on, and check any of the different ways you want selections to snap to. If you want to line up models exactly with each other, I suggest turning on Point snapping and disable Grid. Right below that are options for automatically Quantizing your actions, instead of having to hold shift.
MM (10%) - SMA3 (33%) - DNS (0%)

Come check out the Nintendo 64 Mapping Workshop!

Offline Trop

  • Hero Member
  • *****
  • Posts: 848
Re: Nintendo 64 Mapping Workshop
« Reply #112 on: December 29, 2010, 08:11:01 pm »
Oh, well that makes things a lot more convenient, thanks.

Offline The Ultimate Koopa

  • Hero Member
  • *****
  • Posts: 509
Re: Nintendo 64 Mapping Workshop
« Reply #113 on: January 24, 2012, 05:51:53 pm »
So, wait, why did this just suddenly die like that?

Offline Trop

  • Hero Member
  • *****
  • Posts: 848
Re: Nintendo 64 Mapping Workshop
« Reply #114 on: January 24, 2012, 06:20:03 pm »
Because when it comes down to it even with Peardians help this is beyond all of us?  Even games that are extremely forgiving when it comes to 3D mapping have knocked me flat, like Aidyn Chronicles or Turok 3.  I figure at this point all I could really get away with would be to make a enemy model gallery from Star Fox.

Offline JonLeung

  • Administrator
  • *****
  • Posts: 3685
Re: Nintendo 64 Mapping Workshop
« Reply #115 on: May 27, 2013, 08:48:35 am »
Came back here when doing a search for Super Mario 64.  Since Peardian has mapped The Legend Of Zelda: Ocarina Of Time, Paper Mario, and Super Smash Bros., at first thought it seems like a first-generation N64 game should be a piece of cake.

I guess, conversely, because it is a first-generation N64 game, and developed in tandem with the actual hardware, and the "engines" and/or chunks of code are perhaps non-standardized, there may be more exceptions and quirks which might make it messier to work with?  I guess I didn't read much of the actual reasons of why this is "unmappable" but given that it is one of the most well-known N64 games, I do hope a workaround will eventually be possible.

Offline TerraEsperZ

  • Hero Member
  • *****
  • Posts: 2326
Re: Nintendo 64 Mapping Workshop
« Reply #116 on: May 27, 2013, 10:34:23 am »
Technically, it's probably simpler than other games since I once saw someone on an old version of the Acmlm ROM hacking board make an interactive map viewer for at least the exterior of Peach's Castle and a preview showing how the various rooms inside the Castle and the Haunted Mansion fit together. I didn't visit that forum often enough to know if it was ever released.
Current project:
Mega Man: Powered Up (PSP)

Offline Peardian

  • Hero Member
  • *****
  • Posts: 627
  • Busy busy
Re: Nintendo 64 Mapping Workshop
« Reply #117 on: May 28, 2013, 06:10:39 pm »
Yeah, there are level editors for the game and such, but when I asked the tool creator about it, he claimed it wasn't possible to make a model exporter for the levels. I don't know if things have changed since then, though. The editor is called Toad's Tool 64, in case anyone wants to poke around with it.
MM (10%) - SMA3 (33%) - DNS (0%)

Come check out the Nintendo 64 Mapping Workshop!

Offline gcr27

  • Newbie
  • *
  • Posts: 2
Re: Nintendo 64 Mapping Workshop
« Reply #118 on: December 26, 2016, 12:17:02 pm »
I'M HAVING PROBLEMS TO EXTRACT BLAST CORPS MODELS I USE SEVERAL EMULATORS NOR WITH lemmy video debugger ERRORS APPEARS VERY MISTAKES WHEN I'LL CHARGE ROMS I CREATED VRLM PASTE AND NOTHING

Offline Zgame

  • Newbie
  • *
  • Posts: 1
Re: Nintendo 64 Mapping Workshop
« Reply #119 on: November 22, 2022, 01:34:03 am »
thanks for the info 8)
Emulator SNES, PS1, SEGA games online Z-Game