playMaker

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Franck

Pages: [1] 2 3 ... 5
1
Playmaker Help / Re: Trying to make a game like The Fortune Wheel
« on: November 07, 2018, 02:42:34 AM »
wow thank you very much for your kindness.

Indeed, it is not necessary to register the games. Player names should only appear for the game in progress.

I proceeded like this to put all this in place:

- UI Input Field Get Text
- Saving text in a global variable (because it's in the main menu)
- In the game scene, I get the previous global variable and I display the text typed by the players

Now the next step is to put a drop-down list that goes from 1 to 8 and display the correct number of Input Field to not clutter the screen.

I slowly discovered Playmaker for about 1 or 2 months and I'm not a developer so sorry if I ask silly questions sometimes :)

2
Playmaker Help / Re: Trying to make a game like The Fortune Wheel
« on: November 06, 2018, 10:59:46 AM »
Hi daniellogin,

thanks for your reply :)

I think you've put me on the right track.

I managed to stop the wheel when it's almost stopped.

This is how I did it:

- The button rotate it and send an event that compares the X position of one of the pads every half second. So I get X and X1

- Another FSM compares the 2 values ​​and when they are equal with 0.015 tolerence it sends to another event that puts the wheel in "isKinematic" so that it stops completely.

- From there I'm doing a raycast to find out exactly where the arrow is pointing.

It all seems to work very well.

Now the prototype of the spinning wheel is OK for me.

The next phase is to make a home menu that allows up to 8 players to enter their name. Once these names are entered we click on PLAY and it sends us to the scene of the wheel.

There, however, I do not see how to do all that.

An idea maybe? A tutorial?

I wish to make a local multiplayer on the same device.

3
Playmaker Help / Trying to make a game like The Fortune Wheel
« on: November 04, 2018, 08:59:24 AM »
Hello everyone,

I'm trying to prototype a new game like the Fortune Wheel.
Currently I can spin the wheel physically and it stops with the friction. The wheel as a rigidbody and don't use the gravity and is not kinematic.
To find out where the arrow stops, I throw a raycast from the bottom of this arrow. This raycast records a hitobject placed on the wheel.
I am now looking for ideas especially for how to know when the wheel is stopped to know the good hitobject with the raycast (because the raycast records the hitobject as the wheel rotates)?

And after when the hitobject is found I want to show the gain.

I think I must ensure that the wheel stops completely when it is between two studs but I do not know how to go there.


4
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 30, 2018, 07:32:41 AM »
Hmmm,

I think it's because I have an animator that stays on my camera holder right?
I must completely remove the animator on my camera holder.

5
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 30, 2018, 07:30:44 AM »
Hi djaydino,

I put the animator on the maincamera and I created the animation on it too. But that does not change anything my character is always on the same side.
Have you tried to do it on my project?

6
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 27, 2018, 06:32:58 AM »
Hi djaydino,

did you had the  time to download the project?
If yes is it ok? You can open it?

7
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 25, 2018, 02:11:53 PM »
PM Sent.

Be carreful about the bind. I use zsqd not wasd :)

8
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 25, 2018, 12:34:32 PM »
Sure, but my folder is 3Go... You have a good internet connection?

9
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 25, 2018, 10:13:42 AM »
In fact, the position is always the same. When I press the LEAN Button my Character goes to the same direction. Finaly there is just one direction that's right.

10
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 25, 2018, 09:48:21 AM »
Yes I tried that too just now and it's the same. The X is considered as Global :(

11
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 25, 2018, 09:40:14 AM »
I have the Camera Holder as parent and the Main Camera as Child.
I try to create an animation on the Camera Holder. In this animation I set the Main Camera and move on X.

But when I play this animation the X is taken as Global and not Local. How can I use the Local transform in animation?

12
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 25, 2018, 07:28:53 AM »
Hi djaydino,

it works with your method.
But now I try to make my Character lean right and left, I don't know how to do it with this method.

13
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 24, 2018, 02:09:18 AM »
Hi djaydino,

I bought your asset. It is especially to support you with all the help that you bring here.
I'm going to take a look at the camera in the bullet hole scene.

14
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 23, 2018, 07:59:51 AM »
Hi djaydino,

do you have examples of tutorials to get this result?

15
Playmaker Help / Re: Camera lock vertical look when rotate animation
« on: October 23, 2018, 06:48:07 AM »
For the movement, I use the FPSWalkerEnhanced script:

Code: [Select]
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(CharacterController))]
public class FPSWalkerEnhanced : MonoBehaviour
{

    public float walkSpeed = 6.0f;

    public float runSpeed = 11.0f;

    // If true, diagonal speed (when strafing + moving forward or back) can't exceed normal move speed; otherwise it's about 1.4 times faster
    public bool limitDiagonalSpeed = true;

    // If checked, the run key toggles between running and walking. Otherwise player runs if the key is held down and walks otherwise
    // There must be a button set up in the Input Manager called "Run"
    public bool toggleRun = false;

    public float jumpSpeed = 8.0f;
    public float gravity = 20.0f;

    // Units that player can fall before a falling damage function is run. To disable, type "infinity" in the inspector
    public float fallingDamageThreshold = 10.0f;

    // If the player ends up on a slope which is at least the Slope Limit as set on the character controller, then he will slide down
    public bool slideWhenOverSlopeLimit = false;

    // If checked and the player is on an object tagged "Slide", he will slide down it regardless of the slope limit
    public bool slideOnTaggedObjects = false;

    public float slideSpeed = 12.0f;

    // If checked, then the player can change direction while in the air
    public bool airControl = false;

    // Small amounts of this results in bumping when walking down slopes, but large amounts results in falling too fast
    public float antiBumpFactor = .75f;

