Register - Login
Views: 99796484
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-03-22 05:41:15 AM
Jul - Posts by Gecko
Pages: 1 2 3 4 5 6
Gecko
Member
Level: 25


Posts: 21/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-25-09 02:44:27 PM, in Post your SM64 mods, patches and screenshots here! (NO ROM LINKS!) (last edited by Gecko at 04-25-09 01:38 PM) Link
Edit2:

Here's the finished map. I've added some routes around the "skyscrapers" and everything now has a UV map.
Finished map - Blender, .obj and material files

Will be back by tomorrow.



older Edit:

Got it finally working: Final obj with UV map, normals and materials
Hope this one works.




Old post:
This one could work, I'm still working on the UV map and at least it works with two materials at the moment.

http://depositfiles.com/files/a808msuzu

These are the export options:
Gecko
Member
Level: 25


Posts: 22/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-26-09 09:11:30 AM, in Post your SM64 mods, patches and screenshots here! (NO ROM LINKS!) (last edited by Gecko at 04-26-09 07:07 AM) Link
Originally posted by VL-Tone
One other setting that should be on is "triangulate", as the TT64 importer can't deal with polygons with more than 4 sides (triangulate will produce only triangles).

Question: did you create the "Materials" folder yourself or was it created by blender? The .mtl file contains the texture filenames, but without the \Materials\ folder needed to find them.


I created the materials folder by myself. Blender simply outputs the texture name without folder paths.

Originally posted by VL-Tone

Here's how it look in the importer, with only one texture:



