Register - Login
Views: 99805676
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-03-22 07:55:26 AM
Jul - SM64 Hacking (Archive) - Toad's Tool 0.6.0 (On hiatus for an indefinite amount of time) New poll - New thread - Thread closed
Pages: 1 2 3 4 5 6 7 8 9 10 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28Next newer thread | Next older thread
Polygon model importer, how soon do you want it?
Please vote or be transformed into Walluigi!
Now! Even if it means it will be buggy and limited to a single untextured model!
 
11.4%, 14 votes
I could wait a month for more features and textured model import.
 
22.8%, 28 votes
I want all the features you can cram in, even if it means waiting indefinitely!
 
56.9%, 70 votes
You shouldn't have announced anything and released it when ready!
 
4.1%, 5 votes
Me don't care!
 
4.9%, 6 votes
Multi-voting is disabled. 123 users have voted.

Breegullbeak
Member
Level: 27


Posts: 39/135
EXP: 107689
For next: 8470

Since: 06-06-09


Since last post: 10.5 years
Last activity: 9.7 years

Posted on 10-12-09 06:31:02 PM Link
Originally posted by VL-Tone
Originally posted by GhostMaster3000
I tried using your importer and when it said "parsing" and "not using mtl " it crashed and did not import the level, what did i do wrong???


For one thing GhostMaster3000, you did post in the wrong topic

I managed to import the Spiral Mountain with textures. I did struggle a lot to find the right texture scaling value, and its still not right. I'm pretty sure there's something wrong with my texture scaling value conversion function.

Pictures here

There's no simple way we'll ever get this level in SM64 to look like it did in Banjo Kazooie. Rare did create a completely new graphic engine to support higher res textures and other stuff. It uses 64x64 pixels textures that the SM64 engine doesn't support (it supports up to 32x64). The BK engine can combine multiple layers of textures, fading them into one another. Polygons are also colorized smoothly in a way I never seen in SM64.

Another thing, I found a lot of places where Mario would simply fall into the ground while walking and die. SM64's collision engine is very flaky, it was probably much more polished in BK.


WOW! Just seeing that made me dislocate my jaw so it could reach the floor. I want this update more than ever now.
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 533/621
EXP: 1136491
For next: 20628

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 6 days

Posted on 10-12-09 10:39:54 PM Link
Time: One second ago - Date: Tomorrow - Weather: Sunshine - Mood: Moody Answer to the universe: Yes
Originally posted by wwwarea
Wow, that looks nice. Cant wait for this tool. Wow, Banjo Kazooie - Spiral mountain.

I have a question though, will Toads tool 0.6.0 import obj's into more then one level? I'm not sure if it will. I saw level slots and replacing Bomb omb battle field in the old screen shots.


Version 0.6b has 20 custom level slots, you can decide which level each slot will replace.

Originally posted by Breegullbeak

WOW! Just seeing that made me dislocate my jaw so it could reach the floor. I want this update more than ever now.


There were a few texture problems in those screenshots, namely they were flipped upside down. I fixed that and made a Youtube video which is currently processing.

____________________
Breegullbeak
Member
Level: 27


Posts: 40/135
EXP: 107689
For next: 8470

Since: 06-06-09


Since last post: 10.5 years
Last activity: 9.7 years

Posted on 10-12-09 10:42:55 PM Link
Originally posted by VL-Tone
Originally posted by wwwarea
Wow, that looks nice. Cant wait for this tool. Wow, Banjo Kazooie - Spiral mountain.

I have a question though, will Toads tool 0.6.0 import obj's into more then one level? I'm not sure if it will. I saw level slots and replacing Bomb omb battle field in the old screen shots.


Version 0.6b has 20 custom level slots, you can decide which level each slot will replace.

Originally posted by Breegullbeak

WOW! Just seeing that made me dislocate my jaw so it could reach the floor. I want this update more than ever now.


There were a few texture problems in those screenshots, namely they were flipped upside down. I fixed that and made a Youtube video which is currently processing.


Sounds awsome. About how many faces can you fit currently in a obj. with it still working?
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 534/621
EXP: 1136491
For next: 20628

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 6 days

