MV3D - 3D rendering for RMMV with Babylon.js

seaotter

Veteran
Veteran
Joined
Mar 2, 2019
Messages
128
Reaction score
27
First Language
Chinese
Primarily Uses
RMMV
see demo files then copy demo files code to your project to run.
 

glaphen

Veteran
Veteran
Joined
Jan 13, 2019
Messages
326
Reaction score
120
First Language
English
Primarily Uses
RMMV
Decided I wanted to remake my movement into something different so I tried QMovement again as a base, a lot less laggy, the spot I was getting 20 FPS at .5 is now mostly 60 with minor dips, but loading issue still existed. I managed to fix it by using https://quxios.github.io/plugins/QM+ColliderMap
the collider map version and removing the automatic tilemap parsing.
Code:
  Game_Map.prototype.reloadTileMap = function() {
    //this.setupMapColliders();
    // collider map is also loaded here
    // collision map is also loaded here
  };
Instead of 35,000+ colliders, you can have 2 per events default and just make 1 massive collider manually where you want, ect, also fixed the z issue with walking on top of tiles after hours of trying to figure out what determined z collision looking in mv3d file, wrong place. Way less load times on big maps and probably less lag.
Code:
  Game_CharacterBase.prototype.collidesWithAnyTile = function(type) {
    var collider = this.collider(type);
    var collided = false;
    ColliderManager.getCollidersNear(collider, (function(collider) {
      if (collider.z < this.z) return false;
      collided = this.collidedWithTile(type, collider);
      if (collided) return 'break';
    }).bind(this));
    return collided;
  };
With that if you set the z in the json file you will collide with those manual tiles if you set it to slightly higher than floor z but can walk on top of the tiles if standing on them from a fall, just make sure it isn't out on flat land as if you fall on it but no tall mv3d thing to stand on you'll just be stuck, probably can make wall edges that block but to fall off when on top with it as well.
Code:
collider.z = data.z;
You'll need to add that to the collider map file at the very bottom in Game_Map.prototype.setupColliderMap
and in json make a "z" to set it or don't if you don't want it to be set for it.

Of course all of this requires the ColliderMap plugin and manual json colliders for all tile collision on every map.
 
Last edited:

Neverglow

Keyblade Master
Member
Joined
Nov 14, 2018
Messages
6
Reaction score
0
First Language
Spanish
Primarily Uses
RMMV
@Neverglow nothing to buy. the paid plugin only has extras.
on the first post there is both a link to a zip of the plugin and a link to a github folder. https://github.com/Dread-chan/MV3D
in that folder there is the plugin zip and also a demo project with examples of how it is used, with ready maps and everything (the "project" folder). plus some source files in the "webpack" folder
In the compressed file, there are only two folders (js and img). There is no project folder, could you pass me the link?
1585766633979.png
 

Yevn125

The Strongest Solo
Member
Joined
Jul 23, 2019
Messages
19
Reaction score
9
First Language
English
Primarily Uses
RMMV
@Dread_Nyanak I've read through almost half of these 52 pages of this post, and have yet to see anyone else ask about what I'm curious about lol. As such, I've decided that it might just be more efficient to ask you directly.
I'm wondering about 2 things mainly. I've already seen from the posts that Qmovement has been experimented with and that you plan on adding free movement at some point. My 2 questions are:
1. If you haven't already, do you plan on adding corner tiles and corner slopes? By this I mean a terrain tag or notetag that tells the system to raise a corner and leave the ground beside it
flat. It would really help to smooth out the sort of block-y feel to the plugin and give it a more octopath/pokemon feel.

2. Is it possible to make overhangs or cliffs using this plugin. By this I mean the ability to raise a tile to a certain height and be able to walk on it, then be able to go down and walk under that same tile. I'm interested in making something of a "stone arch" so I'm curious as to if this is possible.
 

YoraeRasante

