At last...Rafal next Gem!

@Gimli Like that? all my textures are not following..but I'll bake them in the full model next.

When you add the textures to FP, you can use this coding to light it up in a way similar to the way you have your model set up:

'[BAM] !texture = [color map]
'[BAM] !normalMap = [normal map]
'[BAM] !shininess = 5.0
'[BAM] !specularLevel = 10.0
'[BAM] !specularBalance = 0.01
'[BAM] !normalMapScale = 1.0

If you are not going to use a bump map, you can delete the line for !normalMap. The brightness of the lighting is adjusted by the value for !specularLevel. The amount of shine off the object is controlled by !shininess. I never change the other 2 parameters.
 
@Gimli @GeorgeH Did some test too converting GIFs to APNG. APNG is only 10% smaller than gif, does it still worth it for Rav to look into it?

It is not worth it. We will have to use PUP for video clips. GIFs will be good for smaller videos with a few frames.
 
new breed of model importer is ok now with texture, but I am waiting for an update because it is breaking the actual BAM version
Rav is on it.
 
@ravarcade @polygame

I'm at the stage with RetroFlair 2 where I'm playing around with GIFs. I wanted to ask a few things.

- is it best to convert GIFs to a power of 2 texture? (128x128, 256x256,etc)
- when are GIFs "not" causing a strain on the cpu? Is it best to use a .stop command and then swap back the original texture?
- are gifs decoded only when they are use in BAM command? If I added "option" in script to NOT use GIFs(for slower PCs), are they only loaded in ram, but not processed / decoded at all by cpu?

I would only be using small gifs for effects on things like flippers, ball, ramps, wire ramps / guides....so I'm just trying to be the most efficient I can. It's hard to not try to go overboard as it can look soo cool!
 
@ravarcade @polygame would probably know better than I but I think that power of 2 rule is generically applicable to any computer program. I used to think this was very limiting to have to size everything to a power of 2 like 256x512. ...But there is a trick. Create the image that has the same proportions for height and width as the object where you want to use it. Say you create an image for an object that is 328x400. Then you resize the 328x400 image to 256x512. The image will look squeezed but FP will stretch the image back out when it is applied to the object so the 256x512 image will go back to 328x400. Since both images have about the same number of pixels, there is no loss of resolution.
 
I have created several video clips, for my other tables, and I have always used the hologram method, the textures if they are at the power of 2, it is much better for FP, because it is easier to load them in less time, if they are not at the power of 2, FP, it takes a lot more time to load them....

I tried also this, that if the textures are bigger the more resources it takes from the pc, so either always opted for 256x256, then there is also the fact of how many textures are loaded in "texture manager", this also takes resources, but I seem to understand that in "GIF", maybe this is a minor problem.

obviously, the size of the power 2, is based on what kind of object is applied, I'm talking about measurement, for a great visualization, here I quote the trick that George says, if you have a 1024x256 rectangular object and make a 256x256 square video-clip, FP automatically inserts the movie on that object without loss of resolution, I tried this too, but the textures must always be power2, in order not to have loading problems

I would also be interested in making some video clips (for batman 66) in "GIF", to see the difference between a hologram, and the loading time of FP, but I didn't understand how to do it

EDIT:
there is also another factor that affects, if you have a video-clip, let's put the case of 100 textures or frame, obviously at power 2 of 256x256, the size is 2MB, there is also a way or a possibility to reduce the weight, a few KB, this also helps FP
 
Last edited:
Actually the object can have any shape. It does not need to be power of 2. The image does need to be power of 2.
 
For what I'm possibly using.... the only option is GIFs, since we are talking about balls.... flippers....ramps....etc.

I could use texture swapping (which would run better probably)...but that means the textures need to be used on another surface first... and that can add up to a lot of surfaces. :) (texture swapping won't work it they are only used on an Image Sequence)
 
ok, if we're not talking about video-clip. then maybe this can help...I put a couple of "Gif" in DK, and George can confirm, I used them for the ramps, and a model....
1) i have not converted the gif in power2,but when I activate them on the ramps, I have some very small slowdowns
2) I uploaded over 10 different gifs (not in pw2), and I haven't had a noticeable increase in FP loading
3) if I leave the gifs active I have a lot of slowdowns, so I stop them when it is due, and return to the original textures
4)I believe that if the gifs are not used, even if they are loaded in "texture manager" they do not create problems or slowdowns, in DK I noticed this

that said it is always a matter of pc that one has.....
in surfaces you can put up to three objects, but maybe you know that.as for the gif ball, do you know that it remains static, and does not spin with the ball? if you are using the mini playfield-tool method, the gif in multiball does not work.

