public void update() { float v = g.inputX; obj.anim.SetFloat("Speed", v); Vector3 accel = new Vector3(0, 0, v); accel = obj.transform.TransformDirection(accel); if (v > 0.1f) { accel *= forwardSpeed; } else if (v < -0.1f) { accel *= backwardSpeed; } bool isJump = obj.isAnimState("Base Layer.Jump"); bool isSlide = obj.isAnimState("Base Layer.Slide"); if (!isJump && !isSlide) { obj.anim.SetBool("Jump", false); obj.anim.SetBool("Slide", false); if (g.isButtonDown("Jump") || g.isKeyDown(KeyCode.UpArrow)) { if (!obj.animator.IsInTransition(0) && v >= 0.0f) { obj.rigidBody.AddForce(Vector3.up * jumpPower, ForceMode.VelocityChange); obj.anim.SetBool("Jump", true); } } else if (g.isButtonDown("Fire1") || g.isKeyDown(KeyCode.DownArrow)) { if (!obj.animator.IsInTransition(0)) { accel *= slidePower; obj.anim.SetBool("Slide", true); } } } velocity = Vector3.Lerp(velocity, accel, 0.1f); obj.pos += velocity * Time.deltaTime; if (obj.pos.y < 0.0f) { obj.pos = new Vector3(obj.pos.x, 0.0f, obj.pos.z); } //float h = g.inputY; //obj.anim.SetFloat("Direction", h); //obj.transform.Rotate(0, h * rotateSpeed, 0); }