The Infinity Blade Forums Have Moved

We've launched brand new Infinity Blade forums with improved features and revamped layout. We've also included a complete archive of the previous posts. Come check out the new Infinity Blade forums.
See more
See less

prop switch - texture switch - preload - getproperty questions

  • Filter
  • Time
  • Show
Clear All
new posts

  • prop switch - texture switch - preload - getproperty questions

    my name is Filippo and I'm 3d artist @ Milestone.

    For fun and to learn UDK, I'm trying to port some of our SBK assets into this great engine, in particular some of the riders.

    I have imported the rider body skeletal mesh, a couple of helmet meshes and some textures sets and some animations.
    I managed to create a phisichal asset for the rider, to create socket for the helmet mesh, place the rider body into a level, place an helmet and snap it to the socket.
    Using matinee i was able to play an animation (the helmet correctly followed it), to generate another material instance to switch to a second rider (with different textures) with kismet and setmaterial.

    Now here is some questions:

    1 - How can I change the helmet mesh using kismet? I would like to change dynamicly the helmet with another helmet model (another skeletal mesh) and attach the new one to the correct socket. What is the correct way to do that? should I place all helmet models in the level, snap all them to the socket and hide all but one of them with kismet? I would like to avoid this because I'll eventually have 30 different helmet models... Is it possible to actually substitute a socket-snapped mesh with another one?

    2 - about the texture switch: With the method I found I will have to create 2 material instance for every rider (body and helmet) where the only difference is textures. Is it possible to modify the texture (2dparam) of a materialinstance with kismet like if it was a vectorparam that i can control with matinee?
    I would like to find a way to set those params of a single material instance because having numerous mat-inst causes some problems like: when i switch material textures they are not pre-loaded, so I will see textures come into game from the highest mip lvl to the lower - If i want to change a vectorparam to the rider body mat with kismet (damaged/undamaged for example) i will have to set it on every single mat instance of every rider, or the damaged status will be reset when I switch to another matinst for the second rider.

    3 - Is it possible to pre-load some assets (textures for example) that are not visible when the level loads? Should I use preload level node? creating an empty level with all textures visible from the start?

    4 - How can I read in kismeth the material that is applied to a skeletal mesh and save this information into a variable? So that I can set a vectorparam to that matinst and not to a fixed one? I tried to use the getproperty node but I wasn't able to make it work

    Thanks in advance

  • #2
    nobody knows?


    • #3
      1. is easily done in Unrealscript, by just using different StaticMeshComponents to attach to the sockets. I'd guess just as easily, one could use UnrealScript to write a new Kismet sequence to do it, although I don't know anything about writing Kismet sequences (and since I don't know anything about writing Kismet sequences, there could be some way of doing that already.. however, i doubt it, because Kismet is more for level event type systems, rather than gameplay systems)