Tutorial BAM How Creating Custom Model of and with Bam(in TGA way)!!

Paolo

No Bam no Play
Chat Moderator
Site Supporters
Joined
Mar 16, 2013
Messages
1,370
Solutions
3
Reaction score
627
Points
131
Favorite Pinball Machine
Batman(Data East)
Bene!! a few days ago I received from a friend of mine a GT 430, I know it is always a very low graphics card, compared to my GT 220 I took a small step forward in terms of driver...I solved the problem of "black textures" that I saw and have before in a "custom model of bam" is this is great for me to have solved it!(it will be a dream when I have a gtx 1080 onwards)

Ok,so I proceeded like this:

1)have your model in milkshape
Cattura55.JPG

2)upload the model in "ModelImporter" found in the Bam folder,by clicking on "Open Model",and make sure you have its texture in the same place where you have the model.
Cattura999.JPG

3)click on Save as TGA in your desktop,with a name of your choice, a full name without a hyphen......then load it in FP,together with the texture.
Cattura845.JPG

4) in script you insert this code;
Cattura695.JPG

Dim GokuModel
Set GokuModel = xBAM.CreateModel("GokumodelBam")
GokuModel.Position.X = trigger25.x
GokuModel.Position.X = trigger25.x
GokuModel.Position.Y = trigger25.y
GokuModel.Height = 85

and in Editor add a trigger,in this case trigger25,this trigger has the function of creating the position of your model in Bam.
the name "GokumodelBam" is the model name in tga, which is shown on the code above.
gokus.JPG


5)you go in bam,in the section "custom model"here you can do what you want, rotate the model, enlarge it, resize it, move it higher, etc, etc
bgh.jpg

them press keys ctrl+c, copy the values of the model.then in script ctrl+v,paste the values.
Catturacvhbfcgh.JPG

6)delete the code and trigger 25,described in point 4. leave only the new code created with copy and paste,this one above in point 5


So....in this way, you have a model that does not weighing down FP, both as resources and in loading, I believe that it is no longer necessary to reduce the polygons or divide it into several parts, as I did before.THANKS TO BAM!!
 
Last edited:
@TerryRed
Cattura66854.JPG
You are absolutely right, but there is also the fact of not weighing down FP, in resources and in loading!
 
@Paolo
I suggest that you create a free pdf guide about the steps you have done and point out (url) the softwares you have (downloaded) put and used. Like so peoples could be "offline" and use your instructions"

Here is an url to an none official pdf guide about creating a document with OpenOffice. So you could create pages of your instructions in 1 file:
https://drive.google.com/file/d/1mvVT9RgM9nE0C08fE1d2rVzHM00JEq80/view?usp=sharing (sfavron_openoffice_guide_signed.pdf)
It might help peoples? Well i hope.

A+
 
I suggest that you create a free pdf
perhaps in the future, for now I believe that this explanation in this way will suffice.

@TerryRed
I ask you, who for now are the one who has used this system most of all.so let's see if you did something like this.

I have the dragon model converted to "Popup" that when I hit a drop target, the dragon it move up and down, I created this effect for fun, and here is my question;
if I convert this model to tga, FP no longer sees it as a "popup" as it is obvious, so in tga how to do the movements? in function "mini-playfield" it is necessary to always have a model "visible to be able to catch it, you can catch a tga? is there any possibility? or should I ask Rav?

PS: @Gimli ,or someone else, you are free to respond if you know anything about it,thanks!
 
Once capture the tga model in a mp box then you can code it to popdown or up using mp move commands

Also your human model can be animated in mixamo
 
Once capture the tga model in a mp box
the model in tga is invisible, in the sense that there is no object in the editor, and if there is not an object you cannot grab it ... right?
the model in tga is like a texture not in model, and just this I was wondering if "we" can animate a tga.....maybe it is possible using this window?

bgh.jpg
 
Also your human model can be animated in mixamo
yes I understand, like you did for MJ, but for the moment I wanted to do a simple movement, up and down
 
I recommend setting GokuModel.Height = 1, and don't change this value. This is a base reference that shouldn't be changed.

For a simple movement, you can either:

- use a miniplayfield to capture and move a BAM Custom model (move instantly, or move over time)

- or you can just change the model's x / y / z position (instantly without a miniplayfield, but not over time)

GokuModel.Position.X = 20
GokuModel.Position.Y = 100
GokuModel.Position.Z = 40

The Z is your height.

If you want to "hide" the object.... you can change the scale to 0.

GokuModel.Scale.X = 0
GokuModel.Scale.Y = 0
GokuModel.Scale.Z = 0

I recommend doing this instead of using a .visible command, as some models can cause other models to look weird or distort when using .visible = false (BAM bug possibly).

