분류 전체보기 292

[Giant vs Human 팀프로젝트/Unity] 방어막 만들기 및 방어막에 맞으면 반대 방향으로 튕겨나가게 하기, 공격 애니메이션 수정

Sphere를 투명하게 만들어줬다. Material - Shader 중에 Transparent라고 검색하면 UI/Unit 이라는게 있는데 그걸 사용하면 Tint의 알파 값을 조절해서 투명하게 만들 수 있다. 그리고 이펙트 에셋을 이용해 방어막이 나오는듯한 느낌을 줬다. 일단 이 정도면 기본적인 방어막 생성 조건은 됐고, 다음은 방어막 애니메이션을 만들어보았다. 이 마법사 에셋에 있는 DefendStart 라는 애니메이션을 조금 수정해서 상/하체를 사용하기 위해 Attack Layer를 만들어서 Attack 기능과 Defend 기능을 하도록 레이어를 만들어줬다. Attack Layer 이다. 마우스 가운데 키를 누르고 있을 때 하는 애니메이션이다. 마우스를 떼면 방어막 애니메이션을 멈춘다. 이렇게 Atta..

[Giant vs Human 팀프로젝트/Unity] Animation Layer

마우스 가운데를 눌렀을 때의 애니메이션과 보호막이 나오는 역할 및 UseMp() 메서드 호출 1초 텀을 가지고 마우스 가운데 버튼을 누르고있을 때 아이템이 차감되게 만들었다. 아이템이 0개 이하이면 코루틴을 빠져나가고 다시 방어상태를 Idle 상태로 변경하였다. -- 원래는 Coroutine이 마우스 버튼을 떼도 1초는 돌아가서 계속 돌았지만 코드의 서순을 바꿔줘서 yield return new WaitForSeconds(1); 가 원래 if(Input.GetMouseButton(2))안에 있었는데 나오고 변경해주었다. 그랬더니 마우스 버튼을 떼면 아이템이 달지 않게 되었다. 움직일 때 애니메이션과 마우스를 떼도 아이템이 줄지 않는 모습이다.

[Giant vs Human 팀프로젝트/Oculus] OvrScreenFade/FadeIn/Out, VR 페이드인/아웃 기능

OvrScreenfade 스크립트를 이용한 FadeIn/Out 기능 같이 수업을 듣고있는 학생의 블로그에서 도움을 받았다. CenterEyeAnchor에다가 OVRScreenFade 스크립트를 넣어주면되는데 넣어주고 그냥 가만히 있으면 페이드인을 해버린다. 그래서 우리꺼로 사용하기위해 스크립트를 하나 파서 OvrScreenFade는 떼주고 OvrScreenFade에서 복사한 걸 MyOvrScreenFade로 붙여넣기 해준다. FadeOnStart 체크를 해제하면 Material을 찾지 못하는데 시작할 때 FadeIn을 하고있어서 그걸 수정하기 위해 약간 야매로 해버렸다. bool 값을 줘서 처음에 한번만 FadeIn의 alpha 값을 0~ 0으로 해줬다. 그리고 처음에 복사 붙여넣기로 가져오면 이 오류가..

[Giant vs Human 팀프로젝트/Unity] 발사체 날리기, 발사체 나오는 위치 수정 [눈에 보이게]

원래 발사체 문제점 1. 너무 빠른 발사체 속도 2. 발사체가 나오는 위치 문제해결 발사체 속도 및 나오는 위치 수정 후 발사체 나오는 위치 수정 발사체 속도 수정 Player의 프리팹에 RightHand라는 GameObject를 추가해서 거기에다가 발사체가 나가게 만들었다. 속도는 RigidBody의 질량을 높여주고 무중력상태로 만들어줬다.

[Giant vs Human 팀프로젝트/Unity] 에임 오브젝트에 Ray했을 때 hit가 있으면 락온된 느낌주기(애니메이션/애니메이터)

원래의 에임 영상 문제점 1. 여기선 안보이지만 아이템이 없을 때도 에임이 바뀌었다. 2. 오브젝트에 에임을 맞췄을 때 락온된 애니메이션 느낌이 필요 문제 해결 에임 오브젝트에 Ray했을 때 hit가 있으면 락온된 느낌주기 애니메이션과 애니메이터를 이용해서 LockOn 됐을 때, LockOff 됐을 때, 그냥 Normal일 때를 구분해서 애니메이션을 만들어줬다. Parmeter는 LockOn으로 bool로 만들어줬고, true와 false로 구분했다. 그리고 그 아래에 마우스를 똈을 때 사이즈를 다시 원래 사이즈로 바꿔주어서 다시 실행했을 때 기본 사이즈로 시작하게 만들었다. 이게 처음에는 Debug.Log를 찍어봤는데 LockOn과 LockOff가 되도 실시간으로 하고있는데 안되서 왜 안되는건지 생각했..