Posted on 10-12-09 10:55:41 PM (last edited by VL-Tone at 10-12-09 08:14 PM) Link
Time: One second ago - Date: Tomorrow - Weather: Sunshine - Mood: Moody Answer to the universe: Yes
I think this model has like 4000+ polygons and uses 512k of RAM (half of what a level slot can contain). I forgot to tell you guys, there's a big problem in the current version of TT64, it will only read the first 2000 polygon commands, so levels like this won't show up completely. This was an artificial limitation I put back in the days to prevent it from reading data until the end of the ROM if something did go wrong. I removed the limitation in v0.6b.

Here's the Spiral Mountain video:

<object width="425" height="344"><embed src="http://www.youtube.com/v/t-PtJIFz2tI&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

Edit: Hmmm weird, this video appears in High Quality when emmbeded, but in crappy quality when viewed directly on Youtube (with no HQ button). And the two other videos I posted yesterday are now in crappy quality while they were in HQ yesterday.

____________________
Breegullbeak
Member
Level: 27


Posts: 41/135
EXP: 107689
For next: 8470

Since: 06-06-09


Since last post: 10.5 years
Last activity: 9.7 years

Posted on 10-12-09 11:38:03 PM Link
Nice ending. I can't take credit for getting the file out of the game though. Credit Cooliscool of the RWP. He made the model ripper/viewer.

Their is another part to the model that has the bridge and the fences. I may also be able to search out the water model for the level to if it would help at all.

I could actually get you most of the charecters and objects as well.
VideoGuy
Member
Level: 22


Posts: 47/84
EXP: 53006
For next: 5344

Since: 05-10-09


Since last post: 12.0 years
Last activity: 9.9 years

Posted on 10-12-09 11:38:35 PM Link
Wow, that was amazing. I can see SM64 hacking becoming a lot more mainstream with this tool. It's good to see the SM64 engine can support a model like that without lagging, it gives me more confidence in the stuff I'm making with Blender.

I'm guessing from that video that TT64 doesn't use alpha when importing textures? Or was that the fault of the texture?
Breegullbeak
Member
Level: 27


Posts: 42/135
EXP: 107689
For next: 8470

Since: 06-06-09


Since last post: 10.5 years
Last activity: 9.7 years

Posted on 10-12-09 11:44:28 PM Link
Originally posted by VideoGuy
Wow, that was amazing. I can see SM64 hacking becoming a lot more mainstream with this tool. It's good to see the SM64 engine can support a model like that without lagging, it gives me more confidence in the stuff I'm making with Blender.

I'm guessing from that video that TT64 doesn't use alpha when importing textures? Or was that the fault of the texture?


The textures are not set up like the textures that SUper Mario 64 uses. In BK it's just the texture while on Super Mario 64 there is the texture followed by what the game picks up. Basicly some of the stuff could be improved while other things most likely can't.
messiaen
Catgirl
Level: 68


Posts: 671/1085
EXP: 2596344
For next: 132456

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 10-13-09 01:27:04 AM Link
Originally posted by VL-Tone
I think this model has like 4000+ polygons and uses 512k of RAM (half of what a level slot can contain). I forgot to tell you guys, there's a big problem in the current version of TT64, it will only read the first 2000 polygon commands, so levels like this won't show up completely. This was an artificial limitation I put back in the days to prevent it from reading data until the end of the ROM if something did go wrong. I removed the limitation in v0.6b.


I was going to ask you about this , I noticed that only half of the level shows up in TT64. The Spiral Mountain looked very nice, I haven't played Banjo so I don't know how different it looks in that game. When importing the .obj file, I actually scaled down the vertex to 70% of the original size to avoid the invisible boundaries problem. I also noticed that at some points you just fall through the floor, but I thought it was a problem with my importer.
unintelligentgenius
Random nobody
Level: 7


Posts: 1/6
EXP: 995
For next: 453

Since: 10-13-09


Since last post: 12.5 years
Last activity: 12.4 years