Also, DO NOT try to hide or position a BAM Custom model inside the cabinet under the playfield. They will always be visible if the player has reflections turned on! They can't hide under the playfield like other FP models can. I found this out when trying to hide Michael Myers in my Halloween PinEvent mod. These models can be hidden under a "surface" (like I do in RetroFlair 2 when they rise and lower from the side plastics)
 
Last edited:
ok, you probably use the primary model entry code,for your model,but I then used what it creates bam

when i talk about model invisibility, i am not referring to the bam command, or hiding the model under the playfield, as i always did for normal fp models, when i animate them with fp commands,no

what i said in reply to gimli, that in tga you can't use them in miniplayfield, why can't you catch them, you can?I think not, because they are invisible, at least for me.....do you see the model of Goku below? I have all 1/10 layers visible
Cattura111.JPG

Ok...I made a video,and show you what happens if I change the values including GokuModel.Height =

this is the code that creates bam,of the current model of where it is positioned and how

Dim cm_GokumodelBam
Set cm_GokumodelBam = xBAM.CreateModel("GokumodelBam", 290, 365, 37, 90, -5, 0, -5, True, False)
cm_GokumodelBam.Kd.Set 0.8, 0.8, 0.8
cm_GokumodelBam.Ks.Set 0.153, 0.153, 0.153, 1
cm_GokumodelBam.Rim.Set 1, 1, 1, 0
cm_GokumodelBam.Spe.Set 32, 1, 1
cm_GokumodelBam.Part( 1).Ks.Set 0.153, 0.153, 0.153, 1

View attachment goku.mp4


I thought that a tga could be animated, and that you(terry) already did,but it is not possible.
There is a way,that I thought but more expensive, that I have to test, I have to create 4 subs, of this code, with different heights, as if to simulate up and down, and activate them with a timer.
 
Yes, you "can" use miniplayfield with BAM models, as that is what I do in Silent Hill and RetroFlair2 and Halloween.

- ONLY set the BAM model height to 1
- set the Scale to the size you want for the model
- set the model position to where you will be using the miniplayfield (better to not position on the playfield)
- CTRL+C and paste model settings to the script
- create the miniplayfield to capture the BAM model, CTRL+C and paste to script
- use miniplayfield to position / move / scale the model (instantly or over time), CTRL+C and paste to script
- BAM models can NOT be hidden under the playfield!


You can see how I capture the model and move it in this video in the miniplayfield section:


 
Last edited:
Yes, you "can" use miniplayfield with BAM models, as that is what I do in Silent Hill and RetroFlair2 and Halloween
are your models in tga?
 
Yes.

When I say BAM Custom Models or BAM Models, I am referring to TGA models

The video above shows me moving the nurse model which is a BAM Custom Model (that is also animated)
 
ok, how do you capture the tga, if there is no model in the editor to catch?

EDIT
ok, I send you this my demo if you agree
 
Last edited:
Paulo... I already answered your question in the above responses and I also showed you how it works in the video above.
 
Paulo... I already answered your question in the above responses and I also showed you how it works in the video above.
Ok,pm for you!! and thanks
 
Hi All,

If i understand right, this permit to make editor navigation not to heavy? just by put a trigger in editor? and then, place it as we want with scale we want?
 
Hi All,

If i understand right, this permit to make editor navigation not to heavy? just by put a trigger in editor? and then, place it as we want with scale we want?

If you are talking about BAM Models.... they have nothing to do with the FP editor at all (except to import them as a TGA image file). They are created and controlled in script, and then can be adjusted for size / postion / scale,etc in realtime while playing (using the BAM menu)... then copy and paste your adjustments to script.

It's the same with BAM mini playfields. They are created and adjusted in the BAM menu while playing, then copy / paste to script.

BAM doesn't make changes to the FP editor GUI itself. It adds new features we can use in script, or from the BAM menu tools while playing.
 
Last edited:
It is always interesting to see...
How much time and/or appreciation can be spared for those in this hobby that really care.
@Paolo, has more questions than all of us!! Why?

Who else here has not used @Paolo coding skills or his talents over many years to improve a table.
If you say, not me.. your an idiot.
It is so nice to see the respect and gratitude for all his contributions and talent in this hobby
that go unnoticed., cheers!
 
If i understand right, this permit to make editor navigation not to heavy?
The navigation in the editor FP, that is fast or slow, depends on how many objects you have on the table, according to my experience, objects in general and those like in toys, do not slow down the navigation in the editor, instead ....what slows down navigation are the lights, if you have many lights, and for example you model the plastics with the "layer" of lights activated you have a monstrous slowdown, in fact I put all the lights in a "layer" and I deactivate it, in the sense that you make them invisible in the editor