I don't understand this in red
(texture swapping won't work it they are only used on an Image Sequence)
 
I don't understand this in red
(texture swapping won't work it they are only used on an Image Sequence)

If you have textures used only in an Image Sequence (like a SLAMT1LT video), then you can't swap a texture on another object to a texture in the image sequence. Texture swapping only works with textures that are used on another object / surface.


GIFs are the exception, as you don't need to have them applied to anything else to swap a texture to a GIF.
 
Last edited:
I also have had people saying they are getting lag with some tables I have added gifs too.
What is the correct code to stop a .gif from running and return it to it's normal texture.
I wrote the below code because I have no idea how to turn off a gif, but this dosen't seem like a good solution.
Gif s1 is a single picture gif using the steel2 image, this works and returns the model to the steel2
image but there must be a better way.
I could be wrong but adding gifs to an item that is sphere mapped also seems to cause lag issues, cheers!


Sub firestart()
Dim g
Set g = xBAM.LoadGif("firesw")
g.ReplaceTexture "steel2"
g.UpdateInterval = 7
g.Frame 0, g.NumFrames-1, g.NumFrames-g.NumFrames
End Sub

Sub firestop()
Dim h
Set h = xBAM.LoadGif("s1")
h.ReplaceTexture "steel2"
h.UpdateInterval = 1000
h.Frame 0, h.NumFrames-1, h.NumFrames-h.NumFrames
End Sub
 
@NitroNimbus

This post rav mentions using a .stop command.


Also... @polygame's more recent table examples in this post had some examples of "stopping" gifs when they weren't being used.
 
Hi Terry,
Thanks mate much appreciated. I completely missed that post.
Wow!!! had no idea you can even change the colour and transparency.
That is awesome, cheers!
 
Keep in mind guys.... if you are simply showing a "video" (like a SLAMt1LT table or MOTU or Futurama, etc), and don't need it displayed on anything but a flat surface...

...then using a jpg Image Sequence on an Overlay / Hologram is still the best quality / performance / ram usage option there is.

If I could use a JPG Sequence like I do on an Overlay, then I would use that option by far for animated surfaces... but GIF is the only option for that without needing a crap load of Images used on surfaces.

I'm trying to keep RetroFlair 2 below 800 objects as much as I can... so I can add more toys and copy / paste in the future if needed (even with BAM fixes that allows more than 800... it doesn't remove the limit of copy / pasting more objects once you are over 800).
 
Keep in mind guys.... if you are simply showing a "video" (like a SLAMt1LT table or MOTU or Futurama, etc), and don't need it displayed on anything but a flat surface...

...then using a jpg Image Sequence on an Overlay / Hologram is still the best quality / performance / ram usage option there is.

If I could use a JPG Sequence like I do on an Overlay, then I would use that option by far for animated surfaces... but GIF is the only option for that without needing a crap load of Images used on surfaces.

I'm trying to keep RetroFlair 2 below 800 objects as much as I can... so I can add more toys and copy / paste in the future if needed (even with BAM fixes that allows more than 800... it doesn't remove the limit of copy / pasting more objects once you are over 800).
I notice a Lag in VR when using GIF movies on my Billiards table...it could be the connection through virtual desktop...but everything else runs smooth and it is only a Lag loding the gif ...once it is playing it works perfectly
 
@ravarcade @polygame
1. - is it best to convert GIFs to a power of 2 texture? (128x128, 256x256,etc)
2. - when are GIFs "not" causing a strain on the cpu? Is it best to use a .stop command and then swap back the original texture?
3. - are gifs decoded only when they are use in BAM command? If I added "option" in script to NOT use GIFs(for slower PCs), are they only loaded in ram, but not processed / decoded at all by cpu?
1. No. Power of 2 texture ware usefull 20-15 years ago. Not now.
2. Gif will use CPU time when it has to decode next frame. If it stays at one frame, because animation is finishe,d it will not use any resources.
3. Yes.
 
@ravarcade
Thanks for info.....I wanted to ask you,please...how I create a video-clip, in gif?and what is the execution code?


EDIT:
ok, maybe it's not clear what I mean, I rectify.....

I have this video clip, on in monitor-display in toy
View attachment video-clip.mp4
is this is the execution code,
Movie.frame 155,215: Movie.UpdateInterval = 30

in "gif" how do I create it?

in this table I have 900 frames of video-clips, and FP loading takes a long time, in "gif" I should solve this problem, right?
 
Last edited:
@ravarcade
Thanks for info.....I wanted to ask you,please...how I create a video-clip, in gif?and what is the execution code?


EDIT:
ok, maybe it's not clear what I mean, I rectify.....

I have this video clip, on in monitor-display in toy
View attachment 16104
is this is the execution code,


make multiple smaller gifs
Movie.frame 155,215: Movie.UpdateInterval = 30

in "gif" how do I create it?

in this table I have 900 frames of video-clips, and FP loading takes a long time, in "gif" I should solve this problem, right?
 
I have download all .gif sample tables and tested.
They are all very impressive but there is not one example that I can see that has stopped a gif and had it return to it's
original texture. "gif.RestoreTexture() - hides gif, so used texture will be visible as original"
I have tried using the gif.RestoreTexture() command in many different variables but it throws an error every time.
If anyone has used this command or
"gif.Stop() - stops decoding/playing gif (but gif is still visible").
Can you please share the code, I am trying to work this out but failing badly.
Guessing it's just me being retarded and there is a s simple answer, cheers!
 
The gif portion of the command is replaced with what you re using.

So if using...

Dim Gif_Flippers_Water
Set Gif_Flippers_Water = xBAM.LoadGif("water_flipper")

....then you use...

Gif_Flippers_Water.Stop
Gif_Flippers_Water.RestoreTexture
 
Hi Terry
Thanks mate, I was trying to use .RestoreTexture as a standalone command.
Not certain what I was thinking. Works perfectly now, cheers!

Sub firestart()
Dim g
Set g = xBAM.LoadGif("firesw")
g.ReplaceTexture "steel2"
g.UpdateInterval = 7
g.Frame 0, g.NumFrames-1, g.NumFrames-g.NumFrames
End Sub

Sub firestop()
Dim g
Set g = xBAM.LoadGif("firesw")
g.ReplaceTexture "steel2"
g.RestoreTexture
End Sub
 
make multiple smaller gifs
Thanks Steve, but before making small gifs, I need to know how to create them, that's my problem, I don't know how to create them.
example, I have 10 frames in jpg, how do I merge them into gif?
 
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
      Chat Bot Mibs Chat Bot Mibs: roachie has left the room.
      Back
      Top