bro, your tutorials is beautiful i make my own game using mechanics in your videos you show and i'm very happy with the result hope you will release more new videos soon!
@RehopeGames
Жыл бұрын
Glad to hear that , thank you so much 🙏
@user-id6kh1yu8l
11 ай бұрын
amazing!
@RehopeGames
11 ай бұрын
Thanks! 😊
@nchtblut
8 ай бұрын
100/100
@RehopeGames
8 ай бұрын
🙏
@buriedomasta3375
Жыл бұрын
very helpful thanks.
@RehopeGames
Жыл бұрын
I'm glad it was helpful! Thank you so much 😊
@calvinhart8860
Жыл бұрын
For some reason after i added the touch particles its behaving like a switch . When the scene starts the movement particles or fall particles dont play until I hit the first wall then as soon as I hit the 2nd wall they turn back off. The only particles that are consistent are the touch particles.
@RehopeGames
Жыл бұрын
how long have you been making games with unity ?
@DungNguyen-vd3vs
3 ай бұрын
When I touched wall and flip, movement partile didnt display, It only display when moving right, moving left it disappear, please help me
@whysl
Жыл бұрын
What I gotta do, if when I replacing particles to player, it just didn't show up(when I play the "start" button on particle) and when particle not children to player, it showing in scene, but in game - doesn't
@RehopeGames
Жыл бұрын
pls check z position of particle
@whysl
Жыл бұрын
@@RehopeGames z position is 0, z acale is 1.
@PandaPlusStudios
Ай бұрын
My trail renders isn’t showing but if I make everything else in the game invisible then it shows
@taboret-2137
Жыл бұрын
Hi, I have a problem. I'm doing the same as in the tutorial but unfortunately for me the result is different. In the game, when I walk the character, the dust is as if delayed very much and recreates continuously, and when I fall, it does not recreate the second dust. I don't know what you're doing wrong. please help
@RehopeGames
Жыл бұрын
Hi, I think your particle system settings different
@taboret-2137
Жыл бұрын
@@RehopeGames It's just that I did step by step as you showed and something is wrong and I don't know what. I've done it again and again a few times and it's still the same : v
@0sth
11 ай бұрын
hello, i've been having some problems in movement particle. movement dust shows when player moves to one direction but particle does not show when chacrter goes to opposite direction. in editor it shows alright , but only in game preview. When ever character rotates the movement particle z index position goes behind the background image.
@RehopeGames
11 ай бұрын
Hello I hope you solved the problem. Did you follow me step by step ?
@drallagon
9 ай бұрын
@@RehopeGamesI have the same problem, but even following step by step it's super easy to miss the changes you don't narrate. In this video there was a change (Random Between Two Constants) that is only show for like during 1 second, even at 0,25x speed it was hard to see what was done!
@DungNguyen-vd3vs
3 ай бұрын
@@drallagon Have you solved it ? Help me please
@PerEffect0
8 ай бұрын
abicim iyi hoş da keşke scriptleri verseydin hazırdan neden uğraştırıyorsun her seferinde
@RehopeGames
8 ай бұрын
Videoların açıklamalarına eklicem kardeşim kodları yakında, hatta tüm projeyi paylaşmayı düşünüyorum biraz daha ilerleyince.
@PerEffect0
8 ай бұрын
@@RehopeGames valla çok iyi olur abi kolay gelsin.
@spectrability4217
Жыл бұрын
i dont have the universal render pipeline shader as an option
@RehopeGames
Жыл бұрын
Hello , you can install it from Package Manager
@fumi____
8 ай бұрын
no dust appearing 😢
@RehopeGames
8 ай бұрын
🤔
@IM-ws5if
Жыл бұрын
i have problem when the player flip the moving particle don't flip with player
@IM-ws5if
Жыл бұрын
i found the solution write this script using System.Collections; using System.Collections.Generic; using UnityEngine; public class particleControll : MonoBehaviour { [SerializeField] ParticleSystem movementParticle; [Range(0,10)] [SerializeField] int occurAfterVelocity; [Range(0,0.2f)] [SerializeField] float dustFormationPeriod; [SerializeField] Rigidbody2D playerRb; float counter; bool isOnGround; private void Update() { counter += Time.deltaTime; if (isOnGround && Mathf.Abs(playerRb.velocity.x) > occurAfterVelocity) { if (counter > dustFormationPeriod) { movementParticle.Play(); counter = 0; } } // Move the particle system to the player's position transform.position = playerRb.transform.position; // Flip the particle system based on the player's velocity if (playerRb.velocity.x < 0) { transform.localScale = new Vector3(-1, 1, 1); } else if (playerRb.velocity.x > 0) { transform.localScale = new Vector3(1, 1, 1); } } private void OnTriggerEnter2D(Collider2D collision) { if (collision.CompareTag("Ground")) { isOnGround = true; } } private void OnTriggerExit2D(Collider2D collision) { if(collision.CompareTag("Ground")) { isOnGround = false; } } } I hope it works
@RehopeGames
Жыл бұрын
I think it work Also you can flip the particle in movement controller script same time player flip
Hello! Thank you very much for your great tutorials. I have a problem in this part. In the part where we display the particles, When our character moves backwards, The value of x becomes negative and therefore does not display the particles. // private void Update() // { // counter += Time.deltaTime; // if (Mathf.Abs(playerRb.velocity.x) > occurAfterVelocity) // { // if (counter > dustFormationPeriod) // { // movementParticle.Play(); // counter = 0; // } // } // } When the character moves backwards, playerRb.velocity.x is approximately negative 8. Therefore, the particles are not displayed. Is there a solution?
@RehopeGames
Жыл бұрын
Hello, ********************** Movement Controller Script ****************** using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.InputSystem; public class MovementController : MonoBehaviour { Rigidbody2D rb; [SerializeField] int speed; float speedMultiplier; [Range(1,10)] [SerializeField] float acceleration; bool btnPressed; bool isWallTouch; public LayerMask wallLayer; public Transform wallCheckPoint; Vector2 relativeTransform; public bool isOnPlatform; public Rigidbody2D platformRb; public ParticleController particleController; private void Awake() { rb = GetComponent(); } private void Start() { UpdateRelativeTransform(); } private void FixedUpdate() { UpdateSpeedMultiplier(); float targetSpeed = speed * speedMultiplier * relativeTransform.x; if (isOnPlatform) { rb.velocity = new Vector2(targetSpeed+platformRb.velocity.x, rb.velocity.y); } else { rb.velocity = new Vector2(targetSpeed, rb.velocity.y); } isWallTouch = Physics2D.OverlapBox(wallCheckPoint.position, new Vector2(0.06f, 0.55f), 0, wallLayer); if (isWallTouch) { particleController.PlayParticle(ParticleController.Particles.touch, wallCheckPoint.position); Flip(); } } public void Flip() { transform.Rotate(0, 180, 0); UpdateRelativeTransform(); } public void UpdateRelativeTransform() { relativeTransform = transform.InverseTransformVector(Vector2.one); } public void Move(InputAction.CallbackContext value) { if (value.started) { btnPressed = true; } else if (value.canceled) { btnPressed = false; } } void UpdateSpeedMultiplier() { if (btnPressed && speedMultiplier < 1) { speedMultiplier += Time.deltaTime*acceleration ; } else if (!btnPressed && speedMultiplier > 0) { speedMultiplier -= Time.deltaTime*acceleration ; if (speedMultiplier < 0) speedMultiplier = 0; } } } ********************** Particle Controller Script ****************** using System.Collections; using System.Collections.Generic; using UnityEngine; public class ParticleController : MonoBehaviour { [Header("Movement Particle")] [SerializeField] ParticleSystem movementParticle; [Range(0,10)] [SerializeField] int occurAfterVelocity; [Range(0,0.2f)] [SerializeField] float dustFormationPeriod; [SerializeField] Rigidbody2D playerRb; float counter; bool isOnGround; [Header("Particles")] [SerializeField] ParticleSystem fallParticle; [SerializeField] ParticleSystem touchParticle; [SerializeField] ParticleSystem dieParticle; AudioManager audioManager; private void Awake() { audioManager = GameObject.FindGameObjectWithTag("Audio").GetComponent(); } private void Start() { touchParticle.transform.parent = null; dieParticle.transform.parent = null; } private void Update() { counter += Time.deltaTime; if (isOnGround && Mathf.Abs(playerRb.velocity.x) > occurAfterVelocity) { if (counter > dustFormationPeriod) { movementParticle.Play(); counter = 0; } } } public void PlayParticle(Particles particle, Vector2 pos = default(Vector2)) { switch (particle) { case Particles.touch: audioManager.PlaySFX(audioManager.wallTouch); touchParticle.transform.position = pos; touchParticle.Play(); break; case Particles.fall: audioManager.PlaySFX(audioManager.wallTouch); fallParticle.Play(); break; case Particles.die: audioManager.PlaySFX(audioManager.death); dieParticle.transform.position = pos; dieParticle.Play(); isOnGround = false; break; default: break; } } private void OnTriggerEnter2D(Collider2D collision) { if (collision.CompareTag("Ground")) { PlayParticle(Particles.fall); isOnGround = true; } } private void OnTriggerExit2D(Collider2D collision) { if (collision.CompareTag("Ground")) { isOnGround = false; } } public enum Particles { touch, fall, die } }
Пікірлер: 36