toys with many polygons slow down the loading of a table see for example the "slam" tables, without then thinking that they take resources from the pc ..... instead of "TGA" solve all these problems.

just by put a trigger in editor? and then, place it as we want with scale we want?
if you are talking about toys in tga, yes ..... that trigger is only for creating the model in tga in bam, I describe it in point 4.......then you delete it.

if you follow my explanation, which I think is quite simple to understand (if then the language barrier is a problem even with this explanation with pictures, well then I better hang FP on the wall, like boxing gloves, and close my career in fp) I have learned this method, maybe others do another way to create a model in tga ..... and yes after creating your model in tga you can do whatever you want in menu bam, see the image in point 5

regards
 
@Paolo, has more questions than all of us!! Why?
I prefer to answer in private, if necessary ...... but I am just the "tip of the iceberg", we all learn from everyone, and we are all human (maybe some guy are not ??), subject to some debate.

the most important thing is to have fun with this hobby.
 
Last edited:
@Paolo, mate I hope you did not think this was a negative comment.
Why? Because you want to learn more, help people and improve FP.
This was my meaning.
You know I will throw insults and call someone out if I think they are full of shit! (insert name here)
I have always respected your talents, what you have achieved and done for all of us in this hobby.
Unfortunately some people don't pay attention or have respect and already "supposedly" have all the answers.
So there is no need for them to ask questions, that is just stupidity....
Please keep asking why? or what if we do this?
FP is a team effort, sure I have posted some MOD's to try and give back, but I still have not contributed to this
community anything of techinical value like yourself and many others, cheers!
 
mate I hope you did not think this was a negative comment.
HI nitro....
absolutely not!! my friend
Why? Because you want to learn more, help people and improve FP.
This was my meaning.
and I understood very well what you said.
I was saying in private, because I think if I answer you here(to your question), what I would have written and said, could have been misunderstood, not by you but perhaps by others ,,,, and this is why I told you that I would have answered you in private.

yes sure I will, because to learn I or better "we" have to ask questions
 
Bene!! a few days ago I received from a friend of mine a GT 430, I know it is always a very low graphics card, compared to my GT 220 I took a small step forward in terms of driver...I solved the problem of "black textures" that I saw and have before in a "custom model of bam" is this is great for me to have solved it!(it will be a dream when I have a gtx 1080 onwards)

Ok,so I proceeded like this:

1)have your model in milkshape
View attachment 23045

2)upload the model in "ModelImporter" found in the Bam folder,by clicking on "Open Model",and make sure you have its texture in the same place where you have the model.
View attachment 23046

3)click on Save as TGA in your desktop,with a name of your choice, a full name without a hyphen......then load it in FP,together with the texture.
View attachment 23047

4) in script you insert this code;
View attachment 23049

Dim GokuModel
Set GokuModel = xBAM.CreateModel("GokumodelBam")
GokuModel.Position.X = trigger25.x
GokuModel.Position.X = trigger25.x
GokuModel.Position.Y = trigger25.y
GokuModel.Height = 85

and in Editor add a trigger,in this case trigger25,this trigger has the function of creating the position of your model in Bam.
the name "GokumodelBam" is the model name in tga, which is shown on the code above.
View attachment 23054


5)you go in bam,in the section "custom model"here you can do what you want, rotate the model, enlarge it, resize it, move it higher, etc, etc
View attachment 23051

them press keys ctrl+c, copy the values of the model.then in script ctrl+v,paste the values.
View attachment 23050

6)delete the code and trigger 25,described in point 4. leave only the new code created with copy and paste,this one above in point 5


So....in this way, you have a model that does not weighing down FP, both as resources and in loading, I believe that it is no longer necessary to reduce the polygons or divide it into several parts, as I did before.THANKS TO BAM!!
I remember paying a nominal fee for this model when you were doing your Michael Jackson Table. Now that you have a suitable graphics card you may choose to use it. Here is the demo
 

Attachments

  • michaelJackson.fpt
    22 MB · Views: 28
I just finished the tutorial. I will be able to optimize the loading time of my tables. I would like to understand how to add animation to tga models. I would like to make animations applied to models.
 
I just finished the tutorial. I will be able to optimize the loading time of my tables. I would like to understand how to add animation to tga models. I would like to make animations applied to models.
Sure
I only know humanoids (no animals) is that what you want ?

Check out my post from July 23 2020

There are videos and demo files to play with to learn how
 
Last edited:
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.
      JonPurpleHaze @ JonPurpleHaze: Heard a different Aaron Neville song earlier, saw him in New Orleans...
      • Like
      Reactions: xenonph
      Back
      Top