본문 바로가기

전체 글412

페이드인(Fade In) 페이드아웃(Fade Out). 키와 버튼으로 오브젝트 투명하게 만들기(유니티 2D기초강좌) - Unity & C# Script(Alpha, Opacity) 특정 키보드의 키를 누르거나 버튼을 만들어서 클릭을 해서 해당 게임오브젝트의 투명도(Alpha, Opacity)를 조절해서 나타나게 하거나 사라지게 만들 수 있습니다. #페이드인 #페이드아웃 #유니티기초강좌 [FadeInOut.cs] using System.Collections; using System.Collections.Generic; using UnityEngine; public class FadeInOut : MonoBehaviour { SpriteRenderer sr; public GameObject go; // Start is called before the first frame update void Start() { sr = go.GetComponent(); } // Update is cal.. 2020. 12. 8.
무한 반복(스크롤링)되는 배경(유니티 2D 기초강좌) - unity & C# Script (Infinite Scrolling Repeating Background 2D) 2D 게임에서 캐릭터가 달리거나 점프를 해서 아이템을 획득하는 등의 플레이를 진행할때 배경이 무한대로 지나가는 모습을 구현할 수 있습니다. 시간차를 주어 각각의 배경레이어를 각기 다른 속도로 조절해서 좀더 입체적인 배경을 만들 수 있습니다. #무한반복배경 #무한스크롤링배경 #유니티기초강좌 Mathf.Repeat(value, max); Mathf.Repeat()는 일정 범위 내에서 값을 반복(순환)시키고 싶은 경우 사용. value 값은 0보다 작을수 없고 max값보다 클수 없다. 반드시 0 ~ max 범위의 값이 반환. Mathf.Repeat(3, 10)은 0 ~ 10 범위내에 있으므로 3을 반환. Mathf.Repeat(12, 10)은 Max범위를 넘은 만큼인 2반환(12 - 10 = 2). Mathf.. 2020. 12. 6.
일정거리(범위) 안에 들어왔을때 목표물을 따라오는(추적) 유니티 기초 2D강좌. Unity & C# Script(Chase Target - Distance, MoveTowards) 플레이어(타겟)를 X,Y좌표로 이동하다가 추적자의 범위안에 들어가면 추적자가 타겟을 따라가게 됩니다. 근접 거리를 설정하여 그 거리 까지 접근하게 되며, 타겟이 추적자의 일정범위 밖으로 벗어나게 되면 추격을 멈추게 됩니다. #타겟추격 #목표물 따라가기 #유니티 강좌 [Vector2.Distance] Vector2.Distance(currentPosition, targetPosition); currentPosition과 targetPosition 사이의 거리를 구하는 데 사용. 두 GameObject의 중심점을 기준으로 한 가상의 삼각형의 길이를 피타고라스의 정리를 이용하여 계산하여 Game Object간의 거리를 구할 수 있습니다. [Vector2.MoveTowards] Vector2.MoveToward.. 2020. 12. 5.
유니티 카메라 흔들기(쉐이크) 효과 구현. 지진, 폭발, 슈팅시 유용한 효과. Unity & C# Script(Camera Shake -Invoke, InvokeRepeating) Invoke, InvokeRepeating, CancelInvoke를 이용하여 버튼을 눌렀을 때 배경은 고정이지만 메인카메라의 랜덤 움직임을 주어 카메라 흔들림 효과를 구현해 보도록 합니다. 지진이나, 폭발, 타겟 명중시 카메라 쉐이크 효과를 주면 좀더 박진감 넘치는 느낌을 줄 수 있습니다. #Camera Shake #카메라 흔들기 #Invoke [지연 호출] Invoke (string methodName, float time); - string methodName(실행할 메소드 명) - float time(몇 초 후 메소드를 실행시킬 것인지) [일정 간격 호출] InvokeRepeating (string methodName, float time, float repeatRate); - string met.. 2020. 12. 3.
오브젝트(캐릭터) 점프 후 착지면에서 떨어지는 효과 구현 유니티 기초강좌. Unity & C# Script(Falling objects - Falling through floor) 오브젝트가 점프하면 착지면의 충돌면을 통과(IgnoreLayerCollision)시키고 그 면에 착지. 다시 떨어뜨리는 버튼을 누르게되면 그 면의 충돌면의 레이어를 잠시동안 무시하게 하여(Coroutine) 캐릭터가 떨어지는 효과를 구현합니다. #Falling Objects #Falling through floor #Coroutine 게임뷰에서 실행해보면 가끔 Collider 접촉면(충돌지점)에서 플레이어 떨림현상이 일어날 경우 해결 방법은 다음과 같습니다. - Rigidbody 2D 콤포넌트의 옵션중 Collision Detection(Discrete - Continuouse로 변경) - 물리적인 움직임의 코드 처리는 Update가 아닌 FixedUpdate에서 처리. [JumpAndFall.cs] u.. 2020. 12. 2.
유니티 오브젝트(캐릭터) 이동시 이미지 방향 좌우반전 구현 - 유니티 2D 기초강좌. Unity & C# Script(Object Flip Effect - Left / Right) 유니티에서 오브젝트(캐릭터)의 이동시 가는 쪽으로 이미지의 방향을 바꾸는 방법 구현. #Flip #좌우반전 #유니티 [FlipPlayer.cs] using System.Collections; using System.Collections.Generic; using UnityEngine; public class FlipPlayer : MonoBehaviour { [SerializeField] [Range(1f, 10f)] float moveSpeed = 3f; void Update() { Vector3 flipMove = Vector3.zero; if(Input.GetAxisRaw("Horizontal") < 0) { flipMove = Vector3.left; transform.localScale = ne.. 2020. 12. 2.
캐릭터 점프시 레이어간 충돌 처리(적용,무시) 사용법 - 유니티 2D 기초 강좌. Unity & C# Script(Ignore Layer Collision, Layer Mask) 2D 캐릭터 점프시 오브젝트를 뚫고 올라가 그 오브젝트에 착지하는 방법. 유니티 레이어 마스크(Layer Mask)의 개념과 레이어간의 충돌 무시 사용법. Physics2D.IgnoreLayerCollision(layer1, layer2, true/false) #IgnoreLayerCollision #LayerMask #레이어간 충돌무시 [PlayerControl.cs] using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerControl : MonoBehaviour { Rigidbody2D rb; float moveX; [SerializeField] [Range(100f, 800f)].. 2020. 11. 28.
트레일 렌더러 콤포넌트를 이용한 이동 궤적(Trajectory)구현(유니티 2D 기초 튜토리얼) - Unity C# Script(Component - Trail Renderer) Trail Renderer Component를 이용해서 궤적을 시각화하는 강좌. 트레일 렌더러의 콤포넌트의 옵션을 수정해서 다양한 궤적을 만들 수 있어요. #Trail Renderer #이동궤적 #유니티 트레일 렌더러(Trail Renderer) 콤포넌트 옵션 - Width : 트레일러 두께값 - Time : 궤적이 나타나는 시간값 - Color : 궤적의 색상(그라디언트), 투명도 조절 - Materials - Element : 시각화 이미지, 메테리얼 TrailRenderer C# startWidth / endWidth startColor / endColor 등이 있습니다. [LineControl.cs] using System.Collections; using System.Collections.Gen.. 2020. 11. 28.
보트 컨트롤을 통한 전진 가속도, 후진 그리고 회전 구현(유니티 2D 기초 강좌). Unity C# Script(AddRelativeForce) 엑셀을 밟듯이 가속 속도가 증가하며 후진 가속도도 적용. 오브젝트의 중심점을 엔진에 위치시켜 전면부를 회전시킵니다. 섬의 외곽라인을 Polygon Collider 2D로 접촉면 설정. 가속 #AddRelativeForce #Sprite Editor Mathf.Sign은 float f의 부호를 반환하는 함수이다. 즉, 0이나 양수일 경우 1을, 음수일 경우 -1을 반환한다. rigidbody.velocity.magnitude : rigidbody의 속도 AddForce는 월드 좌표를 기준으로 힘이 가해지며, 해당 게임오브젝트의 로컬 좌표를 기준으로 힘을 가하고 싶다면 AddRelativeForce를 사용한다. AddForce를 사용하면서 해당 게임 오브젝트의 로컬 좌표로 힘을 주려면 AddForce(tra.. 2020. 11. 28.