[Giant vs Human 팀프로젝트/Unity] 줄타기 마지막 위치 남기지않기

마지막 위치가 남아있었을 때, 허공에 마우스 오른쪽을 클릭하면 마지막 위치에 줄타기가 된다. 마지막 위치를 Vector3.zero로 바꿔주고 if문을 Vector3.zero가 아닐경우로 바꾸어줬다. 원래는 Physics.Raycast 안에서 Input.GetMouseButtonDown을 하고있었는데 그랬더니 서순이 이상해서 계속 마지막 위치로 줄타기가 되었던 것이었다. 근데 간단하지만 나는 꽤나 오랜시간 이 문제를 생각하고있었다. 이 울타리 안에서 계속 멤돌다가 생각이 나서 고치게 되었다. 고친 코드 이렇게 if문에서 Vector3.zero가 아닐경우에 줄타기를 하도록 하고있다. 그래서 ray가 찍히지 않은 경우 hitPoint를 Vector3.zero로 만들어준 것이다.

[Giant vs Human 팀프로젝트/Unity] Cinemachine 빨리 따라오게 수정,,다시 보니 안됌

기존 카메라 수정 후 카메라 느리게 따라오는게 문제여서 찾아봤는데 X Damping을 0으로 바꿔주면 카메라가 바로바로 따라온다고해서 처음에는 되는줄 알았는데 지금 동영상 녹화하면서 다시 보니까 안되는 것 같다.. 다시 해봐야할 것 같다. https://docs.unity3d.com/kr/Packages/com.unity.cinemachine@2.3/manual/CinemachineBodyFramingTransposer.html 프레이밍 트랜스포저 | Cinemachine | 2.3.5-preview.3 프레이밍 트랜스포저 이 가상 카메라 Body 알고리즘은 카메라를 Follow 타겟과의 고정된 스크린 공간 관계로 이동시킵니다. 또한 오프셋, 감쇠 및 구성 규칙도 지정할 수 있습니다. 프레이밍 트랜 do..

[Giant vs Human 팀프로젝트/Unity] 줄타기 수정

1. 구현하고싶었던 줄타기 구현하고싶었던 줄타기이다. 이 DAVIGO의 게임에서의 줄타기 규칙 1. 맨 윗층 벽에 줄타기를하면 벽에 닿았을 때 살짝 앞으로 가며 위로 점프한다. 2. 중간에서 중간아랫벽에 닿았을 때 위로 점프만 한다. 이것이 내가 DAVIGO를 보고 세운 규칙이다. 2. AddForce [World 기준] AddForce는 World 중심으로 position을 받는 것이었다. 도움받은 글 https://discussions.unity.com/t/addforce-in-local-space/12023 Addforce in local space? hey, how do you change a addforce from global to local? heres what i have at the mo..

[Giant vs Human 팀프로젝트/Unity] 로켓발사위치 수정

1. 기존 로켓발사위치 [에임에서 살짝 아래에서 발사됌] 발사된 이유 GameObject Eye에서 발사되게 만들어놨었는데 그러다보니 에임보다 살짝 아래에서 발사된 것 같다. 2. 발사위치수정 로켓이 나오던 위치를 Eye에서 Camera의 position으로 바꾸어주었다. 그래서 에임의 정중앙에서 로켓이 발사되게 되었다.

[Giant vs Human 팀프로젝트/Unity] PC AIM/ 에임기능

기능 : PC AIM [에임기능] 에임기능 : 1. 스크린 가운데 에임이 줄타기 기능을 사용할 수 있을 때 에임이 검은색으로 바뀌고 줄타기 기능을 사욯알 수 없을 때 살짝 불투명하게 바뀐다. 2 .아이템이 있을 경우 마우스 왼쪽 버튼을 누르고 있으면 조준 에임으로 바뀐다. 줄타기 기능 : 어떤 물체를 Player가 바라볼 때 마우스 우클릭으로 그 물체에 공중에서 이동하는 기능 1. 에임이 검은색으로 바뀌고 , 회색, 불투명하게 바뀌는 기능 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class TestCrossHair : MonoBehaviour { [Ser..