    // Player must be grounded for at least this many physics frames before being able to jump again; set to 0 to allow bunny hopping
    public int antiBunnyHopFactor = 1;

    private Vector3 moveDirection = Vector3.zero;
    private bool grounded = false;
    private CharacterController controller;
    private Transform myTransform;
    private float speed;
    private RaycastHit hit;
    private float fallStartLevel;
    private bool falling;
    private float slideLimit;
    private float rayDistance;
    private Vector3 contactPoint;
    private bool playerControl = false;
    private int jumpTimer;

    void Start()
    {
        controller = GetComponent<CharacterController>();
        myTransform = transform;
        speed = walkSpeed;
        rayDistance = controller.height * .5f + controller.radius;
        slideLimit = controller.slopeLimit - .1f;
        jumpTimer = antiBunnyHopFactor;
    }

    void FixedUpdate()
    {
        float inputX = Input.GetAxis("Horizontal");
        float inputY = Input.GetAxis("Vertical");
        // If both horizontal and vertical are used simultaneously, limit speed (if allowed), so the total doesn't exceed normal move speed
        float inputModifyFactor = (inputX != 0.0f && inputY != 0.0f && limitDiagonalSpeed) ? .7071f : 1.0f;

        if (grounded)
        {
            bool sliding = false;
            // See if surface immediately below should be slid down. We use this normally rather than a ControllerColliderHit point,
            // because that interferes with step climbing amongst other annoyances
            if (Physics.Raycast(myTransform.position, -Vector3.up, out hit, rayDistance))
            {
                if (Vector3.Angle(hit.normal, Vector3.up) > slideLimit)
                    sliding = true;
            }
            // However, just raycasting straight down from the center can fail when on steep slopes
            // So if the above raycast didn't catch anything, raycast down from the stored ControllerColliderHit point instead
            else
            {
                Physics.Raycast(contactPoint + Vector3.up, -Vector3.up, out hit);
                if (Vector3.Angle(hit.normal, Vector3.up) > slideLimit)
                    sliding = true;
            }

            // If we were falling, and we fell a vertical distance greater than the threshold, run a falling damage routine
            if (falling)
            {
                falling = false;
                if (myTransform.position.y < fallStartLevel - fallingDamageThreshold)
                    FallingDamageAlert(fallStartLevel - myTransform.position.y);
            }

            // If running isn't on a toggle, then use the appropriate speed depending on whether the run button is down
            if (!toggleRun)
                speed = Input.GetButton("Run") ? runSpeed : walkSpeed;

            // If sliding (and it's allowed), or if we're on an object tagged "Slide", get a vector pointing down the slope we're on
            if ((sliding && slideWhenOverSlopeLimit) || (slideOnTaggedObjects && hit.collider.tag == "Slide"))
            {
                Vector3 hitNormal = hit.normal;
                moveDirection = new Vector3(hitNormal.x, -hitNormal.y, hitNormal.z);
                Vector3.OrthoNormalize(ref hitNormal, ref moveDirection);
                moveDirection *= slideSpeed;
                playerControl = false;
            }
            // Otherwise recalculate moveDirection directly from axes, adding a bit of -y to avoid bumping down inclines
            else
            {
                moveDirection = new Vector3(inputX * inputModifyFactor, -antiBumpFactor, inputY * inputModifyFactor);
                moveDirection = myTransform.TransformDirection(moveDirection) * speed;
                playerControl = true;
            }

            // Jump! But only if the jump button has been released and player has been grounded for a given number of frames
            if (!Input.GetButton("Jump"))
                jumpTimer++;
            else if (jumpTimer >= antiBunnyHopFactor)
            {
                moveDirection.y = jumpSpeed;
                jumpTimer = 0;
            }
        }
        else
        {
            // If we stepped over a cliff or something, set the height at which we started falling
            if (!falling)
            {
                falling = true;
                fallStartLevel = myTransform.position.y;
            }

            // If air control is allowed, check movement but don't touch the y component
            if (airControl && playerControl)
            {
                moveDirection.x = inputX * speed * inputModifyFactor;
                moveDirection.z = inputY * speed * inputModifyFactor;
                moveDirection = myTransform.TransformDirection(moveDirection);
            }
        }

        // Apply gravity
        moveDirection.y -= gravity * Time.deltaTime;

        // Move the controller, and set grounded true or false depending on whether we're standing on something
        grounded = (controller.Move(moveDirection * Time.deltaTime) & CollisionFlags.Below) != 0;
    }

    void Update()
    {
        // If the run button is set to toggle, then switch between walk/run speed. (We use Update for this...
        // FixedUpdate is a poor place to use GetButtonDown, since it doesn't necessarily run every frame and can miss the event)
        if (toggleRun && grounded && Input.GetButtonDown("Run"))
            speed = (speed == walkSpeed ? runSpeed : walkSpeed);
    }

    // Store point that we're in contact with for use in FixedUpdate if needed
    void OnControllerColliderHit(ControllerColliderHit hit)
    {
        contactPoint = hit.point;
    }

    // If falling damage occured, this is the place to do something about it. You can make the player
    // have hitpoints and remove some of them based on the distance fallen, add sound effects, etc.
    void FallingDamageAlert(float fallDistance)
    {
        print("Ouch! Fell " + fallDistance + " units!");
    }
}

I have the parent FPSCharacter, and in it I have 2 cameras. One (the main camera) for all, except weapons and one just for Weapons in order to hide the clipping with walls.

In the main camera I have my WeaponHolder. And the script for the camera is on the main camera and the camera for weapons.

Is it good or not?

Pages: [1] 2 3 ... 5