This is really cool! I'm sad I won't be able to use Yanfly's doodads anymore but seeing the game in 3D is really amazing. You did a really good job on this!
MV3D - 3D rendering for RMMV with Babylon.js
● ARCHIVED · READ-ONLY
-
-
I'm not done working on the dynamic lighting yet, but I decided to release an update anyway to fix the bug.
:rock-right::rock-left: -
I JUST WANT TO SAY, I WAS NOT EXPECTING THIS SKSKSKS
Also, the shadows look gooooooooood! It is kinda weird that the ceiling is not shaded but I know that's WIP; this plugin is SOOO amazing. I'm blown away.
The performance after the update improved so much, too, it's almost perfect. It still gags a little here and there but I'm surprised by how well the outside map performs! This is so wholesome!
In fact, I'm getting a consistent 30fps at 1080p. Really impressive. To think vanilla scriptless would give me 5fps at an empty map a few years ago...
Now, the weird thing, though. At 180p (a little less than the PS1), some artifacts appear in the textures.
I think this may have to do with the sampling algorhithm for the textures or something, and thus nothing to do with the plugin itself. (I notice some weird issues on vanilla mv here and there too, regarding spritesheet slicing and resampling)
Still, I think it's a good idea to test the engine in low resolution too! I'm sure people would be interested in trying a more psx-like DraQue7 aesthetic or something. -
Is there a possibility to disable the plugin and return to the original Rpg Maker maps within the game? Switch to 3D only on some maps, such as World Map and 3D Dungeons, with common maps at certain times? Or once activated, the entire game should be in 3D?
-
@JosephSeraph
The artifacts are caused by mipmapping. They also appear at higher resolutions with long render distances. Mipmapping can be turned off in the plugin parameters for now, but I plan to add options for the player to turn it off in the options menu too.
@Raphael Lourenço
Yes, I just added this feature :)
map config:
<mv3d>disable()</mv3d>
or, plugin command:
mv3d disable
mv3d enable
I removed the dynamic shadows from the latest build because it's not ready yet. I'll put them back in as soon as it's ready.
Actually, I was thinking of adding some patron-only features to add incentive for people to support the plugin. And I was thinking of making the dynamic shadows the first patron feature.
Also, I'm going to start work on the slope tiles soon. -
@JosephSeraph
@Raphael Lourenço
Yes, I just added this feature :)
map config:
<mv3d>disable()</mv3d>
or, plugin command:
mv3d disable
mv3d enable
Wow, that was quick! I'll have to try it out, thanks ^.^.
A note on reloading saves: loading a save while starting a new game or already playing through a save causes a glitch where it doesn't load the save, and instead freezes the player in the current map with a few things jumbled around. -
@Danielcross
It should be fixed now. -
Interesting..
Is there any way to make it to where a player can climb one of these tileset objects? and also, is there any way to set the camera on a fixed position that cannot be changed? If so, please tell me how. -
@Danielcross
It should be fixed now.
Thanks! The enable/disable function works perfectly. The save function also seems to be working as intended, although it is not compatible with Yanfly's save plugin (saves have to be loaded from the title menu or they don't load correctly, or Yanfly's save core might be interfering with maps loading). -
Interesting..
Is there any way to make it to where a player can climb one of these tileset objects? and also, is there any way to set the camera on a fixed position that cannot be changed? If so, please tell me how.
Not intended, but some pixel movement plugins (san_analog) allow players to scale tiles unless it's marked unpassable. However, pixel movement mods are not compatible with the camera. -
well I mostly just mean setting the camera this plugin has to a fixed position, that'd be really neat for making a game in a certain style.
-
If it isn't possible, maybe that should be a feature in the next update? I was thinking of ideas of making a game of mine in a 3d fixed position so that would be cool.
-
@Frastrud
There's a plugin command to change the camera's target. For example, to target event 11:
mv3d camera target @e11 0
The last parameter (0) is the time in seconds the camera will take to switch to the new target. 0 is instant. -
Ooh, disabling it for certain maps is a great addition for me, since I was planning on using first person mainly in dungeons... I mean, I could just fix the camera, but disabling the plugin for cutscenes is even easier
-
@Frastrud , please avoid double posting, as it is against the forum rules. You can use the "Edit" function on your posts to add additional information you've forgotten or respond to multiple people. You can review our forum rules here. Thank you.
If you want to add something after you posted, please use the 'Edit' button to do so next time. -
Oh, this reminded me...
@Frastrud that is already there. You can set the camera's position through map notetags or change it through plugin commands, and you can just disable rotation and pitch mode so the player can't move it (these ones I think it is only through plugin parameters and plugin commands though), and if you don't even want it to follow the player just target it on an event, but this one you can only set through plugin commands... -
Big post with comments on the plugin so far. None of these are requests, just ideas and observations, sorry if it's too much lol.
SpoilerI was wondering, is there a way to set a default Sprite Size for all sprites? I wanted it to be 2.0 (seen in the event) but it's 1.0 on all sprites by default. (especially the player sprites).
Another interesting option would be to force it to render in low resolution! This way you could overlap a low resolution PSX-ish graphic with a high resolution UI for example. (Especially since low resolution UI doesn't really play nice on MV.)
BTW, if anyone wants to use this sprite for testing this script, feel free to.
(this is not free for commercial use or, in fact, for any use other than testing this engine. I might make some stuff in this style in the future. Anyway just message me if you wanna use this or idk)
Additionally, is it me or there's a limit to the maximum amount of lights a map can display? When I added the fourth light, the player's light stopped emitting.
I actually reduced Cell Size to 1 because I want that ps1 low poly look (i dont know if that's where you change that) so more lights should be, in theory, not very heavy. Especially since cast shadows are disabled.
edit: uhnm.... its... a feature request sorry
But!! One thing that would make this look really nice would be a simple dither pattern on top of everything, like a few ps1 games did, too.
(an example of that being emulated via Show Picture command, although the Multiply blend mode isn't the best for this):
edit2:
Sorry for bothering with so many things but... Another thing which may improve the script:
Gradient mapping to the fog, or at least an option to apply alpha fading to the geometry as it gets close to the render threshold (although that may bring its own slew of issues):
Fog can look really nice to add some atmospheric effects such as this but then the render threshold just comes along and BAM. If there was some sort of way to fade to blue and then to black before hitting the threshold... -
@JosephSeraph
hmm... about setting the scale as 200% by default, I am already surprised she put scale changing as an option at all. You'd usually need an external plugin to do that in normal games, after all.
I don't think many people would use it like you do, making all events be stretched by default... most would rather resize the event, I think. At least I did when I wanted to use rm2k assets in my mv project to give it an Earthbound feel.
Lights being limited are new to me, but I didn't use them myself yet.
A dither effect... I can see how some would enjoy it, Irina has a few plugins with visual effects after all... but I think that is the kind of thing you should be looking for, someone doing visual effects, not an addition to this one.
I can see the good of the fog effect you are talking about... I actually didn't use fog before then because I hadn't seen (or at least noticed) the effect, so this is what it is for... avoid that white light on the border of my test map when it is too far from the camera... I actually thought it was something like Kaz' fog effects... -
I don't think many people would use it like you do, making all events be stretched by default...
To be honest, it's kind of the other way around. If you see, the script assumes you're using an HD resolution, so the sprite will look 100%-sized on that resolution only. If you make the resolution smaller (and by that I mean the size of the tile the camera is focusing on, so that also applies if you're just making a game with a zoomed off camera) the sprite will be squished down when rendering. Which, I understand why it works, I just made an improvement suggestion because if there's a plugin command for changing the sprite size, implementing a default sprite size setting (instead of making it hard-coded) shouldn't be too hard.
Difficult to say, by the nature of this plugin I don't think it'll be too compatible. (testing required on my end) I do understand your point though.not an addition to this one.
But yeah, these are all suggestions and observations only, not requests :) -
@JosephSeraph hmm, did you try changing the camera distance? although, that one does not have a default on the plugin parameters so it would probably be a good thing to add it...