Veteran
Veteran
Joined
Jun 6, 2014
Messages
1,599
Reaction score
391
First Language
Portuguese
Primarily Uses
RMMV
@Yevn125
1- You mean slopes in diagonal, going up at one of the corners instead of the whole side? I did comment on it on her discord. She had not thought on it at the time, but seems she may add it in the future? Not a focus right now though.

2- Yes. But with limitations.
The limitation being it uses MV's editor. Which kinda limits the tiles you can put in the same tile.
I suggested to her in the discord once about if it could be possible to add something like the multi map plugin in the future, she said she may take a look at it.
Someone else there showed me that with a plugin to increase the collision you can put a long platform you can walk on with just one event too. While not a perfect solution, it is a valid one too that can already be used. Especially if you are already using QMovement, since that is kinda built in it already.
 

palatkorn

Veteran
Veteran
Joined
Nov 1, 2019
Messages
160
Reaction score
44
First Language
thai
Primarily Uses
RMMV
@Dread_Nyanak I've read through almost half of these 52 pages of this post, and have yet to see anyone else ask about what I'm curious about lol. As such, I've decided that it might just be more efficient to ask you directly.
I'm wondering about 2 things mainly. I've already seen from the posts that Qmovement has been experimented with and that you plan on adding free movement at some point. My 2 questions are:
1. If you haven't already, do you plan on adding corner tiles and corner slopes? By this I mean a terrain tag or notetag that tells the system to raise a corner and leave the ground beside it
flat. It would really help to smooth out the sort of block-y feel to the plugin and give it a more octopath/pokemon feel.

2. Is it possible to make overhangs or cliffs using this plugin. By this I mean the ability to raise a tile to a certain height and be able to walk on it, then be able to go down and walk under that same tile. I'm interested in making something of a "stone arch" so I'm curious as to if this is possible.
It is for sure

 

Yevn125

The Strongest Solo
Member
Joined
Jul 23, 2019
Messages
19
Reaction score
9
First Language
English
Primarily Uses
RMMV
@Yevn125
1- You mean slopes in diagonal, going up at one of the corners instead of the whole side? I did comment on it on her discord. She had not thought on it at the time, but seems she may add it in the future? Not a focus right now though.

2- Yes. But with limitations.
The limitation being it uses MV's editor. Which kinda limits the tiles you can put in the same tile.
I suggested to her in the discord once about if it could be possible to add something like the multi map plugin in the future, she said she may take a look at it.
Someone else there showed me that with a plugin to increase the collision you can put a long platform you can walk on with just one event too. While not a perfect solution, it is a valid one too that can already be used. Especially if you are already using QMovement, since that is kinda built in it already.
@YoraeRasante Alrighty, I'm glad it's been considered. I'm looking forward to the possible addition of corner slopes and tiles lol. I'm not sure if what your describing is what palatkorn has shown in his video, but could you explain the event solution you've presented? I'm interested in any method possible! In the meantime, I'll be giving my monthly support to project on her *******!

It is for sure

@palatkorn That's definitely the direction I'm heading in! Might you show me how you've accomplished that?
 

YoraeRasante

Veteran
Veteran
Joined
Jun 6, 2014
Messages
1,599
Reaction score
391
First Language
Portuguese
Primarily Uses
RMMV
@Yevn125 you see, in the plugin itself you can set the tiles to float above ground through notetags. Don't recall the right ones right now but they work perfectly well, as palatkorn showed.
The problem is, it used MV's editor as a base. MV's editor, as you may be aware, only allows two A tiles in the same tile to be one over the other, and even then only some A tiles, and two B-E tiles. While mv3d allows you to set B-E tiles to work just like A tiles that still means you are only able to put three tiles, tops, in the same tile in the editor.

But you can still put events. Positioned in the right position, and with a plugin to set its collision to the size you need, you can set them to be things like a long walkable bridge above walkable ground.
 

palatkorn

