본문 바로가기

Unity46

볼 슈터, OnEnable() ShooterPivot 자식으로 FirePos라는 빈 게임오브젝트를 만들고 위치를 Barrel 앞으로 BallShooter.cs 변수설정 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class BallShooter : MonoBehaviour { //ball 프리팹을 가져와서 찍어낼 것임,rigidbody로 찍어내면 바로 힘 갖다 쓸 수 있음 public Rigidbody ball; //발사할 위치 public Transform firePos; //슬라이더 UI value 수정 public Slider powerSlider; //포탄 소리 재생 위한 Audi.. 2021. 7. 20.
파워 슬라이더 사전 준비: BigProp도 만들어주기 -BallShooter 스크립트 만들기 Ball을 발사해주는 친구 만들기 위해 Shooter Pivot에 새로운 스크립트 만들어주기 : Ball을 찍어내서 날리는 역할 어떻게 날려? 슬라이더 제어 해서 힘을 충전해서! 따라서 힘이 얼만큼 충전되었는지 보여줄 UI 필요 그런데 기본적으로 Canvas는 화면과 관련된 요소라서 게임 속 세상과 관련이 없음. 이 친구를 화면이 아닌 게임 세상(Shooter Pivot에 붙이고 싶음)으로 끌고 오기 위해서는 Canvas Render Mode를 Word Space로 바꿔줌. 이렇게 하면 UI 요소들이 실제 게임 세상으로 들어와서 마치 증강현실처럼 실제 배치가 됨. 그 다음, Canvas Scaler의 Reference Pixe.. 2021. 7. 17.
Package Manager에 Preview 버전이 안보인다면? 2021. 7. 16.
프롭 + 데미지 시스템 , Instantiate(), Tag & Layer , Physics 프롭 물리적 기능 필요하면 뭐 넣는다? RigidBody!!! 튕겨 나갈 수 있도록 RigidBody를 넣기 Prop 스크립트 추가 * 기능 - 프롭은 기본적으로 체력을 가지고 있어서 일정 이상의 데미지를 받으면 파괴가 되어야 함 - 자기 자신이 파괴되었을 때 게임 매니저에게 자기 자신이 파괴 되었다는 것을 알리고 점수를 추가해줘야 함 - 자기 스스로 실행시키는 것이 아니라 외부에서 데미지를 주는 친구가 프롭에게 가서 TakeDamage 라는 함수를 발동시켜서 프롭에게 데미지를 줄 것임 Instantiate(); 이 안에 원본 게임오브젝트를 넣어주면 그 원본 게임오브젝트를 새로 하나 복사해줌 새로 하나 찍어낼 때 옵션을 줄 수도 있음 (position, rotation) 위치 지정 안하면 랜덤한 위치나 .. 2021. 7. 15.
회전 포신, 포탄 만들기 회전 포신 enum을 통해 RotateState 지정 GetButton 이용하기 - 자세한 Input 내용은 InputManager 가서 확인, 수정 가능 Edit - Project Settings - Input 회전 전체 코드 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ShooterRotator : MonoBehaviour { private enum RotateState { Idle, Vertical, Horizontal, Ready } private RotateState state=RotateState.Idle; public float verticalRotateSpeed = 360.. 2021. 7. 15.
코루틴 코루틴: 처리와 처리 사이에 대기 시간 삽입 가능, 여러 처리를 순차적으로 처리하는 것이 아니라 동시에 병렬로 처리할 수 있도록 함 ex. Fade in, out 기능을 구현하고 싶을 때 이렇게 하면 너무 빨라서 서서히 Fade in 처럼 안보임. 이럴 때 해결책은 중간에 대기시간을 넣어주는 것임. 알파값을 빼주고 대기하고 빼주고 대기하는 식으로 구현해야 함! 즉, 코루틴은 대기시간을 삽입할 수 있는 유니티 기능임 (C#에 없는 유니티에만 있는 고유 기능이기 때문에 문법을 신경 쓸 필요는 없음) 코루틴 특징 1: 코드 중간에 대기시간 삽입 가능 A 처리를 하고 yield문을 만난 순간 앵커 박고 명시되어 있는 시간 만큼 코드 밖으로 빠져 나가서 쉬다가 마지막 yield문으로 돌아와서 그 다음 코드 실행... 2021. 7. 13.