Top 32 유니티 2D 총알 발사 Trust The Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 유니티 2d 총알 발사 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://chewathai27.com/to team, along with other related topics such as: 유니티 2d 총알 발사 유니티 총알 발사 방향, 유니티 3D 총알 발사, 유니티 2D 마우스 총알, 유니티 총알 패턴, 유니티 총알 충돌, 유니티 총알 Destroy, 유니티 총 발사, 유니티 샷건 구현


[유니티2D] 총알을 쏴보자! 뿌슝!
[유니티2D] 총알을 쏴보자! 뿌슝!


2D 총알구현,발사

  • Article author: red-tiger.tistory.com
  • Reviews from users: 30420 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 2D 총알구현,발사 주로 백준문제풀이와 유니티개발일기 작성하고있습니다~! … 나는 이번 프로젝트에서 총알 발사 버튼을 A로 해줄꺼여서 아래처럼 설정했으므로 자기 … …
  • Most searched keywords: Whether you are looking for 2D 총알구현,발사 주로 백준문제풀이와 유니티개발일기 작성하고있습니다~! … 나는 이번 프로젝트에서 총알 발사 버튼을 A로 해줄꺼여서 아래처럼 설정했으므로 자기 … 이번 포스팅에서는 총알을 구현하고 발사하는거 까지 해보겠다. 일단 본격적으로 스크립트를 수정하기에 앞서서 Edit->ProjectSettings->Input Manager에 들어가서 아래사진과 같이 Fire1버튼을 A로 설정해주자…
  • Table of Contents:

태그

‘유니티’ Related Articles

티스토리툴바

2D 총알구현,발사
2D 총알구현,발사

Read More

2D 슈팅 게임 만들기 (5) 총알 발사하기 및 폭발 : 네이버 블로그

  • Article author: m.blog.naver.com
  • Reviews from users: 28824 ⭐ Ratings
  • Top rated: 4.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 2D 슈팅 게임 만들기 (5) 총알 발사하기 및 폭발 : 네이버 블로그 이제 발사를 해볼 것이다. 스크립트 하나를 추가하여 작성해보도록 하자. moveSpeed는 총알이 날아가는 속도이다. X축으로 날아가냐 Y축으로 날아가 … …
  • Most searched keywords: Whether you are looking for 2D 슈팅 게임 만들기 (5) 총알 발사하기 및 폭발 : 네이버 블로그 이제 발사를 해볼 것이다. 스크립트 하나를 추가하여 작성해보도록 하자. moveSpeed는 총알이 날아가는 속도이다. X축으로 날아가냐 Y축으로 날아가 …
  • Table of Contents:

카테고리 이동

소소한 취미

이 블로그 
C-Shap 2DShoot
 카테고리 글

카테고리

이 블로그 
C-Shap 2DShoot
 카테고리 글

2D 슈팅 게임 만들기 (5) 총알 발사하기 및 폭발 : 네이버 블로그
2D 슈팅 게임 만들기 (5) 총알 발사하기 및 폭발 : 네이버 블로그

Read More

2D 액션 게임 만들기 3 weapon (총) 회전시켜서 총알 발사하기 (Shooting) :: SuperGame

  • Article author: magatron.tistory.com
  • Reviews from users: 28645 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 2D 액션 게임 만들기 3 weapon (총) 회전시켜서 총알 발사하기 (Shooting) :: SuperGame 게임 만들기 강좌/유니티2D액션게임만들기. 2D 액션 게임 만들기 3 weapon (총) 회전시켜서 총알 발사하기 … …
  • Most searched keywords: Whether you are looking for 2D 액션 게임 만들기 3 weapon (총) 회전시켜서 총알 발사하기 (Shooting) :: SuperGame 게임 만들기 강좌/유니티2D액션게임만들기. 2D 액션 게임 만들기 3 weapon (총) 회전시켜서 총알 발사하기 … Gun 오브젝트를 선택하고 총알이 나올 수 있는 포인트를 만들어 주어야 합니다 그래서 새로운 오브젝트를 Create Empty 를 생성하고 자식으로 이름을 sPoint라고 합니다 GunCtrl 스크립트 수정 아래와 같이 GunCt..핵꿀잼 !!!
  • Table of Contents:

2D 액션 게임 만들기 3 weapon (총) 회전시켜서 총알 발사하기 (Shooting)

티스토리툴바

2D 액션 게임 만들기 3 weapon (총) 회전시켜서 총알 발사하기 (Shooting) :: SuperGame
2D 액션 게임 만들기 3 weapon (총) 회전시켜서 총알 발사하기 (Shooting) :: SuperGame