Veteran
Veteran
Joined
Nov 1, 2019
Messages
160
Reaction score
44
First Language
thai
Primarily Uses
RMMV
This method may not be the best.



This part, you have to set the ground to float as a star base.



Move the character to the point you want automatically.
And set the height value in base z
The Z height in the notes of this character you set as normal, yes, it looks fake. That's it, but it will walk upstairs. Yes, and characters can overlap.


(Revise)
Or the second statement in the note. Add ,pos(8,3)
xczz.JPG
 
Last edited:

Dread_Nyanak

Veteran
Veteran
Joined
Feb 24, 2019
Messages
165
Reaction score
275
First Language
English
Primarily Uses
RMMV
Update 0.5.4
  • interact diagonally
  • change backface culling for ceiling separate from everything else. Also affects camera collision.
  • resolution scale plugin command
  • plugin command to change camera collision
  • more camera collision options
  • can now change names of option menu options
  • fix animation offset with resolution scale
  • fix animation scaling when using camera collision
  • fix tileset settings not being loaded sometimes when loading game
  • fix camera angles etc not being preserved when loading game
  • fixed error when transferring player during map load
  • (premium) fix changes to skybox from plugin command when loading game
There are now two types of camera collision. I couldn't think of a concise way to describe them, so they're called Type1 and Type2.
Type1 - Camera collides with any object between the player and the camera.
Type2 - Camera only collides with objects between player and camera if it would be inside a wall at normal distance.

The animation and loading bugs should be fixed now.

@Yevn125
I don't currently have plans to add diagonal slopes, but it's something I might add in the future.
Slopes have complicated collision rules, and diagonal slopes would be even more complicated. If I find a way to simplify the logic I might add them. If I add corner slopes though I'd want to add both inner corners and outer corners.

You can use fringe(2) in the tileset configuration to make a tile float above the one below it, giving the player room to walk under it.

@palatkorn
Instead of using a move route to set the event's position couldn't you use <mv3d: pos(8,3)>?
 

20yearstoolate

Villager
Member
Joined
Apr 1, 2020
Messages
14
Reaction score
6
First Language
german
Primarily Uses
RMMV
Hi there,
at first I wanna say that this plugin seems really impressive. Great job with that. =)
I am trying to use it for my world map right now. Since I am not too experienced I don't wanna do anything too fency with it and yet I still struggle with something wich is probably not too hard to fix. my problem occures when I try to make an event wich is higher than 1 tile 'stand up'. The bottom part looks fine but I can't find the right parameters to adjust to have the top part right on top of it. It is either too high, slightly behind it or somewhere else where it shouldn't be.

Hope I could explain what I am talking about so that is understandable...help would be really appreciated.


Edit: Nevermind. I managed to make it work. For some reason the pos-command didn't work for me when put into an event's comments but when I tried the notes of it instead it worked.
 
Last edited:

palatkorn

Veteran
Veteran
Joined
Nov 1, 2019
Messages
160
Reaction score
44
First Language
thai
Primarily Uses
RMMV
Update 0.5.4
  • interact diagonally
  • change backface culling for ceiling separate from everything else. Also affects camera collision.
  • resolution scale plugin command
  • plugin command to change camera collision
  • more camera collision options
  • can now change names of option menu options
  • fix animation offset with resolution scale
  • fix animation scaling when using camera collision
  • fix tileset settings not being loaded sometimes when loading game
  • fix camera angles etc not being preserved when loading game
  • fixed error when transferring player during map load
  • (premium) fix changes to skybox from plugin command when loading game
There are now two types of camera collision. I couldn't think of a concise way to describe them, so they're called Type1 and Type2.
Type1 - Camera collides with any object between the player and the camera.
Type2 - Camera only collides with objects between player and camera if it would be inside a wall at normal distance.

The animation and loading bugs should be fixed now.

@Yevn125
I don't currently have plans to add diagonal slopes, but it's something I might add in the future.
Slopes have complicated collision rules, and diagonal slopes would be even more complicated. If I find a way to simplify the logic I might add them. If I add corner slopes though I'd want to add both inner corners and outer corners.

