• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Billboard

Messages
194
Country
unitedstates
Has anyone ever tried to build a billboard that sequences various texture files...i.e. like a slide show? Are there any parameters that can be placed on such an object to determine which texture is applied? Or could this be done using an effect?
 
Yes, I have thought about doing that, but I have not tried it before. In theory it is very well possible to make a slide show like that.

You could either display different textures, but probably using different parts of one texture is better (to prevent a visible loading effect between the textures). I have used something similar to that in my docking systems.

What kind of tool are you using for your objects? With any tool it will require some source code tweaking, but I might be able to give some tips and examples.
 
If you are working in gMax and using the FS2004 gamepack, animated textures are the way to go. They are easier and more frame rate friendly than fx. The trick is editing the _0.asm file to slow the animation down so that an image is displayed for longer than one second which is the slowest setting you can do in gMax alone. The speed of the animation is set in this part of the *_0.asm file and is using 8 images displayed at 8 fps using a material name of Animate_usflag_8_8_ so the images are named USFLAG0000.bmp thru USFLAG0007.bmp:

usflag2_AnimMaterialMod_1 label word
dw 1000 ; Number of milliseconds in the sequence = [(1000/8) * 8]

where, in this case, the total time in milliseconds is 1000, and is not very long at all. But you could easily change this to a higher value (longer animation).

However, there is another value in the next command that needs changing also:

usflag2_AnimMaterialInterp_2 label word
dw 2
dw 0,0, 874, 7

The value of 874 is what I call an interpolation mulitplier for lack of a better term, and should remain in a constant ratio to the time in milliseconds. Different numbers of images will require different ratios, so to find the proper ratio for the number of images you are using just set your material name to a one to one value like Animate_usflag_16_16_ or Animate_usflag_3_3_.

If you change the time in milliseconds to 8000 (which is the same as 8 frames @ 1 fps) then the interpolation multiplier would be 6999.

By tweeking these values in the *_0.asm file, you can get the speed down to a more realistic looking animation for something like a billboard. Remember to recompile the *.asm file to a new mdl file with bglc_9.exe after the tweeking.

Lou
 
Last edited:
would this be similar to the method the author would have used for an airport scenery ( dubai i think ) where inside the terminal buildings there are what looks like huge noticboards in the style of multiple video screens ?

I was very impressed when i saw this on the trial version i had installed.

Jeff
 
Thanks Lou, I was not aware of that material prefix yet. Works a lot easier than tweaking the code yourself :).

About that piece of code for the interpolation. This is how it looks when you do 8 animations (so the _8_8 option).

Code:
test_AnimMaterialInterp_2 label word
    dw 2
    dw 0,0, 874, 7

The 874 is not just a magic number. This animation code splits the 1000 milliseconds into eight pieces and gives them a value between 0 and 7 (for the texture numbers that is). So if you do (1000/8*7)-1 you will have the time number at which the last texture should start, and that is the 874.

For a test I increased the 1000 to 16000 to see my textures a bit longer. In that case the starting time of the last texture becomes (16000/8*7)-1 = 13999. So I edited the code as shown below.

Code:
test_AnimMaterialInterp_2 label word
    dw 2
    dw 0,0, 13999, 7

When you are using a different number of textures (so not 8), you need to divide and mulitple by the correct number of textures of course.
 
Arno,

That makes better sense. So basically the line:

dw 0, 0, 13999, 7

brakes down to, start frame time, number of the starting image, end frame time, number of the end image, then FS calculates the blanks in between. Great to know.

Lou
 
Hi Lou,

Yes, this code only creates a table. So in this case it defines a lineair relation between the time and the texture number. The interpolation code below does the actual calculation work. So by changing this table you could also get different lengths of display for each texture or things like that.
 
I have thought about making an animated drive in or billboard before, but using the attach effects tool to do it...

The effects SDK says how to created animated sprites and it's pretty simple to do once you understand the process... Then all you have to do is create the correct sized BMP broken down into multiple cells for each animation frame...

It'd be great though if FS could allow like animated Flash files to become an embedded effect or object into FS...

I have to say though after seeing the CFS effects that use the effects animations I am all sold on effects animations being attached to MDL's...
 
Thanks everyone for the great input! I had contemplated trying it with an effect application. Jeff....do you remember where you saw the Dubai scenery?

What originally got me thinking about it was a flight arrival board....but couldn't imagine how to trigger the change in the billboard by having the plane touch down. Then I just got to wondering how images could be sequenced by time of day. It would only work for regularly scheduled flights.
 
