private void Update() { float moveX = 0f; float moveY = 0f; if (Input.GetKey(KeyCode.W)) { moveY = +1f; } if (Input.GetKey(KeyCode.S)) { moveY = -1f; } if (Input.GetKey(KeyCode.A)) { moveX = -1f; } if (Input.GetKey(KeyCode.D)) { moveX = +1f; } Vector3 moveDir; switch (axis) { default: case Axis.XZ: moveDir = new Vector3(moveX, 0, moveY).normalized; break; case Axis.XY: moveDir = new Vector3(moveX, moveY).normalized; break; } if (moveX != 0 || moveY != 0) { // Not idle } if (axis == Axis.XZ) { moveDir = UtilsClass.ApplyRotationToVectorXZ(moveDir, 30f); } transform.position += moveDir * moveSpeed * Time.deltaTime; }
public void SpawnBlood(int bloodParticleCount, Vector3 position, Vector3 direction) { for (int i = 0; i < bloodParticleCount; i++) { Vector3 dir; if (meshParticleSystem.GetAxis() == MeshParticleSystem.Axis.XY) { dir = UtilsClass.ApplyRotationToVector(direction, Random.Range(-15f, 15f)); } else { dir = UtilsClass.ApplyRotationToVectorXZ(direction, Random.Range(-15f, 15f)); } singleList.Add(new Single(position, dir, meshParticleSystem)); } }