MV3D - 3D rendering for RMMV with Babylon.js

YoraeRasante

Veteran
Veteran
Joined
Jun 6, 2014
Messages
1,636
Reaction score
417
First Language
Portuguese
Primarily Uses
RMMV
@Unounicorn actually, save for one SRD plugin he already fixed soon after the release of 1.6.1, I never found a plugin that worked on 1.5.x that doesn't on the newer updates. Some people mention them, but when I do test it worked fine for me.
 

gRaViJa

Veteran
Veteran
Joined
Mar 16, 2012
Messages
868
Reaction score
389
First Language
Dutch
Just a quick question, but are the light effects available in the paid-only version of the plugin?
 
Last edited:

Dread_Nyanak

Veteran
Veteran
Joined
Feb 24, 2019
Messages
165
Reaction score
284
First Language
English
Primarily Uses
RMMV
Lights are available in the free version. Dynamic shadows are premium.
 

gRaViJa

Veteran
Veteran
Joined
Mar 16, 2012
Messages
868
Reaction score
389
First Language
Dutch
@Dread_Nyanak I still can't get a simple lamp or flashlight to work in the demo. Here is my simple plugin command and the error i get:




Also tried it as a comment and notetag. I feel like i'm missing something very obvious or there's a bug on my end or something.
 

glaphen

Veteran
Veteran
Joined
Jan 13, 2019
Messages
326
Reaction score
120
First Language
English
Primarily Uses
RMMV
@Dread_Nyanak I still can't get a simple lamp or flashlight to work in the demo. Here is my simple plugin command and the error i get:




Also tried it as a comment and notetag. I feel like i'm missing something very obvious or there's a bug on my end or something.
I don't think @t is a valid target,
Valid targets:


  • @p or @player: Targets $gamePlayer.
  • @e0, @e1, @e2, @e25 etc: Targets event with specified id.
  • @f0, @f1, @f2, etc: Targets first, second, third follower, etc.
  • @v0, @v1, @v2: Boat, Ship, Airship.
Unlisted is @s which targets self, you also need to remove the <> from each thing, you are also running it as a parallel without erasing after so it is running that command constantly.
 

YoraeRasante

Veteran
Veteran
Joined
Jun 6, 2014
Messages
1,636
Reaction score
417
First Language
Portuguese
Primarily Uses
RMMV
@gRaViJa you are doing it wrong.
@t is to be exchanged with the actual value for t. @p is player @e12 is event 12, and so on.
and the values are not supposed to be surrounded by <>. those are just to show where you are going to substitute something.
for example, your plugin command there would be more like mv3d @p lamp #ffffff 1 10 1
 

gRaViJa

Veteran
Veteran
Joined
Mar 16, 2012
Messages
868
Reaction score
389
First Language
Dutch
There we go, so obvious. I read through pretty much all of the help file, but didn't come across that. Thx for the info guys.

I think this is my last dumb question and that I fully understand the plugin and all it's functions now :rswt
 
Last edited:

CoopNinjask

Veteran
Veteran
Joined
Jan 9, 2020
Messages
117
Reaction score
70
First Language
Portuguese
Primarily Uses
RMMV
@Dread_Nyanak,

I found a small glitch that happens every time the character's sprite changes (and events).
It seems that when there is a sprite change, the character blinks for a few frames before upgrading to the new sprite, changing the character's sprite to none. This is not so apparent without dynamic shadows, but when dynamic shadows are turned on, this is too apparent, since the shadows create a black square, which would be the shadows for none sprite.
Could you fix this little bug?


 

glaphen

Veteran
Veteran
Joined
Jan 13, 2019
Messages
326
Reaction score
120
First Language
English
Primarily Uses
RMMV
@Dread_Nyanak,

I found a small glitch that happens every time the character's sprite changes (and events).
It seems that when there is a sprite change, the character blinks for a few frames before upgrading to the new sprite, changing the character's sprite to none. This is not so apparent without dynamic shadows, but when dynamic shadows are turned on, this is too apparent, since the shadows create a black square, which would be the shadows for none sprite.
Could you fix this little bug?


Actually I don't think it has anything to do with setting to none, yesterday I upgraded my script to change event images to instead of changing image it only changes index.
Code:
                    case '2':
        for (i = 901, l = $gameVariables.value(8), eeId = 10; i < l;) {
        var rand = Math.randomInt(100);
        if (rand <= 25) {$gameVariables.setValue([i], 0);}
            else if (rand <= 50) {$gameVariables.setValue([i], 1);}
            else if (rand <= 75) {$gameVariables.setValue([i], 2);}
            else if (rand <= 80) {$gameVariables.setValue([i], 3);}
            else if (rand <= 85) {$gameVariables.setValue([i], 4);}
            else if (rand <= 90) {$gameVariables.setValue([i], 5);}
            else if (rand <= 95) {$gameVariables.setValue([i], 6);}
            else {$gameVariables.setValue([i], 7);};
            $gameMap.event([eeId])._characterIndex = $gameVariables.value([i]); eeId++; i++;};
            break;
Even though it only changes the index it was still doing the blinks.
 

fizzly

Veteran
Veteran
Joined
Mar 23, 2012
Messages
660
Reaction score
402
First Language
Polish
Primarily Uses
RMMV
@CoopNinjask, Yeah, also noticed that, and no reason it changes from the same sheet or separate, it always blinks. It looks bad. Hope it'll be fixed.
 

CoopNinjask