On the sides of the "skyscrapers", some parts of the texture are smeared up to the point of becoming lines instead of a mesh, is it a problem on your side or in the importer? (I couldn't make the textures appear in blender to compare).

This is probably caused by flipped normals. Only the top side of a plane can be assigned a material wheras the bottom side always is invisible, because you won't ever see it ingame, unless you leave the map boundaries, of course.
When opening the map inside Blender, I cannot see a flipped normal (invisible face), but let's see how we can fix this issue:






Originally posted by VL-Tone

I'm going to use your model to try to implement multi-texture importation directly using the .mtl files. I'll keep you updated with the results...

Edit:

Hmm... That looks more like it?




Yes, absolutely. Nice to see, that you're getting different materials into a working state.
It's also nice to see that materials/textures can be scaled down already. Blender simply scales the original 32x32 texture up onto all faces.

For those who do not unterstand why the assigned textures look so ugly, when I created the UV map, I simply assigned materials to the faces without scaling or aligning them and choose different looking textures in order to distinguish the UV groups. When importing the .obj file into the editor, it should not matter which textures originally were assigned, because that will be changed inside Toad's Tool.


Originally posted by VL-Tone

I'm sure there are some bugs to be fixed, but at least it shows that I can do direct texture importing using .mtl files (note that I already wrote some code a while ago to do most of the work).

Before you guys get too excited, this is from the 3d preview in the importer, there are still a few things to be done until I can have this model inside the game, though the multi-texture aspect is not complicated to implement when generating the SM64 drawing lists.

I'm excited, because you're doing great work on your editor taking every step needed to develop the .obj importer into a working state.
Gecko
Member
Level: 25


Posts: 23/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-26-09 10:04:09 AM, in Using Blender (last edited by Gecko at 04-26-09 09:23 AM) Link
Originally posted by VL-Tone

That being said, I'm reconsidering the possibility of importing textures directly using the .mtl file. What I'll do is simply extract the filename from the path (if it's absolute) and try to open the texture file in the same folder as the .mtl file. I may also add support for a texture folder, which may be called "Materials", but this name will be hard-coded. TT64 will first try to open it in the same path as the .mtl file, then try the "Materials" folder. If it fails there won't be any recursive search. Director doesn't have built-in commands to achieve it, and it would require yet another plug-in, which may or may not be free.

This will force users to make sure that their textures are in the same folder or in a folder called "Materials".


One additional way of importing obj files I thought of, after having read some posting from you about the obj importer, was using the mtl file just as indicator that there are vertex groups with materials making TT ask you which texture from the ROM file to assign to these vertex groups with the option of loading new texture files into the ROM.


or:
Gecko
Member
Level: 25


Posts: 24/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-26-09 10:23:23 AM, in ToadsTool Suggestions Link
It would be nice having an indicator for Mario's size when importing an .obj file being asked to scale the level geometry.
Gecko
Member
Level: 25


Posts: 25/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-26-09 10:26:41 AM, in Using Blender Link
Give me a little time and I will try to make a tutorial.
Gecko
Member
Level: 25


Posts: 26/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-27-09 07:38:13 PM, in Using Blender (last edited by Gecko at 04-27-09 04:42 PM) Link
Originally posted by VL-Tone
Gecko, the second screenshot is exactly the kind of interface I was planning to build. And a similar interface will be needed anyway since there are some additional parameters to be set for each texture even when they're automatically imported using the .mtl file. "Use transparency" for example, and other parameters that may be added in the future that are particular to the SM64 engine and are not easily transferable using the .obj file format.

The test maps from Mario 64 DS (video link) give a good overview on the texture attributes and ground types. The player reaches these at about 1:30 in the video where you will see those kanji on the ground.
Are these attributes already connected to the existing textures in the game or do these always have to be applied anew when assigning textures in a newly imported level?
The first point would be the easier way, because that would mean once one's importing a new texture he could be asked which attribute to apply to the texture instead of having to change attributes whenever he's applying a texture to a vertex/material group when importing a new .obj file.

Originally posted by VL-Tone

The main difference though, is that to stay consistent with the way the importer works, texture will be managed inside the level file not inside the ROM, since the former which contains everything needed to create your levels. The textures are only saved to the ROM when you save your level there, with the rest of the data.


With regard to your container based level file system (.T64 level file), that will be the best option. Will you be able to extract all files from your level container once it has been created (extracting .obj and material files and so on)?

Assuming that I'd like to load a level from the ROM without having any of its original data, because that level was created by someone else, for instance, will it be possible to create a container from a ROM level file by which I mean reversing the whole process? If that reversed process would mean too much programming, maybe it could be useful having a copy of the container (.T64 level file) inside the ROM making it possible to extract it easily if intended.

Originally posted by VL-Tone

So instead of "Select texture from ROM" and "Load new texture into ROM", I'll put an "Import Texture" and "Export Texture" that will import/export textures from external bitmap files.

Here's how it will work:

-You open the ROM in TT64.
-Go to the level importer.
-Create a new level file (or open an existing one)
-Import an .obj file.
-Materials are listed.
-If the importer can find the texture files using the .mtl, those are imported and automatically associated with the Material groups.
-If the importer cannot find the external textures using the .mtl, blank/default textures will be used.
-You can then manually import textures into materials whether the textures where already imported or not.
-Save the level file.
-Save the level to ROM.

Now... it all seems easy until this problem arises:

The .obj data, all the importing parameters (scale, offset, banks etc.) and the texture themselves as well as their names are all saved into the .T64 level file.

The idea is that this file can be used to recreate the level inside another ROM, or if you want to update the .obj data for a given, you don't have to set all the import parameters all over again.

But let's say you open a level file where you manually imported textures. Once you open it, everything will be fine, the textures will be automatically associated with the materials etc. But what if you want to update the .obj data? You can hit the "Import .obj" button and do that....but the default behavior will be to completely replace the current textures and materials with those found using the .obj and .mtl files, so you lose your custom textures and will have to reimport/associate each of them again.

I guess I can make a "keep existing textures" checkbox so that when you import an updated .obj you can keep those that were originally in the level file. But what if either the material or texture names have changed since the last import? TT64 won't be able to associate these textures and they'll become inaccessible via the interface.

Anyway, I'm not saying it's impossible to deal with these problems, but it certainly makes it more complicated.

Reassociating textures to a vertex/material group from the .obj file will not be too much work since there will be just as few as maybe 15 textures inside a level.
I think that attributes, scale and so forth could be connected to the texture which will finally be associated from the ROM. As soon as you are assigning that texture to a vertex/material group again, its attributes will be applied.

1. import obj
2. assign "grass" texture to "material group 2"
3. scale, rotate it... for instance there will be the following values: "scale 3", "rotate 167"...
4. save .T64 level file.

Now these attributes "scale 3" and "rotate 167" will be connected to the "grass" texture inside the .T64 level file.

5. open .T64 level file
6. import an updated obj overwriting the old one - now all materials will have to be reassigned
7. assign "grass" texture to "material group 5"
8. user will be asked to apply existing attributes

As soon as the "grass" texture would be assigned to more than one material group, both attributes would have to be saved into the .T64 level file. When the user updates the object file and applies the "grass" texture onto a material group he will be asked if he wants to adopt the first or second (or third or fourth...) attribute data with the possibility of previewing each settings.

This will only make sense as long as there will not be 130 material groups of which 25 would be assigned the "grass" texture.
Gecko
Member
Level: 25


Posts: 27/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-27-09 08:13:18 PM, in Post your SM64 mods, patches and screenshots here! (NO ROM LINKS!) (last edited by Gecko at 04-27-09 05:27 PM) Link
I'm having a hard time reproducing the error and determining the cause for it in Blender after having changed the material file to a hi-res one. Could you tell me where exactly these/one of these glitches appear at?
There could probably be overlapping faces if they appeared at one of the ledges (the lower platforms in front of the skyscrapers).




RDX, I've uploaded the second tutorial which shows a basic way of creating an environment in Blender. I think it will help you creating a smaller and simpler map which is important because we will have to deal with the engine's limitations which probably would not allow for such a big map. However, I really like your idea of Mario jumping into a deep cave.
Gecko
Member
Level: 25


Posts: 28/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-28-09 07:13:49 AM, in Post your SM64 mods, patches and screenshots here! (NO ROM LINKS!) (last edited by Gecko at 04-28-09 05:53 AM) Link
Now I understand what you mean. Those are texture aligning issues which partially happened to the causes you described. I will take your suggestions into consideration an try fixing those errors.

Edit: Just found out how to scale textures down once assigned. Still, I'm looking for an easier way of selecting faces which are assigned the same texture. Does anyone know how to do it?

Edit2: Found the issue.

For some reason the vertices are overlapping on the UV map. I do not know why this happens

Edit3: The problem was how UV map coordinates were calculated. Unwrapping outputs a somehwat sloppy UV map resulting in this error.
When using a different UV calculation called "unwrap (smart projection)" which takes some processing time, it works.


Edit4: Found a tutorial for the creation of vertex groups: Vertex groups
I will redo everything on my map to fix the issue now that the cause is pinned down.

Edit5: Here's the updated Blender and obj file
http://depositfiles.com/files/rblcjwcxg



Gecko
Member
Level: 25


Posts: 29/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-29-09 03:25:49 PM, in Using Blender Link
Maybe it would be easier having TT extract all textures from the ROM saving them numerized (first texture is named 001.png and so on) inside "ToadsTool/Materials" folder allowing to use these for the creation of levels.

While creating a level with an editor (e.g. Blender), the user would take all materials out of the "ToadsTool/Materials" folder.

When TT then imports .obj and .mtl file, it would not matter if the .mtl file included absolute or relative paths, because TT would just import the image files from the "ToadsTool/Materials" folder.



I will just leave the main idea the way it is in order not to make it too complicated until you think it would be realizable.
Gecko
Member
Level: 25


Posts: 30/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-29-09 08:42:49 PM, in Using Blender Link
Originally posted by VL-Tone
Something I discovered while testing your model in the game, and it was something I already thought would happen, is that the SM64 collision engine is pretty buggy, there were a few places in your level where Mario simply fell through the ground. I'm sure that the original levels were tested again and again to get rid of these kind of issues (even modern games are throughly tested for holes/problems in the collision map).

Maybe flattening problematic triangles could help reducing the glitches. In the original game there mostly are flat surfaces unlike in my level which is pretty hilly.

At least it's nice to see that even inside the normal game this glitch still exists.
Fall through ground
Gecko
Member
Level: 25


Posts: 31/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-30-09 06:39:13 AM, in Using Blender (last edited by Gecko at 04-30-09 04:09 AM) Link
At first, I've selected all faces at once making them the first vertex group with one texture in order not to leave face unselected/untextures. Afterwards, I've created other vertex and material groups and assigned e.g. the ground to it. Those walls are the leftovers of the first vertex/material group.

I've quickly unwrapped the walls again: http://depositfiles.com/files/1z9utm5fn
If that does not work, I will have to think about something different.

Something that quickly came to my mind was how textures are projected onto angular faces, maybe there's a switch like in the Half-Life engine.

Gecko
Member
Level: 25


Posts: 32/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-30-09 07:35:07 AM, in Using Blender (last edited by Gecko at 04-30-09 11:38 AM) Link
Ok, here's the cube and I've unwrapped the vertex group again, but didn't scale the texture.
http://depositfiles.com/files/evsej0h46

Blender actually outputs negative scales depending on the scale movement. Moving the mouse left makes the scale negative and vice versa.

Edit: Taken from link

Basically if your st coordinates map linearly
to the xyz vertices, then breaking the poly into triangles to scan convert
will produce consistent and correct results. However, if your st coordinates
map non-linearly, then tessellating into triangles will produce different
results depending on screen orientation of the geometry.

Maybe the .obj export produces some errors. I've tried to other export options of which the first leaves triangulation off (the map already has all quads converted to triangles making the triangulation option probably redundant) and the second file output uses the HQ normals option.

http://depositfiles.com/files/ypo8potg1

I've created a new vertex group/uv map for the skyscraper's walls and every UV map now is redone:
http://depositfiles.com/files/r3hq4bq2h
All other export options are as usual.
Gecko
Member
Level: 25


Posts: 33/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 04-30-09 03:54:44 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Nice, cannot wait to play something completely new.
Gecko
Member
Level: 25


Posts: 34/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 05-01-09 08:57:21 AM, in Using Blender (last edited by Gecko at 05-01-09 06:06 AM) Link

some texture on the sides begin to get screwed much like they were with the other bug.


This must be an error in my level. Have you tried importing the latest obj file into Mario64?

The former obj file included some faces with scaling issues like on this screenshot:

If you look at the top, there's a face with a wrongly scaled face next to the "entrance" of the walk-in skyscraper. I had created an uv map for each of the wrongly scaled faces and they had different scaling values.

The latest .obj should have most if not all UV map problems fixed.
Gecko
Member
Level: 25


Posts: 35/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 05-01-09 08:26:25 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Originally posted by messiaen
Thanks to RDX, I'm done with the custom music, there is even an original song composed by me (I showed an early version of it in the first pages of this thread, but it has been expanded and improved).

Along with the release package, I will include Cellar Dweller's "alternate" ROM extender, so that Linux folks can play it too plus all the "source code" for the hacks used in the game. I'm sure some snippets will be useful for future hackers.

Also, I have a question. I'll upload a YouTube video with a tutorial on how to extend, patch the ROM and set up the extension pak memory on Project 64 and I'm wondering what can I do to ensure my video will be available as high definition? The normal Upload Video feature doesn't seem to have a checkbox for it.

Good news!
Unfortunately, the HD option is only available to US citizens, but that will be widened in the future.
Gecko
Member
Level: 25


Posts: 36/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 05-02-09 06:50:25 AM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Originally posted by messiaen
I haven't recorded the video yet, but maybe the problem is with encoding. After the capture, I use VirtualDub to compress the video with the DivX codec. The quality is ok, but once its uploaded it gets much worse, perhaps I should send the video uncompressed and it will retain more of its resolution? All I want to avoid is a blurry video.

The YouTube manual recommends using a resolution of 640x480 for HQ videos, unless you upload a video using the HD option.
Gecko
Member
Level: 25


Posts: 37/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 05-03-09 12:10:58 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Wow, your game is so wonderfully designed. I love the day and night circle and how tasks differ due to day time. Also, the star counter is really useful especially since startup screens aren't supported, yet.
Gecko
Member
Level: 25


Posts: 38/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 05-03-09 12:51:58 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) (last edited by Gecko at 05-03-09 10:40 AM) Link
Which of the songs did you compose? I do not recognize every tune in there coming from other games, maybe I already missed it without knowing. ^^
Gecko
Member
Level: 25


Posts: 39/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 05-06-09 12:09:43 PM, in Super Mario 64: The Missing Stars RELEASED! (Download link on first post) Link
Camera changes aren't possible, yet. You'll get better results with the Mario-tied camera. Press R and then C-down.
Gecko
Member
Level: 25


Posts: 40/113
EXP: 83089
For next: 6531

Since: 03-27-09


Since last post: 9.1 years
Last activity: 7.7 years

Posted on 05-20-09 11:07:01 AM, in Toad's Tool 0.6.0 (On hiatus for an indefinite amount of time) Link
First of all, you did a great job on that GUI building it, from my perspective, as user friendly as possible. It's definitely worth the noble price. Good to see that you've already included terrain types.

Regarding the ROM extension, would it be possible to have different sizes?
I'd prefer 32MB, because it's a size found in many other games like Zelda. It would leave the possibility open to play the game on real hardware, either through a Z64 or maybe an altered cartridge.
Other than that, bigger is better. 48MB with 18 * 1,5MB slots allowing for custom backgrounds sounds good!


Pages: 1 2 3 4 5 6
Jul - Posts by Gecko


Rusted Logic

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

23 database queries, 53 query cache hits.
Query execution time: 0.091876 seconds
Script execution time: 0.030807 seconds
Total render time: 0.122683 seconds