Posted on 10-13-09 03:21:04 AM (last edited by unintelligentgenius at 10-13-09 12:32 AM) Link
Hey VL (I'm new here), I was wondering, what's a good face count on a new obj. imported into Toad's Tool?
Also, you can delete and replace mesh terrain, right?

Edit: Also, how do you make invisible walls? I assumed using a mesh with just an completely alpha'd texture.
Is that right?
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 535/621
EXP: 1136491
For next: 20628

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 6 days

Posted on 10-13-09 05:49:38 AM Link
Time: One second ago - Date: Tomorrow - Weather: Sunshine - Mood: Moody Answer to the universe: Yes
Originally posted by VideoGuy
Wow, that was amazing. I can see SM64 hacking becoming a lot more mainstream with this tool. It's good to see the SM64 engine can support a model like that without lagging, it gives me more confidence in the stuff I'm making with Blender.

I'm guessing from that video that TT64 doesn't use alpha when importing textures? Or was that the fault of the texture?


It's planned that TT64 v0.6b will be able to use the alpha channel for textures, but it doesn't currently. I didn't check, but I'm not sure that the texture provided for the BK level had their alpha channel (which by the way in SM64, is only 1-bit for color textures)

Originally posted by unintelligentgenius
Hey VL (I'm new here), I was wondering, what's a good face count on a new obj. imported into Toad's Tool?
Also, you can delete and replace mesh terrain, right?

Edit: Also, how do you make invisible walls? I assumed using a mesh with just an completely alpha'd texture.
Is that right?


Hi unintelligentgenius, welcome to the forum. I would say that you should be safe with around 3000 faces, but I haven't done extensive tests yet. This level is more than 4000+, but I didn't put any enemies.

Originally posted by messiaen
I was going to ask you about this , I noticed that only half of the level shows up in TT64. The Spiral Mountain looked very nice, I haven't played Banjo so I don't know how different it looks in that game. When importing the .obj file, I actually scaled down the vertex to 70% of the original size to avoid the invisible boundaries problem. I also noticed that at some points you just fall through the floor, but I thought it was a problem with my importer.


You may want to take a look at this to see how the level is supposed to look: http://img26.imageshack.us/img26/5456/clipboard01jcg.jpg

First there's the vertex coloring that's missing (it's not in the .obj file and I'm not sure the .obj specs support vertex coloring). SM64 can do vertex coloring, but I'm not sure it can do the same kind of coloring. Then there are the higher resolution textures, but what's really impossible to do in SM64 can be seen on the bottom left and middle right. The BK engine can gradually fade between two layers of textures. The leave pattern on the left is actually on top of a brown ground pattern and it fades between the two layers at places.

I checked the collision map my importer generated and it looks normal, there's no missing triangles. The SM64 collision engine is definitally flaky. I can't imagine how many hours they had to test every single levels to find holes in the collision maps. I would venture to say that the levels that were cut from the final game were cut not only because of space, but also because they were the ones that probably still had collision problems.





____________________
BigBrain
Member
Level: 22


Posts: 60/85
EXP: 55319
For next: 3031

Since: 09-10-08


Since last post: 8.9 years
Last activity: 6.8 years

Posted on 10-13-09 10:04:39 AM Link
That's really too bad the SM64 engine does not support vertex diffuse colors - that's really a great limitation in the matter of level details...
With some manual tuning you could still get the path to show up though, just use a separate texture for it... Of course, the grey floor texture just needs to be premultiplied with the actual vertex diffuse color, as well as any other texture that expects the vertex diffuse colors to be available (this is about any texture as far as I could see, just look how the terrain is much more saturated in BK).

Cool to see how the SM64 still can handle this kind of levels though, keep up the good work
messiaen
Catgirl
Level: 68


Posts: 673/1085
EXP: 2596344
For next: 132456

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 10-13-09 01:28:27 PM Link
Originally posted by VL-Tone
I checked the collision map my importer generated and it looks normal, there's no missing triangles. The SM64 collision engine is definitally flaky. I can't imagine how many hours they had to test every single levels to find holes in the collision maps. I would venture to say that the levels that were cut from the final game were cut not only because of space, but also because they were the ones that probably still had collision problems.


Another possibility is that there is a limit for collision triangles. An easy way to test this would be to invert the face order and see what happens. If the falling spots change, it's a limitation of the game. By the way, since video emulation is all high level we many never know for sure about polygon count limitations.
xdaniel
980
Level: 64


Posts: 16/982
EXP: 2153607
For next: 60490

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 26 days
Last activity: 3 hours

Posted on 10-13-09 07:51:30 PM (last edited by xdaniel at 10-13-09 06:00 PM) Link
*randomly drops in*

A question/comment about the SM64 engine not supporting texture combining and such: The SetCombine graphics command (0xFC) which is responsible for such things as multi-texturing, is a shared command between many if not all microcodes, and thus Mario's Fast3D microcode should in theory support everything it allows, too. Actually, if the logs of my old MariOZMAV viewer are to be trusted (and, at least in this case, I do so), Mario 64 does even use the command - not for multi-texturing maybe, but it does use it somehow.

I'm not saying that Mario 64 MUST WITHOUT FAIL!!11 support multi-texturing or other advanced rendering techniques, but I guess it might be worth trying out?

EDIT:

The Zelda OoT Debug ROM's test map imported via messiaen's Wavefront importer, some badly patched together combiner setup lifted from OoT's Hyrule Field's grass and 45 minutes of hacking around:


Two more screenshots: http://magicstone.de/dzd/random/sm64_comb2.png & http://magicstone.de/dzd/random/sm64_comb3.png

Doesn't look pretty, but Mario 64 is able to do multi-texturing. Also, the relevant part of the display list, as MariOZMAV spits it out:

  0x00008858:	F3D_TEXTURE          		[BB000002 FFFFFFFF] -

0x00008860: G_SETTIMG [FD100000 09006000] -
0x00008868: G_SETTILE [F5100000 07000000] -
0x00008870: G_LOADBLOCK [F3000000 073FF100] <unemulated>
0x00008878: G_RDPLOADSYNC [E6000000 00000000] -
0x00008880: G_RDPPIPESYNC [E7000000 00000000] -
0x00008888: G_SETTILE [F5101000 00014050] -
0x00008890: G_SETTILESIZE [F2000000 0007C07C] -
0x00008898: G_SETTIMG [FD100000 09005000] -
0x000088A0: G_SETTILE [F5100100 07000000] -
0x000088A8: G_LOADBLOCK [F3000000 073FF100] <unemulated>
0x000088B0: G_RDPLOADSYNC [E6000000 00000000] -
0x000088B8: G_RDPPIPESYNC [E7000000 00000000] -
0x000088C0: G_SETTILE [F5101100 01014050] -
0x000088C8: G_SETTILESIZE [F2000000 0107C07C] -
0x000088D0: G_SETCOMBINE [FC267E04 1FFCFDF8] <unemulated>
0x000088D8: G_SETPRIMCOLOR [FA000000 FFFFFFFF] -
0x000088E0: <unknown> [FB000000 80808080] -


("unknown" being G_SETENVCOLOR, btw)

Hope this helps somehow and/or... wasn't already known? ^^"


____________________
cu xdaniel
Gecko
Member
Level: 25


Posts: 54/113
EXP: 83090
For next: 6530

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 10-15-09 04:10:34 PM Link
I just had another idea while viewing your latest videos. Maybe it could be useful being able to create prefabs which means putting two or more items together in a speacial manner saving them onto a "prefab slot". The next step would be selecting a prefab slot and create a copy of the very same object combination, e.g. a tree with a red coin on its top which could save everyone some time. Prefabs could be sharable so everyone could import prefabs created by other users, analogous/similar to your TT64 level file standard.
Lyskar
12210
-The Chaos within trumps the Chaos without-
Level: 192


Posts: 3534/12211
EXP: 99321457
For next: 552114

Since: 07-03-07

From: 52-2-88-7

Since last post: 7.4 years
Last activity: 7.3 years

Posted on 10-17-09 12:40:06 AM Link

Time/Date

&date&

Posts

&numposts&

Days Here

&numdays&

Level

&level&
Metal_Man88
Local Moderator
Suvo's junk posts in here have been deleted. He should really post them in the question/ suggestions thread, not here.



____________________
Original Layout © Tobias Kelmandia
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 538/621
EXP: 1136491
For next: 20628

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 6 days

Posted on 10-18-09 05:30:04 AM Link
Time: One second ago - Date: Tomorrow - Weather: Sunshine - Mood: Moody Answer to the universe: Yes
Welcome back xdaniel!

The thing is, despite having done a SM64 geometry decoder and an importer in TT64, I don't have a very deep knowledge of the actual GBI commands. Most of the reverse-engineering I did was through deductions and experimentation. So I'm not sure I understand how this SetCombine command works and how did you use it in your example. One thing I know is that what the Banjo Kazooie engine seems able to do is use two textured polygon layers and fade between them at the polygon level (not the texture level). It's kind of like they used vertex coloring but with an alpha channel.

Originally posted by Gecko
I just had another idea while viewing your latest videos. Maybe it could be useful being able to create prefabs which means putting two or more items together in a speacial manner saving them onto a "prefab slot". The next step would be selecting a prefab slot and create a copy of the very same object combination, e.g. a tree with a red coin on its top which could save everyone some time. Prefabs could be sharable so everyone could import prefabs created by other users, analogous/similar to your TT64 level file standard.


That's a good idea which I will probably implement in a future version. That makes me think: one of the interesting side benefit of the level file feature in the importer (which can contain objects from a level too, aside from the import parameters, the .obj file and textures.) is that clever people with some programming experience could feed mathematically calculated object positions in TT64.

Remember that first "flatworld" youtube demo I posted with the boxes making a spiral path? http://www.youtube.com/watch?v=SU6cIPdGllU. Some people were wondering how I did place the boxes in such a perfect spiral. It was easy for me since I have access to an "open version" of TT64, and I simply made a simple routine that uses SIN and COS to place the boxes at the right position in space.

With the "open" nature of the custom level file format in TT64 0.6 (which is a text file) some clever programmer could generate a level file that places objects in a level in a circle or whatever shape they want without having to move them manually in TT64. Here's an idea: someone could make a program that writes any text message you want in a level using coins (that reminds me of a program I did that would write messages in Starfox using asteroids).

____________________
xdaniel
980
Level: 64


Posts: 17/982
EXP: 2153607
For next: 60490

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 26 days
Last activity: 3 hours

Posted on 10-18-09 08:36:10 PM Link
Originally posted by VL-Tone
Welcome back xdaniel!

The thing is, despite having done a SM64 geometry decoder and an importer in TT64, I don't have a very deep knowledge of the actual GBI commands. Most of the reverse-engineering I did was through deductions and experimentation. So I'm not sure I understand how this SetCombine command works and how did you use it in your example. One thing I know is that what the Banjo Kazooie engine seems able to do is use two textured polygon layers and fade between them at the polygon level (not the texture level). It's kind of like they used vertex coloring but with an alpha channel.


With the fading in BK you describe, do you mean ex. the fade-out at the level edge that can be seen in the Bottles' Glasses screenshot you've posted above, http://img26.imageshack.us/img26/5456/clipboard01jcg.jpg ? If it's that, I'm pretty sure that this actually isn't created by the combiner, because Bottles' Glasses doesn't even emulate it (as far as I can see from the program's source that cooliscool released some time ago).

Also, something I've been working on for a few days now: http://z64.spinout182.com/index.php?topic=391.0 - it's a tool that allows experimenting with and previewing combiner setups. Might be useful if anyone wants to mess with the combiner or so

btw, another multi-texturing experiment, this time using Flatworld as the base (which is way easier to work with instead of an imported Wavefront model in this case): http://magicstone.de/dzd/random/sm64_newcomb.png


____________________
cu xdaniel
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 540/621
EXP: 1136491
For next: 20628

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.7 years
Last activity: 6 days

Posted on 10-19-09 06:36:26 AM Link
Time: One second ago - Date: Tomorrow - Weather: Sunshine - Mood: Moody Answer to the universe: Yes
Originally posted by xdaniel
With the fading in BK you describe, do you mean ex. the fade-out at the level edge that can be seen in the Bottles' Glasses screenshot you've posted above, http://img26.imageshack.us/img26/5456/clipboard01jcg.jpg ? If it's that, I'm pretty sure that this actually isn't created by the combiner, because Bottles' Glasses doesn't even emulate it (as far as I can see from the program's source that cooliscool released some time ago).

Also, something I've been working on for a few days now: http://z64.spinout182.com/index.php?topic=391.0 - it's a tool that allows experimenting with and previewing combiner setups. Might be useful if anyone wants to mess with the combiner or so

btw, another multi-texturing experiment, this time using Flatworld as the base (which is way easier to work with instead of an imported Wavefront model in this case): http://magicstone.de/dzd/random/sm64_newcomb.png



I was talking more specifically about these parts:

Looking at the level in TT64, I can see (because of the flickering in those areas) that there are two polygon layers precisely on top of each other, with different textures. What you can see in the game and in these screenshots is that the ground fades smoothly between these textures in a similar way to vertex coloring. The version imported in SM64 only shows the top polygon layer.

Your program looks very interesting, it might help me understand this SETCOMBINE command better. I still don't have a suitable "transparent texture" header to be used in the importer, and I'm sure this command is involved in making the engine use the alpha channel from textures.

I might not include the transparency option in 0.6b, because I expect some big problems with mixing non-transparent and transparent textures. In SM64, parts of the level that are using alpha textures are drawn separately using their own 0x15 commands, which include a value that specifies the "drawing layer". Tree shadows, fences, windows on the castle, the rest of the levels are drawn on 4 separate layers. I presume that without this separation into layers, the engine will run into serious z-ordering issues. Shockwave 3d (the 3d engine used in TT64) has similar issues with transparent textures, but unfortunately no way to control the z-ordering at the polygon level (I mostly avoid these issues in TT64 by splitting the level into polygon chunks, but if you take a look at the Tick-Tock Clock level in TT64, you'll see that there are sill issues).

So to avoid these problems I would have to do a major rewrite of my importing code, as well as figuring out how to use this drawing layer value.




Now here's some progress update:



This is the latest version of the importer interface.

When you click "Save level to ROM" you'll be presented with this dialog box:

Before saving you'll have to choose in which level slot you want to save it, and which level in the game it will replace.

The "Manage Level Slots" button will present you with a similar interface, but will be used to change the replacing levels for levels already saved in slots.

The "Empty Objects Only" option will save your level with empty 0x24 objects. The number of objects can be set.

The "Keep existing objects" will keep the objects found in the slot you're saving to.

And lastly, the "Use Objects From File" will use the objects found in the current level file (the number of objects found in the file is in parenthesis).

By default, objects won't be saved in the level file. Automatic saving of the objects in the file had too many potential problems. While it's obvious that when you just saved a level in slot 2, that you want objects from slot 2 to be copied in the level file, if you open another ROM where there's another level in slot 2, TT64 would save the wrong objects. That's why you can only save objects in the level file when you check the option ("When Saving Level File Also Copy Objects") which btw has the checkbox missing in the screenshot. And when you do use this option, you'll be presented with a dialog where you choose/confirm which slots you want to copy the objects from.

It sounds a little complicated, but keep in mind that the only time you'll want the objects copied in the level file is when you want to move a custom level from one ROM to another (or from one slot to another), with its objects intact. You don't need a constantly updated copy of the objects in the level file for this purpose, and you can always go back to copy the objects even if you forget to check the option, because those are saved in the ROM when you edit them in the main level editor module.

Normally, what you'll want to use is the "Keep Existing Objects" option, so if you change your .obj file and reimport the level, the objects that were already in the level slot will remain.

Note: I just realized that the "Polys:" count in the screenshot is wrong, it should read 3136 polys (triangles) for this level.





____________________
Rez2
User
Level: 13


Posts: 9/24
EXP: 8080
For next: 2187

Since: 05-27-09

From: England

Since last post: 10.6 years
Last activity: 4.2 years

Posted on 10-19-09 07:10:03 PM Link
That looks really good now VL-Tone. I don't know if you already talked about this or not, but can water be added?
cooliscool
User
Level: 9


Posts: 1/11
EXP: 2477
For next: 685

Since: 09-15-09


Since last post: 12.5 years
Last activity: 12.3 years

Posted on 10-19-09 07:16:54 PM (last edited by VL-Tone at 10-19-09 07:48 PM) Link
Originally posted by VL-Tone
Originally posted by VideoGuy
Wow, that was amazing. I can see SM64 hacking becoming a lot more mainstream with this tool. It's good to see the SM64 engine can support a model like that without lagging, it gives me more confidence in the stuff I'm making with Blender.

I'm guessing from that video that TT64 doesn't use alpha when importing textures? Or was that the fault of the texture?


It's planned that TT64 v0.6b will be able to use the alpha channel for textures, but it doesn't currently. I didn't check, but I'm not sure that the texture provided for the BK level had their alpha channel (which by the way in SM64, is only 1-bit for color textures)

Originally posted by unintelligentgenius
Hey VL (I'm new here), I was wondering, what's a good face count on a new obj. imported into Toad's Tool?
Also, you can delete and replace mesh terrain, right?

Edit: Also, how do you make invisible walls? I assumed using a mesh with just an completely alpha'd texture.
Is that right?


Hi unintelligentgenius, welcome to the forum. I would say that you should be safe with around 3000 faces, but I haven't done extensive tests yet. This level is more than 4000+, but I didn't put any enemies.

Originally posted by messiaen
I was going to ask you about this , I noticed that only half of the level shows up in TT64. The Spiral Mountain looked very nice, I haven't played Banjo so I don't know how different it looks in that game. When importing the .obj file, I actually scaled down the vertex to 70% of the original size to avoid the invisible boundaries problem. I also noticed that at some points you just fall through the floor, but I thought it was a problem with my importer.


You may want to take a look at this to see how the level is supposed to look: http://img26.imageshack.us/img26/5456/clipboard01jcg.jpg

First there's the vertex coloring that's missing (it's not in the .obj file and I'm not sure the .obj specs support vertex coloring). SM64 can do vertex coloring, but I'm not sure it can do the same kind of coloring. Then there are the higher resolution textures, but what's really impossible to do in SM64 can be seen on the bottom left and middle right. The BK engine can gradually fade between two layers of textures. The leave pattern on the left is actually on top of a brown ground pattern and it fades between the two layers at places.

I checked the collision map my importer generated and it looks normal, there's no missing triangles. The SM64 collision engine is definitally flaky. I can't imagine how many hours they had to test every single levels to find holes in the collision maps. I would venture to say that the levels that were cut from the final game were cut not only because of space, but also because they were the ones that probably still had collision problems.






Yeah, OBJ doesn't support per vertex coloring. I could potentially "emulate" it using a color map but that would make the resulting file huge. I could add the RGBA values (8-bits each) to the file as comments which you could read in; and I eventually want to switch to VRML which supports them natively. I can also have it export combiner MUXs as comments for use in your importer. As Xdaniel said, the color combiner commands are globals, all ucodes can use them to the same extent.

The .png textures that BG makes do have their alpha channels (thus why they're PNG).

Edit: Here's a new obj file with vertex RGBAs and precompiled SETCOMBINE commands.

How to interpret them (they're formatted like any other .obj command, space delimited):




vc r g b a - vertex colors, as floats. Multiply by 255 to get 8-bit integer values. They share indices with vertices and texture coords.
cmb command - compiled color combiner (0xFC) command for the current group; stays the same for subsequent groups until the next instance.
BK doesn't use SETPRIMCOLOR, SETENVCOLOR, or SETBLENDCOLOR, combiner generation relies solely on vertex shading, texel0 and texel1.

Pages: 1 2 3 4 5 6 7 8 9 10 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28Next newer thread | Next older thread
Jul - SM64 Hacking (Archive) - Toad's Tool 0.6.0 (On hiatus for an indefinite amount of time) New poll - New thread - Thread closed


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

43 database queries, 8 query cache hits.
Query execution time: 0.174987 seconds
Script execution time: 0.055186 seconds
Total render time: 0.230172 seconds