Veteran
Veteran
Joined
Jan 9, 2020
Messages
117
Reaction score
70
First Language
Portuguese
Primarily Uses
RMMV
@glaphen & @fizzly

Unfortunately, I think that only Dread herself could solve this.
This makes it a little uncomfortable when animating the characters.
 

Dread_Nyanak

Veteran
Veteran
Joined
Feb 24, 2019
Messages
165
Reaction score
284
First Language
English
Primarily Uses
RMMV
I think the blink happens because Babylon loads textures asynchronously, so after I change the texture it takes at least 1 frame before the texture will be ready. I never noticed the problem with the shadow though. That's definitely not ideal.
The easiest solution would probably be for me to hide the character until the texture is ready, that way you don't get the blocky shadow. But that still wouldn't fix the blink.
The ideal solution I think would be to load the new material separately and not replace the old material until the new texture is ready.
Also for optimization I probably don't need to change the material when switching to an index in the same sheet.
I'll see about getting this fixed for the next update.
 

CoopNinjask

Veteran
Veteran
Joined
Jan 9, 2020
Messages
117
Reaction score
70
First Language
Portuguese
Primarily Uses
RMMV
@Dread_Nyanak

If at least you can fix the problem with dynamic shadows, that will be a big step, although it is not ideal.
Fixing the blink problem would be very interesting for those who want to work with ABS, for example, since they have to design a different sprite for each action.

Another detail: the blink problem also happens when you reach the end of the map, with the loop activated on the map.
 

YoraeRasante

Veteran
Veteran
Joined
Jun 6, 2014
Messages
1,636
Reaction score
417
First Language
Portuguese
Primarily Uses
RMMV
ok, the blinking happens in the default mv too. as long as the image file loaded was not already loaded in that map, you run the risk of the sprite having more than a few frames not appearing while loading.
the problem mv3d has with this is that it loads the sprite every time it changed. right from the image file, instead of the cache.
because the loaded images come as a Bitmap, but not a normal bitmap file but an exclusive mv class of named "Bitmap". Something that is not compatible by default with babylon.
of course, the images there can be used, and probably would avoid the invisible frames of already-loaded files as much as mv already does (you can avoid the invisible frames in mv'd default maps using a loadImage a few frames before the image is changed). that would also allow encrypted images to be used, because the current mv3d can't use them yet.
The problem is... neither me nor dread, when talking about it on the discord server, know how exactly to get the images from the bitmaps yet...
 

gRaViJa

Veteran
Veteran
Joined
Mar 16, 2012
Messages
868
Reaction score
389
First Language
Dutch
Sounds like a challenge! But I think it would be a necessary addition to the plugin since it fixes two main issues at once. Take your time, sooner or later the answer will come :)
 

safermike

Veteran
Veteran
Joined
Nov 30, 2016
Messages
33
Reaction score
8
First Language
swedish
Primarily Uses
@Dread_Nyanak
I got another question now.

Is there anyway to scale current actor sprite? With plugin settings on Character event settings , I could scale my actor. but this also scale every other events aswell.

Is there a command for your current actor only?
Event settings you could use scale(0) and it works for events but I am having a hard time for my current actor with same command.

example actorscale.png

And lastly Stair treshold.
Is there a command for single tile only for this? like previous question, not for event but for tile.

for example bush tile A2,4,0:top(A2,4,0),side(A2,4,0),height(0.30)
If I change Stair treshold to 0.3, I can walk on this without having problems with colliding.But that changes it for everything, and not just my current tile.

So is there plugin commands for these 2?
 

YoraeRasante

Veteran
Veteran
Joined
Jun 6, 2014
Messages
1,636
Reaction score
417
First Language
Portuguese
Primarily Uses
RMMV
that... is a good idea.
I was thinking the other day about making characters bigger than normal but scaled down, so they look better when you meet them in first person camera. This would allow me to use them at different sizes/scales. specially if I can set them per actor, and change mid-game, instead of being fixed to only one size...
 

safermike

Veteran
Veteran
Joined
Nov 30, 2016
Messages
33
Reaction score
8
First Language
swedish
Primarily Uses
Pretty much the same idea I have for actors, we need a command inbetween actors.
<mv3d>

scale(0.75) - doesnt work for actors, just events.

</mv3d>
 

Dread_Nyanak

Veteran
Veteran
Joined
Feb 24, 2019
Messages
165
Reaction score
284
First Language
English
Primarily Uses
RMMV
Configuring individual actors is a very good idea. I'll definitely add that to my list of things to add.
 

safermike

Veteran
Veteran
Joined
Nov 30, 2016
Messages
33
Reaction score
8
First Language
swedish
Primarily Uses
@Dread_Nyanak

So individual actor config dont exist within the plugin in current version then.

What about stair treshold? How do I set up for individual tile?
 

Users Who Are Viewing This Thread (Users: 1, Guests: 4)

Latest Threads

Latest Posts

Latest Profile Posts

bro how do I have over 30 OCs
A good way to mix your own music? What's the learning curve on that?
Would it be better to pay a composer?
What theme for the next windowskin? You'll decide. Tell what you wanna see and I'll try for.
I just saw in a manga an interesting mechanic - setting up a stationary teleport beacon that one can go to no matter where one is in a dungeon. I think it'll work with a similar setup to how I did my airship transition.

Ooh what if you could set up multiple beacons and choose from a list of the beacons you set up?

Hmm...
Actor2_1 added!

Forum statistics

Threads
103,261
Messages
998,405
Members
134,764
Latest member
Detreyus
Top