MV3D - 3D rendering for RMMV with Babylon.js

hsumi

Villager
Member
Joined
Mar 28, 2017
Messages
25
Reaction score
9
First Language
English
Primarily Uses
RMMV
2-high tile events can be handled with pos tags. To do what you're wanting here, you're going to want something like
pos.PNG
Then set the event notes as follows:
For the top tile: z(+1)
For the bottom: pos(+0,+-1)

To get
Curtain.PNG
This works for 2-wide objects as well. It just comes down to the "z" and "pos" settings.
 

gRaViJa

Veteran
Veteran
Joined
Mar 16, 2012
Messages
807
Reaction score
291
First Language
Dutch
@hsumi Thanks! I was pretty close to the same solution after a lot of testing :rswt But, when I do exactly the same (i think), i get this result:







I thought flipping the tiles might do it, but it's still not as it should be:

 
Last edited:

hsumi

Villager
Member
Joined
Mar 28, 2017
Messages
25
Reaction score
9
First Language
English
Primarily Uses
RMMV
Hmm. Well, these are the exact tags I'm using:
tags.PNG
(the line before the second one is just the cursor, you can ignore it, and the +7 is because I had this specific thing on a higher elevation. You'll just want to use "1", not 7.)

Your tags are correct, just try changing the shape to "wall".
 

Crampus

Warper
Member
Joined
Feb 2, 2020
Messages
2
Reaction score
0
First Language
English
Primarily Uses
RMMV
@Crampus you set the ceiling on the map notetags. It is explained in the github in the section "Setting A Ceiling For A Map"
Basically the notetag is "ceiling(img,x,y,w,h|height|alpha|glow[anim]animx,animy )" inside the map's configuration block. all those ceiling settings work the same way as setting a tile's top, side, bottom or inside by the way.
I think ceilings only appear in first person view though?
To go to first person, set the camera's dist to 0, either in the map notetag block or with the plugin command. pitch and yaw may need to be set too.

The black square under them... is there a shadow image in your img/mv3d folder?

@gRaViJa how did you make it white in the first place? O_O isn't it usually just black when no parallax image is set?

@glaphen I'm not sure if I am right, but did you try changing the "Alpha cutoff" in the original plugin? I'm not sure exactly how it works, it may be exactly this.
How do you access the notetags?
 

gRaViJa

Veteran
Veteran
Joined
Mar 16, 2012
Messages
807
Reaction score
291
First Language
Dutch
Hmm. Well, these are the exact tags I'm using:
View attachment 133099
(the line before the second one is just the cursor, you can ignore it, and the +7 is because I had this specific thing on a higher elevation. You'll just want to use "1", not 7.)

Your tags are correct, just try changing the shape to "wall".
Oh, I didn't know Wall was a shape too lol... i tried sprite, cross, tree, ... That's probably the reason then :)
 

glaphen

Veteran
Veteran
Joined
Jan 13, 2019
Messages
318
Reaction score
112
First Language
English
Primarily Uses
RMMV
@glaphen I'm not sure if I am right, but did you try changing the "Alpha cutoff" in the original plugin? I'm not sure exactly how it works, it may be exactly this.
It's on default .51, doesn't make a difference .99 or .01, I did manage a sorta workaround with Yep_HitboxResize.
I did with an event set up like this
ShadowFloor.png
Only problems are it lag spikes slightly on first time the shadow disappears and appears and shadow also disappears with it which looks weird but that is the problem in the first place, also makes me need an extra event per camera facing wall group and shadows already add a ton of lag potential. Oh and I tried to make it lower elevation instead to the floor but it doesn't seem to like going below walls with the plugin command.
Here's event notetag in full.
<mv3d:platform(false),trigger(Infinity,Infinity),y(+4),x(+0.5),z(5.92),scale(4,7),shape(flat)>

Another thing is that outline, it seems to do it even without premium or fog for some things.

I thought outline might be because my resolution isn't right scale compared to default but if anything default is even worse.

I managed to solve the outlines, for some reason if I only use 1/3 of the A4 sheet it does it, if I just clone it to fill the whole A4 sheet it doesn't happen.
 
Last edited:

SefirosuKuraodo

Veteran
Veteran
Joined
Apr 7, 2015
Messages
62
Reaction score
20
First Language
English
Primarily Uses
N/A
@Dread_Nyanak

This by plugin 0.4.5
Heres a video about how I made some stuff with landscape and objects.

I have a few problems thought, and suggestions.

1. If we activate Qmovement, no interactions with event is working. If you just have scenes on map its fine, since auto and parallel process works.

2. Teleportation through doors seems to make your character drop from ceiling to the ground.
If you add fade out, wait a second, fade in, you can work around it.

3. When adding fringe height too slopes, as seen in the video, a weird flat surface is happening.
I tried disabling the slope with side(0,0,0) or top(0,0,0), it just results in a loading screens.

Right now we also could use more customization to meshes from textures and more options to events

Walls/Fence - Can we get a a customization where we can tilt these so they behave like / or \ ?. This can be useful for roofs or other stuff, not reached that point yet.

Sides meshes - Right now sides mesh cover all 4 directions, but we cannot actually choose what sides on those 4 is rendered or choose to replace them with another texture.
Example. Front, left and right sides uses same texture, but you want another texture in the back. Because of this we are forced to use events with shape:flat to compensate.

And lastly objects. Right now every tile is calculated as a square. Every side is a square.
Could we have implentations that for example a side is calculated as a cylinder, sphere or cone.

You mentioned adding 3d models later, but until then, extra functions to already avaiaible commands would help alot with mapping. Especially with objects and round edged objects.
I would LOVE a Demo of this map and some of the houses to get a better grasp and learn how some of this is accomplished!
 

Unounicorn

Warper
Member
Joined
Jan 1, 2018
Messages
2
Reaction score
0
First Language
English
Primarily Uses
RMMV
I have downloaded the demo project and the game does not render in 3D. it is stuck in 2d and i cant change camera at all. I am wondering if this plugin is uncompatiable with older versions of RPG Maker MV, as I have RPG maker version 1.5.1. If there is any advice you could give me i would very much appreciate it.
 

gRaViJa

Veteran
Veteran
Joined
Mar 16, 2012
Messages
807
Reaction score
291
First Language
Dutch
I have downloaded the demo project and the game does not render in 3D. it is stuck in 2d and i cant change camera at all. I am wondering if this plugin is uncompatiable with older versions of RPG Maker MV, as I have RPG maker version 1.5.1. If there is any advice you could give me i would very much appreciate it.
If i remember correctly, MV 1.6 is needed because that version allows the usage of babylon.js. If there is no specific reason, you could just update to 1.6.1?
 
Last edited:

YoraeRasante

Veteran
Veteran
Joined
Jun 6, 2014
Messages
1,449
Reaction score
334
First Language
Portuguese
Primarily Uses
RMMV
Yeah, 1.6.x is needed because it lets you use ES6.
While some people say they use 1.5.x for compatibility reasons... every plugin they tild me did not work for them in 1.6 but did in 1.5 worked fine in 1.6 for me. Save one by SRD that he already fixed soon after 1.6.1 was released.
 

Unounicorn

Warper
Member
Joined
Jan 1, 2018
Messages
2
Reaction score
0
First Language
English
Primarily Uses
RMMV
Thank you guys for the feedback. I wasn't aware of any huge changes for 1.5 to 1.6 that would make a decent amount of of new plugins incompatible to older versions so i was hesitant to update, especially when I was still trying to sort out my plugins list, but it seems like most old plugins are updated fine. I'll update to 1.6, thank you guys for informing me.
 

Chainer07

Veteran
Veteran
Joined
Mar 16, 2018
Messages
46
Reaction score
17
First Language
English
Primarily Uses
RMMV
i recently grabbed this to tinker with and i must say it is vey impressive. i decided to run it along side MOG_Hunters Chrono ABS and started making an FPS However i have run into a problem. I re arranged the buttons to Chrono ABS buttons dont interfere with the movement however the 2 plugs conflict on movement in FPS mode. i still have the Q&E Strafing and forward and backward movements. but turning left and right don't work in the slightest.
 

Attachments

Dread_Nyanak

Veteran
Veteran
Joined
Feb 24, 2019
Messages
155
Reaction score
227
First Language
English
Primarily Uses
RMMV
@Chainer07
It looks like ChronoEngine remaps the a s d keys.
Load this code as a plugin after Chrono and MV3D. I'm not sure what Chrono Engine's new keys do, but you might need to remap them to new keys as well.
Code:
(function(){
var _temp_initialize = Game_Temp.prototype.initialize;
Game_Temp.prototype.initialize = function() {
    _temp_initialize.apply(this,arguments);
    mv3d.setupInput();
    Input.keyMapper[83]='down';
};
})();
setupInput will automatically swap the strafing and rotation controls depending on if you're in 1st person or not. If you don't want that, or want to map some other keys to rotation, the keys are named 'rotleft' and 'rotright'.
 

Chainer07

Veteran
Veteran
Joined
Mar 16, 2018
Messages
46
Reaction score
17
First Language
English
Primarily Uses
RMMV
@Chainer07
It looks like ChronoEngine remaps the a s d keys.
Load this code as a plugin after Chrono and MV3D. I'm not sure what Chrono Engine's new keys do, but you might need to remap them to new keys as well.
Code:
(function(){
var _temp_initialize = Game_Temp.prototype.initialize;
Game_Temp.prototype.initialize = function() {
    _temp_initialize.apply(this,arguments);
    mv3d.setupInput();
    Input.keyMapper[83]='down';
};
})();
setupInput will automatically swap the strafing and rotation controls depending on if you're in 1st person or not. If you don't want that, or want to map some other keys to rotation, the keys are named 'rotleft' and 'rotright'.
well now A&D and left and right arrows both strafe but not 90 degree turns. T_T
 

seaotter

Veteran
Veteran
Joined
Mar 2, 2019
Messages
115
Reaction score
28
First Language
Chinese
Primarily Uses
RMMV
i recently grabbed this to tinker with and i must say it is vey impressive. i decided to run it along side MOG_Hunters Chrono ABS and started making an FPS However i have run into a problem. I re arranged the buttons to Chrono ABS buttons dont interfere with the movement however the 2 plugs conflict on movement in FPS mode. i still have the Q&E Strafing and forward and backward movements. but turning left and right don't work in the slightest.
MOG_Hunters Chrono ABS is a Great PLUGIN, I very like that and use it do many games

But Very regrettable MV3D with MOG_Hunters Chrono ABS There are many conflicts and problems ...

The author of MOG_Hunters Chrono ABS is no longer developed
I can only look forward to the author of MV3D
 

Chainer07

Veteran
Veteran
Joined
Mar 16, 2018
Messages
46
Reaction score
17
First Language
English
Primarily Uses
RMMV
MOG_Hunters Chrono ABS is a Great PLUGIN, I very like that and use it do many games

But Very regrettable MV3D with MOG_Hunters Chrono ABS There are many conflicts and problems ...

The author of MOG_Hunters Chrono ABS is no longer developed
I can only look forward to the author of MV3D
funny enough people used to say the samething about Yanfly's Item Core and Mog_hunter's chrono abs. however it is possible. It just takes time and lots of code reading x.x
 

Dread_Nyanak

Veteran
Veteran
Joined
Feb 24, 2019
Messages
155
Reaction score
227
First Language
English
Primarily Uses
RMMV
@Chainer07
That's strange. A&D should strafe in 3rd person and rotate in 1st person. Is your camera distance set to zero? You can check mv3d.is1stPerson().
If nothing else works, you could try this.
Code:
(function(){
var _temp_initialize = Game_Temp.prototype.initialize;
Game_Temp.prototype.initialize = function() {
    _temp_initialize.apply(this,arguments);
    Object.assign(Input.keyMapper,{
        81:'left',  // Q
        69:'right', // E
        87:'up',       // W
        65:'rotleft',  // A
        83:'down',     // S
        68:'rotright', // D
    });
};
})();
 

Chainer07

Veteran
Veteran
Joined
Mar 16, 2018
Messages
46
Reaction score
17
First Language
English
Primarily Uses
RMMV
@Chainer07
That's strange. A&D should strafe in 3rd person and rotate in 1st person. Is your camera distance set to zero? You can check mv3d.is1stPerson().
If nothing else works, you could try this.
Code:
(function(){
var _temp_initialize = Game_Temp.prototype.initialize;
Game_Temp.prototype.initialize = function() {
    _temp_initialize.apply(this,arguments);
    Object.assign(Input.keyMapper,{
        81:'left',  // Q
        69:'right', // E
        87:'up',       // W
        65:'rotleft',  // A
        83:'down',     // S
        68:'rotright', // D
    });
};
})();
somehow made it worse. W&S no longer work and Q,E,A,D Left and right arrows do no 90 Degree turns. i must be dumb when implementing code.
 

Users Who Are Viewing This Thread (Users: 3, Guests: 3)

Latest Threads

Latest Posts

Latest Profile Posts

Welp, finally posted some images to Twitter that I meant to post last year... Better late than never, right?
Just going to leave this here. :LZSexcite:
Going for a spooky theme with my animal crossing home/town. All I gotta do is find that one gravestone recipe out of hundreds for my cemetary ; u;
Asthma has been getting worse because I can't get my paws on a brown (preventer) inhaler. Been without one for over a week now. Struggling to breathe sucks.
I'm wondering, what if I took the time to make a Bee Hive mirco-biome. It sounds cute, and be a home to that hornet monster, but would anyone actually use it?

Forum statistics

Threads
95,781
Messages
931,896
Members
126,197
Latest member
Sinnott
Top