Read More

Unity – 총알 구현하기(Bullet) :: 말봉코드_heryu

  • Article author: malbongcode.tistory.com
  • Reviews from users: 31747 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Unity – 총알 구현하기(Bullet) :: 말봉코드_heryu 구현방법 생각하기. 1) 총알 만들기(Bullet). 이동, 충돌 처리, 이펙트 재생. 2) 총알 나오는 곳(Bullet Shooter). 회전, 총알생성 … …
  • Most searched keywords: Whether you are looking for Unity – 총알 구현하기(Bullet) :: 말봉코드_heryu 구현방법 생각하기. 1) 총알 만들기(Bullet). 이동, 충돌 처리, 이펙트 재생. 2) 총알 나오는 곳(Bullet Shooter). 회전, 총알생성 … 1. 구현방법 생각하기 1) 총알 만들기(Bullet) 이동, 충돌 처리, 이펙트 재생 2) 총알 나오는 곳(Bullet Shooter) 회전, 총알생성 2. 구현 1) 총알 만들기(Bullet) 마음에 드는 Sprite를 가져다가 만듬 (나는 y축+..말봉코드, malbongcode
  • Table of Contents:

Unity – 총알 구현하기(Bullet)

1 구현방법 생각하기

2 구현

3 결과

4 전체코드

티스토리툴바

Unity - 총알 구현하기(Bullet) :: 말봉코드_heryu
Unity – 총알 구현하기(Bullet) :: 말봉코드_heryu

Read More

Unity – 플레이어 총알 발사 구현하기!

  • Article author: sj0716.tistory.com
  • Reviews from users: 3364 ⭐ Ratings
  • Top rated: 4.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Unity – 플레이어 총알 발사 구현하기! Unity – 플레이어 총알 발사 구현하기! S준 2020. 4. 1. 08:30. 안녕하세요!! 오늘은 슈팅게임에서 플레이어가 총알을 발사하는 코드에 대해서 알아보려고 합니다. …
  • Most searched keywords: Whether you are looking for Unity – 플레이어 총알 발사 구현하기! Unity – 플레이어 총알 발사 구현하기! S준 2020. 4. 1. 08:30. 안녕하세요!! 오늘은 슈팅게임에서 플레이어가 총알을 발사하는 코드에 대해서 알아보려고 합니다. 안녕하세요!! 오늘은 슈팅게임에서 플레이어가 총알을 발사하는 코드에 대해서 알아보려고 합니다. 그 전에 스프라이트가 있어야합니다. 스프라이트 출처 : https://blog.naver.com/gold_metal/221709884923 [유..
  • Table of Contents:

YunDev

Unity – 플레이어 총알 발사 구현하기! 본문

티스토리툴바

Unity - 플레이어 총알 발사 구현하기!
Unity – 플레이어 총알 발사 구현하기!

Read More

유니티-8방향으로 총알을 발사하다.

  • Article author: soo0100.tistory.com
  • Reviews from users: 15572 ⭐ Ratings
  • Top rated: 3.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 유니티-8방향으로 총알을 발사하다. 위 코드에서 중요한점은 바로. rbody.AddForce 함수이다. 하기 라인을 해석하자면, X축으로 10의 힘을, Y축으로 10의 힘을 주어서 발사하라는 의미로 … …
  • Most searched keywords: Whether you are looking for 유니티-8방향으로 총알을 발사하다. 위 코드에서 중요한점은 바로. rbody.AddForce 함수이다. 하기 라인을 해석하자면, X축으로 10의 힘을, Y축으로 10의 힘을 주어서 발사하라는 의미로 … 타임 파이럿 처럼 8방향으로 움직이면서 사방으로 총알을 쏘기위해서는 https://www.youtube.com/watch?v=AgNTahUrJCI https://soo0100.tistory.com/1553 유니티 – 전투기 8방향으로 이동 하기. 타임 파일럿 이라..
  • Table of Contents:

태그

관련글

댓글1

공지사항

최근글

인기글

최근댓글

태그

티스토리툴바

유니티-8방향으로 총알을 발사하다.
유니티-8방향으로 총알을 발사하다.

Read More

7일차 – 레이저 발사하기 · 유니티로 2D 슈팅게임 만들기

  • Article author: astoration.gitbooks.io
  • Reviews from users: 26016 ⭐ Ratings
  • Top rated: 4.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 7일차 – 레이저 발사하기 · 유니티로 2D 슈팅게임 만들기 우선 아까 만든 레이저 프리펩을 이용하여 레이저가 발사 되도록 구현할건데요, Player.cs 안에 다음과 같은 멤버 변수를 추가해 줍시다. public GameObject laserPrefab; … …
  • Most searched keywords: Whether you are looking for 7일차 – 레이저 발사하기 · 유니티로 2D 슈팅게임 만들기 우선 아까 만든 레이저 프리펩을 이용하여 레이저가 발사 되도록 구현할건데요, Player.cs 안에 다음과 같은 멤버 변수를 추가해 줍시다. public GameObject laserPrefab; …
  • Table of Contents:
7일차 - 레이저 발사하기 · 유니티로 2D 슈팅게임 만들기
7일차 – 레이저 발사하기 · 유니티로 2D 슈팅게임 만들기

Read More


See more articles in the same category here: Top 455 tips update new.

2D 총알구현,발사

반응형

반응형

이번 포스팅에서는 총알을 구현하고 발사하는거 까지 해보겠다.

일단 본격적으로 스크립트를 수정하기에 앞서서 Edit->ProjectSettings->Input Manager에 들어가서 아래사진과 같이 Fire1버튼을 A로 설정해주자. 나는 이번 프로젝트에서 총알 발사 버튼을 A로 해줄꺼여서 아래처럼 설정했으므로 자기가 편한대로 해도 무방하다.

이제 스크립트를 설명하겠다 스크립트를 설명하기에 앞서서, 이전 포스팅과 스크립타가 많이 달라졌다.

위에 사진을 보면 알겠지만 부모오브젝트를 Helmet으로 두고 자식오브젝트에 weapons를 넣었다.

그래서 Player.cs 에서 Weapone.cs 스크립트를 불러서 왼쪽방향키를 누를땐 캐릭터를 기준으로 왼쪽에 위치하고 왼쪽으로 총구를향하게 했다. 바뀐 코드는 아래와 같다. 자세한 설명은 아래를 보며 이해하도록 하자.

Player.cs

using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { private Weapon w;//스크립트 public GameObject Weapons_0;//무기 오브젝트 SpriteRenderer rend; Rigidbody2D rigid; public float maxShotDelay;//최대속도 public float curShotDelay;//발사간 속도 public GameObject bulletObj; // Start is called before the first frame update void Start() { w = Weapons_0.GetComponent();//스크립트 불러옴 rigid = gameObject.GetComponent(); rend = GetComponent(); } // Update is called once per fdbslxl rame , 1분에 약60번 업데이트 void Update() { Move();//이동하는 함수 Fire();//총알을 쏘는 함수 Reload();//장전한하는 함수 } void Move() { rigid.velocity = new Vector2(0, 0); if (Input.GetKey(KeyCode.LeftArrow))//왼쪽 방향키 누르면 { w.yFlip(); rend.flipX = true; Weapons_0.transform.localPosition = new Vector3(-0.66f, 0.38f, 0); rigid.velocity = new Vector2(-10f, 0); } if (Input.GetKey(KeyCode.RightArrow))//오른쪽 방향키 누르면 { w.nFlip(); Weapons_0.transform.localPosition = new Vector3(0.66f, 0.38f, 0); rend.flipX = false; rigid.velocity = new Vector2(10f, 0); } if (Input.GetKey(KeyCode.UpArrow)) { rigid.AddForce(new Vector2(0, 50f)); } } void Reload() { curShotDelay += Time.deltaTime; } void Fire()//발사하는 함수 { if(!Input.GetButton(“Fire1”))//Fire버튼을 안누르면 종료 { return; } if(curShotDelay(); rigid.AddForce(Vector2.right*10,ForceMode2D.Impulse); curShotDelay = 0;//꼭 초기화해줘야된다. } }

Weapon.cs

using System.Collections; using System.Collections.Generic; using UnityEngine; public class Weapon : MonoBehaviour { SpriteRenderer rend; private void Start() { rend = GetComponent(); } public void yFlip() { rend.flipX = true; } public void nFlip() { rend.flipX = false; } }

이번 포스팅에서 제일 중요하게 여길 개념은 바로 프리펩이다.

프리펩이란? 재활용을 위해 에셋으로 저장된 게임 오브젝트

즉 총알은 프리펩으로 구현을 해줘야 한다. 아래 사진과 같이 프리펩폴더에 총알을 넣어준다.

만약 Player.cs를 위와 같이 구현했다면 아래 사진에 동그라미 친 곳과 같이 BulletObj를 선택할 수 있는데 거기에 만들어논 Bullet프리펩을 넣어준다.

아래는 시현 영상이다.

의도한대로 총알이 제한속도에 맞춰서 나가기는 한다. 그런데 아래에서 생성이된다….. 그리고 또한 총알을 계속 쓰다보면 무한히 생성되서 과부하가 걸리는데 일정영역을 벗어나면 파괴데게 bullet.cs 스크립트를 새로 작성해줘야 할 필요성이 느껴진다.

다음 포스팅에서는

총알 발사 똑바로 되게 수정

일정영역을 벗어나면 총알이 없어지게(파괴되게) 수정

위 2가지를 포스팅해 볼까 한다.

댓글과 지적은 언제든지 환영입니다~!

글이 마음에 들었다면 왼쪽이미지를 눌러서 후원 부탁드립니다>< 반응형

2D 액션 게임 만들기 3 weapon (총) 회전시켜서 총알 발사하기 (Shooting)

728×90

반응형

Gun 오브젝트를 선택하고 총알이 나올 수 있는 포인트를 만들어 주어야 합니다

그래서 새로운 오브젝트를 Create Empty 를 생성하고 자식으로 이름을 sPoint라고 합니다

GunCtrl 스크립트 수정

아래와 같이 GunCtrl 스크립트를 수정합니다

using System.Collections; using System.Collections.Generic; using UnityEngine; public class GunCtrl : MonoBehaviour { public GameObject bullet; public Transform sPoint; public float timeBetweenShots; private float shotTime; void Update() { //카메라 스크린의 마우스 거리와 총과의 방향 Vector2 direction = Camera.main.ScreenToWorldPoint(Input.mousePosition) – transform.position; //마우스 거리로 부터 각도 계산 float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg; //축으로부터 방향과 각도의 회전값 Quaternion rotation = Quaternion.AngleAxis(angle , Vector3.forward); transform.rotation = rotation; //마우스 왼쪽버튼을 눌렀을때 if (Input.GetMouseButton(0)) { if (Time.time >= shotTime) { //총알을 생성한다 Instantiate(bullet, sPoint.position, Quaternion.AngleAxis(angle – 90,Vector3.forward)); //재장전 총알 딜레이 shotTime = Time.time + timeBetweenShots; } } } }

수정된 GunCtrl 스크립트에 프리팹으로 만들었던 bullet과 Gun 오브젝트의 자식으로 있는 sPoint를 GunCtrl스크립트에 연결합니다

아래 동영상과 같이 총알이 나오는 것을 볼 수 있습니다

bullet 프리팹을 선택하여 BulletCtrl 스크립트를 생성하고 작성합니다

BulletCtrl 스크립트를 작성합니다

using System.Collections; using System.Collections.Generic; using UnityEngine; public class BulletCtrl : MonoBehaviour { public float speed; public float lifeTime; // Start is called before the first frame update void Start() { // 총알을 시간에 맞게 지운다 Destroy(gameObject, lifeTime); } // Update is called once per frame void Update() { // 시간프레임과 speed에 따라 y축방향으로 움직인다 transform.Translate(Vector2.up * speed * Time.deltaTime); } }

아래 동영상과 같이 마우스에 따라 총이 움직이고 총알이 마우스에 따라 방향대로 발사되는 것을 확인합니다

728×90

반응형

Unity – 총알 구현하기(Bullet)

1. 구현방법 생각하기

1) 총알 만들기(Bullet)

이동, 충돌 처리, 이펙트 재생

2) 총알 나오는 곳(Bullet Shooter)

회전, 총알생성

2. 구현

1) 총알 만들기(Bullet)

마음에 드는 Sprite를 가져다가 만듬 (나는 y축+ 쪽이 머리인 스프라이트를 선택함)

총알은 앞으로 나가야 하기 때문에 rigidbody2D 설정 + Kinematic 설정

-> Script에서 velocity 설정할 것

총알은 Collider를 만나면 처리해야 함으로 Collider 추가 + Trigger 설정

-> OnTriggerEnter2D 사용 할 것

Bullet Component

우선 앞으로 이동하기만 하면됨, 코드는 아래와 같음

-> 앞으로만 이동해야 하는데 자기 회전값에 대한 앞임, transform.up 신경써야 함

1 2 3 4 5 6 7 8 9 10 private Rigidbody2D rigid; private void Start() { rigid = GetComponent < Rigidbody2D > (); Destroy(gameObject, lifeTime); } private void Update() { rigid.velocity = transform.up * speed; } Colored by Color Scripter cs

또한 충돌처리 해줘야 함

파티클(or음악) 재생 + 데미지관련함수 + 총알꺼주기

코드는 아래와 같음

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public ParticleSystem explosionParticle; private void OnTriggerEnter2D(Collider2D other) { if (other.tag = = “Enemy” ) { //Play Particle ParticleSystem instance = Instantiate(explosionParticle, transform.position, Quaternion.identity); instance.Play(); Destroy(instance.gameObject, instance.main.duration); //Take Damage //따로 구현필요 //Set Active off Destroy(gameObject); } } Colored by Color Scripter cs

particle은 직접 만들거나 asset store에서 무료받아 사용하면 됨, 여기서는 Bullet의 Audio는 구현하지 않음

particle직접 만들어보는 것도 나쁘지 않음, 추후에 업로드 하겠음

위의 코드에서 Destory는 좋은 코드가 되지 못함

-> 생성 후 파괴를 계속하여 오버헤드 생김

-> 원래는 Objectpool에서 가져오는 것이 맞음 (여기서는 살펴보지 않음)

이러한 Bullet을 Prefab으로 만들어 둠

앞으로 가는 총알

cf) Enemy도 Rigidbody + Collider Trigger

2) 총알 나오는 곳(Bullet Shooter)

플레이어가 회전 중인 상태에 적절한 타이밍을 맞춰 상대를 맞추는 것을 구현하려 함

-> 마우스를 클릭하면 총알이 Bullet Shooter에서 나옴

플레이어가 회전 중일 때 Shooter도 회전해야 하므로 자식으로 설정

player에 스크립트 추가하여 초당 z축 회전을 시켜줌

-> 그럼 Bullet Shooter도 회전할 것

1 2 3 4 void Update()//script in player { transform.Rotate( 0 , 0 , 360 * Time.deltaTime); } Colored by Color Scripter cs

Bullet Shooter에서는 위에서 만든 Bullet을 public으로 가져와 사용

마우스를 누르면 총알을 생성함

-> 원래 Objectpool을 이용해서 가져오는게 효율적임, 여기서는 편의상

코드는 아래와 같음

1 2 3 4 5 6 7 8 public GameObject bullet; void Update() //script in bulletshooter { if (Input.GetMouseButtonDown( 0 )) { Instantiate(bullet, transform.position, transform.rotation); } } Colored by Color Scripter cs

3. 결과

4. 전체코드

Bullet

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 using System .Collections; using System .Collections.Generic; using UnityEngine; public class Bullet : MonoBehaviour { public ParticleSystem explosionParticle; public float speed = 5. 0f; public float lifeTime = 10. 0f; private Rigidbody2D rigid; private void Start() { rigid = GetComponent < Rigidbody2D > (); Destroy(gameObject, lifeTime); } private void Update() { rigid.velocity = transform.up * speed; } private void OnTriggerEnter2D(Collider2D other) { if (other.tag = = “Enemy” ) { //Play Particle ParticleSystem instance = Instantiate(explosionParticle, transform.position, Quaternion.identity); instance.Play(); Destroy(instance.gameObject, instance.main.duration); //Take Damage //Set Active off Destroy(gameObject); } } } Colored by Color Scripter cs

BulletShooter

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 using System .Collections; using System .Collections.Generic; using UnityEngine; public class BulletShooter : MonoBehaviour { public GameObject bullet; void Update() { if (Input.GetMouseButtonDown( 0 )) { Instantiate(bullet, transform.position, transform.rotation); } } } Colored by Color Scripter cs

Player

1 2 3 4 5 6 7 8 9 10 11 12 using System .Collections; using System .Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { void Update() { transform.Rotate( 0 , 0 , 360 * Time.deltaTime); } } Colored by Color Scripter cs

=== 참고 ===

Bullet이 앞으로만 간다고 해서 Vector3.up 쓰면 안됌

자신의 회전에 따른 앞(local.up)이므로 transform.up 씀에 명심

1. Vector3.up -> global

2. transform.up -> local

So you have finished reading the 유니티 2d 총알 발사 topic article, if you find this article useful, please share it. Thank you very much. See more: 유니티 총알 발사 방향, 유니티 3D 총알 발사, 유니티 2D 마우스 총알, 유니티 총알 패턴, 유니티 총알 충돌, 유니티 총알 Destroy, 유니티 총 발사, 유니티 샷건 구현

Leave a Comment