You can use fringe(2) in the tileset configuration to make a tile float above the one below it, giving the player room to walk under it.

@palatkorn
Instead of using a move route to set the event's position couldn't you use <mv3d: pos(8,3)>?
It works better, but I'm used to this being normal.
Yes but that's One move
As soon as there is a change, I will use this section again to move and can check. I am setting it to move back and forth.
For example, through the door 1 When passing, I will let it move to Gate 2
Which this event still works in itself
 
Last edited:

CoopNinjask

Veteran
Veteran
Joined
Jan 9, 2020
Messages
105
Reaction score
61
First Language
Portuguese
Primarily Uses
RMMV
Update 0.5.4
  • interact diagonally
  • change backface culling for ceiling separate from everything else. Also affects camera collision.
  • resolution scale plugin command
  • plugin command to change camera collision
  • more camera collision options
  • can now change names of option menu options
  • fix animation offset with resolution scale
  • fix animation scaling when using camera collision
  • fix tileset settings not being loaded sometimes when loading game
  • fix camera angles etc not being preserved when loading game
  • fixed error when transferring player during map load
  • (premium) fix changes to skybox from plugin command when loading game
There are now two types of camera collision. I couldn't think of a concise way to describe them, so they're called Type1 and Type2.
Type1 - Camera collides with any object between the player and the camera.
Type2 - Camera only collides with objects between player and camera if it would be inside a wall at normal distance.

The animation and loading bugs should be fixed now.

@Yevn125
I don't currently have plans to add diagonal slopes, but it's something I might add in the future.
Slopes have complicated collision rules, and diagonal slopes would be even more complicated. If I find a way to simplify the logic I might add them. If I add corner slopes though I'd want to add both inner corners and outer corners.

You can use fringe(2) in the tileset configuration to make a tile float above the one below it, giving the player room to walk under it.

@palatkorn
Instead of using a move route to set the event's position couldn't you use <mv3d: pos(8,3)>?
I tested the new version and, this time, everything seems to be working correctly.
There are two things in particular that I want to thank you for:
The first is to include the ideas that I gave you before.
The second is to have unminified the code, so it is easier to fix some bugs on my own.
So thank you so much!

I found a crash, but I already fixed it.
So I'm going to share it here for you to include in the next patch and help others.

The Crash:
If you are using mv3d-patr3on.js 0.5.4 and try to change the resolution scale via plugin command and you have not defined any skybox, then the game will crash.

Resolution Scale crash when using mv3d-******* 0.5.4.png

The Fix:
Include this condition below (line 807) in the mv3d-patr3on.js file, so then it will not return as undefined skybox, it will ignore it in this case.
Resolution Scale crash fix.png

With that, we can say that all the new features are working perfectly.

I have a suggestion:
Could you make possible to use a variable as a target?
Here goes the screenshot as an example.

Variable as a Target.png

I use the following script to get the target of a variable and apply the animation to the correct event. (In this case, the enemy affected by the shot in the ABS)
Ex.: $gameMap.event($gameVariables.value(579)).requestAnimation(133)
But when trying to adapt to mv3d animation, I realized that I can't use a variable as a target, just fixed targets.
I would like to do this to apply depth to these animations, as you programmed into the animations of mv3d itself.

Thank you for all the help!
Keep the good work! :awink:


Let me show a cool thing that i did with these new features

Graphics Style Option
Graphics Style Options.png


Nyana's Castle Retro Style 720p
Nyana Castle Retro Style 720p.png


Nyana's Castle Retro Style 1080p
Nyana Castle Retro Style.png

Nyana's Castle Modern Style 1080p
Nyana Castle Modern Style.png
 
Last edited:

YoraeRasante