Last edited:
Just found this - and it's exactly what I'm looking for. :)

Could anyone please tell me, how I assign the textures in GMax so that it displays all of them and not (as usual) one texture? I mean, it's not like at the effects, where the animated texture is only one bmp which is divided in 8 little squares, or is it? :confused:
 
Hi Thorsten,

Lou explained it all in his first post. You need to use the material prefix animate_ with some parameters to define the number of textures. MakeMDL then automatically adds the numbers 0000, 0001, 0002, etc to the texture base name of your material.
 
Thanks, Arno, I thought there would be a step-by-stepexplanation somewhere... :o
Well, not to worry, I'll have a try when I'm back (going to be away for two weeks), so thanks for now. ;)
 
Hi Thorsten,

I have never seen such a step by step tutorial. If I remember correct it is something like:

  1. Give the correct prefix to your material
  2. Apply that texture as usual
  3. Make the different textures for the animation (so with the numbers 0000, 0001, 0002, etc)
  4. That should be all :)

If you still get stuck, just ask again with a specific question where it goes wrong.
 
adding night texture..

hi guys...I'm very sorry to bump up this very old post, but I really need help to solve this problem

I achieve creating the animated texture using Firestriker method but the problem is how to apply night textures on them...I've tried the usual manner using texture0000_LM.bmp, texture0001_LM.bmp but it doesn't "lit up" in FS world..so how do I apply the night texture

thank you very much in advance:)
 
Have you added the night texture in the correct slot of the material? I must say I have never tried it for such animated textures, but that would be my first try. Else you can always tweak the ASM code to add them in :).
 
hai arno:)

yes I have locate my night texture in correct slot of the material but still no "light" if FS world :( my I know what part and how to tweaked the asm file ?

now I facing new problem, it seem using this animating texture causing surrounding texture (I mean default stuff like building,ground n mountain) looks blurry...I know it when I remove the bgl file contained animated texture from scenery folder, everything goes back normal but when I put it back into scenery folder it happened again..

anybody know how to overcome this? please help me...thank you in advance
 
Hi,

I checked it in GMax now and the night textures do indeed not work. Actually the texture slots are not used at all, since the texture name is in the material name.

But I don't think tweaking the ASM code would work either. As it seems the MATERIAL_ANIMATE command loops over a given range of textures. But if you add night textures, it should skip the night ones (as they are subtextures of the day texture). That seems not possible with that command.

The only work around I see at the moment is to completely rewrite the logic of the texture switching, but that would be quite a lot of work to do.

About the blurry problem, which format did you use for your textures?
 
Hi,

About the blurry problem, which format did you use for your textures?

I used DXT1 convert from PSD format using imagetool, I wonder how flytampa did their animated texture ? plus it was done on single texture (made on few frame)
 
Hi,

Switching a texture is not that hard. If you look at my docking system tutorial you will see that I also change the piece of the texture there based on some conditions. In that case it is the distance to the stopping point, but if you would use a timer variable you can easily make an animated texture that way.
 
hi..I was thinking on trying to do the animating texture using your docking system tutorial method...

the animation I'm trying to do is this simple blinking position and hold light with 2 frame of animation (for a start :D )
untitledva5.jpg

in my _0.asm file the code representing the light (applied on a panel) is this

MATERIAL 1,0 ; <255,255,255,255> LAMPOO.BMP;;;
DRAW_TRI_BEGIN 168, 4
DRAW_TRI 3, 1, 2 ; poly=173 part=1
DRAW_TRI 0, 2, 1 ; poly=174 part=1
DRAW_TRI_END

the vertex defination is this..
VERTEX_DEF 0.196000, 0.268000, 0.448000, 1.000000, 0.000000,0.000000, 0.500000,0.000500 ; 168 part= 1 prim=2
VERTEX_DEF 0.196000, 0.268000, -0.452000, 1.000000, 0.000000, 0.000000, 0.000500,0.000500 ; 169 part= 1 prim=2
VERTEX_DEF 0.196000, 0.768000, 0.448000, 1.000000, 0.000000, 0.000000, 0.500000,0.999500 ; 170 part= 1 prim=2
VERTEX_DEF 0.196000, 0.768000, -0.452000, 1.000000, 0.000000, 0.000000, 0.000500,0.999500 ; 171 part= 1 prim=2

so my question...is the code that we need to tweak is always the final 2 VERTEX DEF ?
 
Back
Top