Current tutorial with FPSMeshTool?

braden

New member
Trying to setup FirstPersonController with something other than Nolan. Did the FPSMeshtool "seperation" to create multiple textures on another model, made arms/head invisible and ran Opsive character creation over it.

Created the seperate arms, but unsure how to get them integrated/used by the FirstPersonController.

Also, if i'm only using FirstPersonController (i.e. no 3rd person), is there any need to use that FPSMeshTool integration script?

Anyone know of recent tutorials showing this process?

cheers
 
The current tutorial created by the FPS Mesh Tool developer is accurate. Take a look at this post for some discussion around it:

 
The current tutorial created by the FPS Mesh Tool developer is accurate. Take a look at this post for some discussion around it:

So there's the FPSMesh video from 2018 where several people commented that it's not working unless ThirdPersonShooter is also in project, still no response from author.

And the second video by Jan which seems to be asking for help. The arms/weapon aren't working by end of vid.
 
I didn't create the FPS Mesh Tool integration but in the past I did go through the steps just to be sure it would work. For this integration it doesn't matter if you have the third person variant. What problems are you having? This sounds like it could be a general equip problem:

 
The problem following the first video is that his integration script is dependent on THIRD person controller, as identified by the other viewers of that video. Hence my OP wondering if anyone has used it recently for a First person only character.

If i follow along the second video (by Jan), or your demo videos...it seems the First Person Arms are being made invisible at runtime (fpc1.png).

If i enable them manually during runtime (fpc2.png), I note the animation isnt playing. Is this a generic (Opsive animations) vs humanoid arms (created from FPSMeshTool/Synty character) issue?

The arms are well above their pivot position (fpc3.png) as created by FPSMeshTool. I think this is why Jans were appearing well above player head (but invisible)..not sure if that'll cause further problems later
 

Attachments

  • fpc1.PNG
    fpc1.PNG
    258.1 KB · Views: 8
  • fpc2.PNG
    fpc2.PNG
    84.5 KB · Views: 9
  • fpc3.PNG
    fpc3.PNG
    202 KB · Views: 8
Included in the integration is UCCFPSMaterialController but that script doesn't look like it is dependent on TPC. Which script are you referring to that is dependent on TPC?

If i follow along the second video (by Jan), or your demo videos...it seems the First Person Arms are being made invisible at runtime (fpc1.png).

If i enable them manually during runtime (fpc2.png), I note the animation isnt playing. Is this a generic (Opsive animations) vs humanoid arms (created from FPSMeshTool/Synty character) issue?
It looks like you are using the FirstPersonControllerDemo for the hands - because you are actually using a humanoid set of animations you should use the UFPSDemo animator.

The arms are well above their pivot position (fpc3.png) as created by FPSMeshTool. I think this is why Jans were appearing well above player head (but invisible)..not sure if that'll cause further problems later
You can change the location that the arms spawn within the First Person Perspective component, adjusting the Position Offset spring.
 
This is the FPSMeshTools error i've been referring to:
fpc4.PNG

The "UFPSDemo" animator... I've tried the FirstPersonArmsDemo, FirstPersonControllerDemo and UltimateCharacterControllerDemo animator for the arms, each doing nothing. The arms object is still disabled when play starts, as highlighted in previous post.
 
Ahh.. I see now. You can fix that by including FindInvisibleMaterial in a THIRD_PERSON_CONTROLLER block:

Code:
#if UNITY_EDITOR && THIRD_PERSON_CONTROLLER

        protected override void FindInvisibleMaterial() {
            var perspectiveMonitor = GetComponent<Opsive.UltimateCharacterController.ThirdPersonController.Character.PerspectiveMonitor>();
            if (perspectiveMonitor) {
                invisibleMaterial = perspectiveMonitor.InvisibleMaterial;
            } else {
                base.FindInvisibleMaterial();
            }
        }

#endif

I'll get in contact with CodeBison and let him know.
 
Top