본문 바로가기

유니티

(43)
[유니티] npc와 대화하기 UniRX UniRX를 공부한 김에 이를 이용한 npc와 대화 로직을 만들었습니다. 유니티 RPG게임이나 추리게임에서 유용하게 사용할 수 있는 코드입니다. 프로그램은 다음과 같이 구성하였습니다. ​ 1. NPC 가까이 가면 대화할 수 있음 ( InAreaNPC 메서드 ) 2. 스페이스바를 누르면 대화창이 뜨고 대화 시작 3. 대화문장은 한글자씩 천천히 출력됨 4. 만약 이를 기다리기 싫다면 스페이스바를 한번 더 눌려서 전체 문장을 한번에 볼 수 있음 5. 해당 문장을 보기 싫다면 스페이스바를 더블클릭하여 다음 대화로 스킵가능 6. 대화가 끝나거나 대화도중 npc영역에서 벗어나면 대화 끝 7. 대화가 끝나면 무조건 대화는 처음부터 시작 ​ 게임을 좋아하시는 분들이라면 익숙한 동작이시죠? 이를 구현하면 다음과 같습니다..
[유니티]공 이동거리 계산 프로그램 평지가 아닌 상황에서 공의 이동거리를 계산하는 프로그램을 제작하였습니다. 각도나 길이가 다른 5개의 판을 설치하고, 그 꼭대기에서 공을 굴러서 바닥에 닿는 순간 지금까지 공이 회전한 각도를 계산하여 공의 이동거리를 계산하는 프로그램입니다. 공의 지름은 1m로 설정했기에, 1바퀴 회전당 pi m씩 이동하도록 설정하였습니다. ​ ​ 환경 정보 중력가속도 : -9.81 m / s2 ​ ​ 오브젝트 정보 ( 단위- 길이 : m, 각도 : 오일러 ) 공 : 반지름 0.5 1번 판 - 길이 : 30, 각도 : 23 2번 판 - 길이 : 20, 각도 : 20 3번 판 - 길이 : 20, 각도 : 23 4번 판 - 길이 : 10, 각도 : 20 5번 판 - 길이 : 20, 각도 : 꼭대기에서 중간까지 23, 중간에서 ..
[유니티]오브젝트 순차적 색상변경 예제를 적용한 큐브들입니다. 아래 스크립트 적용시 'Z'키를 누르면 지정한 색깔 순서대로 오른쪽의 작은 큐브부터 색상이 변하게 됩니다. ​ ​ 해당 큐브 그룹의 계층창과 인스펙터창입니다. 이렇게 4개의 큐브를 하나의 게임오브젝트의 자식으로 설정하고, 부모오브젝트에 스크립트를 적용하였습니다. 소스코드 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test_CubeStream : MonoBehaviour { List MyColors = new List(); Dictionary MyCubes = new Dictionary(); //큐브들 int numberOfCube = 0; void Star..