Veteran
Veteran
Joined
Jun 6, 2014
Messages
1,599
Reaction score
391
First Language
Portuguese
Primarily Uses
RMMV
...resolution?
as in, change resolution mid-game?
I didn't try it yet, is itin the new version or an external plugin?
 

CoopNinjask

Veteran
Veteran
Joined
Jan 9, 2020
Messages
105
Reaction score
61
First Language
Portuguese
Primarily Uses
RMMV
...resolution?
as in, change resolution mid-game?
I didn't try it yet, is itin the new version or an external plugin?
Resolutions from my Options Menu is a external plugin.
This can change screen resolution mid-game, as you may have imagined.

Resolution Scale is a feature from MV3D that Dread added in 0.5.3.
This can make that retro game graphic style, as i showed above.
These are 2 different things.
 
Last edited:

palatkorn

Veteran
Veteran
Joined
Nov 1, 2019
Messages
160
Reaction score
44
First Language
thai
Primarily Uses
RMMV
Reduced resolution, increased FPS?

I tested the new version and, this time, everything seems to be working correctly.
There are two things in particular that I want to thank you for:
The first is to include the ideas that I gave you before.
The second is to have unminified the code, so it is easier to fix some bugs on my own.
So thank you so much!

I found a crash, but I already fixed it.
So I'm going to share it here for you to include in the next patch and help others.

The Crash:
If you are using mv3d-patr3on.js 0.5.4 and try to change the resolution scale via plugin command and you have not defined any skybox, then the game will crash.

View attachment 138688

The Fix:
Include this condition below (line 807) in the mv3d-patr3on.js file, so then it will not return as undefined skybox, it will ignore it in this case.
View attachment 138689

With that, we can say that all the new features are working perfectly.

I have a suggestion:
Could you make possible to use a variable as a target?
Here goes the screenshot as an example.

View attachment 138690

I use the following script to get the target of a variable and apply the animation to the correct event. (In this case, the enemy affected by the shot in the ABS)
Ex.: $gameMap.event($gameVariables.value(579)).requestAnimation(133)
But when trying to adapt to mv3d animation, I realized that I can't use a variable as a target, just fixed targets.
I would like to do this to apply depth to these animations, as you programmed into the animations of mv3d itself.

Thank you for all the help!
Keep the good work! :awink:


Let me show a cool thing that i did with these new features

Graphics Style Option
View attachment 138693


Nyana's Castle Retro Style 720p
View attachment 138697


Nyana's Castle Retro Style 1080p
View attachment 138694

Nyana's Castle Modern Style 1080p
View attachment 138695
 

CoopNinjask

Veteran
Veteran
Joined
Jan 9, 2020
Messages
105
Reaction score
61
First Language
Portuguese
Primarily Uses
RMMV
Reduced resolution, increased FPS?
There is no impact in FPS, just change the visuals.
I put this so people can play on big televisions. It goes from 720p to 1440p.
 

palatkorn

Veteran
Veteran
Joined
Nov 1, 2019
Messages
160
Reaction score
44
First Language
thai
Primarily Uses
RMMV
No, I mean, will make the game faster too or not while selecting the 720p thumbnail option
 

Users Who Are Viewing This Thread (Users: 2, Guests: 5)

Latest Threads

Latest Posts

Latest Profile Posts

When you are trying to make progress in your game. But something is stopping your motivation. Like come on mind! Let me do what I want! :<
Tfw everyone is trying their hardest to brainstorm about unique ideas and game mechanics, here I am just going: "How am I gonna event conversations with busts" everyday. :kaoswt2:
Comedy is third person, tragedy is first person.
Man. A historic 130 year old church nearby had all of its windows broken out with bricks last night. Such a shame, it wasn't generic stained glass patterns either but had beautifully crafted murals depicting various parts of the gospels.
The Steam Summer Sale's been treating me nicely. Now if only game sales were always this good...

Forum statistics

Threads
99,311
Messages
964,086
Members
130,919
Latest member
megazeroxzvk
Top