'유니티'에 해당되는 글 227건
- 2014.02.13 플레이어 가속도 주는 함수.
- 2014.02.06 Vector3.Slerp 두 벡터 사이의 곡선 이동 (1)
- 2014.02.06 자식오브젝트에서 부모 오브젝트 스크립트 실행
- 2014.02.06 OnMouseDown 및 List 활용한 이웃 블록 저장.
- 2014.02.06 큐브를 사용해서 커다란 보드 만들기.
- 2014.02.05 유니티 2D 메카닉 애니메이션 관련
- 2014.02.05 레이어 끼리의 충돌 무시하기
- 2014.02.04 유니티 내에서 List 사용시
- 2014.02.04 유니티 2D 배경에 카메라 맞추기
- 2014.02.04 반복되는 배경 만들기(무한 스크롤링) - 근경
'유니티 > 스크립트' 카테고리의 다른 글
| 타워에서 가까운 적을 판별 하는 스크립트 (0) | 2014.02.17 |
|---|---|
| 적이 메인카메라 쪽 바라보게 하기 (0) | 2014.02.16 |
| 플레이어 가속도 주는 함수. (0) | 2014.02.13 |
| Vector3.Slerp 두 벡터 사이의 곡선 이동 (1) | 2014.02.06 |
| 자식오브젝트에서 부모 오브젝트 스크립트 실행 (0) | 2014.02.06 |
| OnMouseDown 및 List 활용한 이웃 블록 저장. (0) | 2014.02.06 |
두 벡터 사이의 곡선이동
start 지점과 end 지점중 하나의 좌표가 0,0,0 이면 그냥 직선이동을 하는것 같다.
그래서 아래 함수 처럼 센터를 구한다음 센터의 값을빼고 다시 더해주는식으로 무조건 곡선이동을 할수 있게 하는듯.
선형보간법이라는게 참 어렵다..
Vector3.Slerp
Spherically interpolates between two vectors.
from and to by amount t. The difference between this and linear interpolation (aka, "lerp") is that the vectors are treated as directions rather than points in space. The direction of the returned vector is interpolated by the angle and its magnitude is interpolated between the magnitudes of from and to.t is clamped between [0...1]. See Also: Lerp function.using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public Transform sunrise; public Transform sunset; public float journeyTime = 1.0F; private float startTime; void Start() { startTime = Time.time; } void Update() { Vector3 center = (sunrise.position + sunset.position) * 0.5F; center -= new Vector3(0, 1, 0); Vector3 riseRelCenter = sunrise.position - center; Vector3 setRelCenter = sunset.position - center; float fracComplete = (Time.time - startTime) / journeyTime; transform.position = Vector3.Slerp(riseRelCenter, setRelCenter, fracComplete); transform.position += center; } }
'유니티 > 스크립트' 카테고리의 다른 글
| 적이 메인카메라 쪽 바라보게 하기 (0) | 2014.02.16 |
|---|---|
| 플레이어 가속도 주는 함수. (0) | 2014.02.13 |
| Vector3.Slerp 두 벡터 사이의 곡선 이동 (1) | 2014.02.06 |
| 자식오브젝트에서 부모 오브젝트 스크립트 실행 (0) | 2014.02.06 |
| OnMouseDown 및 List 활용한 이웃 블록 저장. (0) | 2014.02.06 |
| 큐브를 사용해서 커다란 보드 만들기. (0) | 2014.02.06 |
'유니티 > 스크립트' 카테고리의 다른 글
| 플레이어 가속도 주는 함수. (0) | 2014.02.13 |
|---|---|
| Vector3.Slerp 두 벡터 사이의 곡선 이동 (1) | 2014.02.06 |
| 자식오브젝트에서 부모 오브젝트 스크립트 실행 (0) | 2014.02.06 |
| OnMouseDown 및 List 활용한 이웃 블록 저장. (0) | 2014.02.06 |
| 큐브를 사용해서 커다란 보드 만들기. (0) | 2014.02.06 |
| 유니티 2D 메카닉 애니메이션 관련 (0) | 2014.02.05 |
'유니티 > 스크립트' 카테고리의 다른 글
| Vector3.Slerp 두 벡터 사이의 곡선 이동 (1) | 2014.02.06 |
|---|---|
| 자식오브젝트에서 부모 오브젝트 스크립트 실행 (0) | 2014.02.06 |
| OnMouseDown 및 List 활용한 이웃 블록 저장. (0) | 2014.02.06 |
| 큐브를 사용해서 커다란 보드 만들기. (0) | 2014.02.06 |
| 유니티 2D 메카닉 애니메이션 관련 (0) | 2014.02.05 |
| 레이어 끼리의 충돌 무시하기 (0) | 2014.02.05 |
빈게임 오브젝트 Board 에 위 스크립트 할당
큐브로 만든 Gem 프리팹 할당
'유니티 > 스크립트' 카테고리의 다른 글
| 자식오브젝트에서 부모 오브젝트 스크립트 실행 (0) | 2014.02.06 |
|---|---|
| OnMouseDown 및 List 활용한 이웃 블록 저장. (0) | 2014.02.06 |
| 큐브를 사용해서 커다란 보드 만들기. (0) | 2014.02.06 |
| 유니티 2D 메카닉 애니메이션 관련 (0) | 2014.02.05 |
| 레이어 끼리의 충돌 무시하기 (0) | 2014.02.05 |
| 유니티 내에서 List 사용시 (0) | 2014.02.04 |
apply Root Motion -> 애니메이션의 루트 기준점의 움직임에 따라서 게임 오브젝트가 같이 이동합니다.
'유니티 > 스크립트' 카테고리의 다른 글
| OnMouseDown 및 List 활용한 이웃 블록 저장. (0) | 2014.02.06 |
|---|---|
| 큐브를 사용해서 커다란 보드 만들기. (0) | 2014.02.06 |
| 유니티 2D 메카닉 애니메이션 관련 (0) | 2014.02.05 |
| 레이어 끼리의 충돌 무시하기 (0) | 2014.02.05 |
| 유니티 내에서 List 사용시 (0) | 2014.02.04 |
| 반복되는 배경 만들기(무한 스크롤링) - 근경 (0) | 2014.02.04 |
Physics2D.IgnoreLayerCollision(8,9);
Start함수에 이걸 적어주면 해당되는 번호의 레이어끼리는 충돌을 무시한다.
레이어 번호는 Tags & Layers 에서 볼수 있다.
아래는 API
Physics2D.IgnoreLayerCollision
| layer1 | ID of the first layer. |
| layer2 | ID of the second layer. |
| ignore | Should collisions between these layers be ignored? |
Choose whether to detect or ignore collisions between a specified pair of layers.
'유니티 > 스크립트' 카테고리의 다른 글
| 큐브를 사용해서 커다란 보드 만들기. (0) | 2014.02.06 |
|---|---|
| 유니티 2D 메카닉 애니메이션 관련 (0) | 2014.02.05 |
| 레이어 끼리의 충돌 무시하기 (0) | 2014.02.05 |
| 유니티 내에서 List 사용시 (0) | 2014.02.04 |
| 반복되는 배경 만들기(무한 스크롤링) - 근경 (0) | 2014.02.04 |
| 반복되는 배경 만들기(무한 스크롤링) - 원경 (6) | 2014.02.04 |
using System.Collections.Generic;를 추가해줘야 된다.
private List<GameObject> _objList = new List<GameObject>(); 이런식으로 선언후
_objList .Add(gameObject) ; ->이런식으로 추가할수있다.
[출처] Unity에서 List 사용하기|작성자 길손
참조할때는 배열 처럼 참조하면된다.
Vector3 pos = _objList[0].transform.position;
이런식으로
'유니티 > 스크립트' 카테고리의 다른 글
| 유니티 2D 메카닉 애니메이션 관련 (0) | 2014.02.05 |
|---|---|
| 레이어 끼리의 충돌 무시하기 (0) | 2014.02.05 |
| 유니티 내에서 List 사용시 (0) | 2014.02.04 |
| 반복되는 배경 만들기(무한 스크롤링) - 근경 (0) | 2014.02.04 |
| 반복되는 배경 만들기(무한 스크롤링) - 원경 (6) | 2014.02.04 |
| 글자 크기를 점점 커지게 하면서 사라지게 하기 (0) | 2014.02.03 |
배경화면에 꽉 차게 카메라를 맞추는 방법
스프라이트의 Pixels To Units 값에 의해서 결정된다.
디폴트 값은 100이며 만약 배경화면의 높이가 640이라고 하면. 유니티 상에서는 6.4 유닛이 되며
그 절반인 3.2 를 카메라의 사이즈에 대입하면 딱 맞게 화면에 보여진다.
관련 표 다.
'유니티 > Note' 카테고리의 다른 글
| 벡터 (0) | 2014.02.16 |
|---|---|
| 메카닉 관련 유니티 제공 에셋 (0) | 2014.02.14 |
| 유니티 2D 배경에 카메라 맞추기 (0) | 2014.02.04 |
| 유니티 창 여러개 띄우기 (0) | 2014.02.04 |
| 현재 보고 있는 Scene와 똑같이 Game 뷰를 보는 방법 (0) | 2014.02.04 |
| 스케줄 관리 프로그램 트렐로 (0) | 2014.02.04 |
근거리 풍경에 해당되는 바닥을 만들어봅시다.
바닥같은 경우에 여러가지 형태가 존재할수있습니다. 쭉 일자로 뻗은 바닥
중간이 없는 바닥. 높이가 다른 바닥등등 총 5가지 바닥을 만들어보겠습니다.
만든 바닥은 프리팹으로 설정하여 무한으로 스크롤될시 생성과 제거를 반복해줍니다.
프리팹이란?
프리팹은 오브젝트를 별도의 메모리에 저장해 두고 필요시 복제해서 사용하는 개념입니다.
바닥타일같은경우 생긴 모양은 다르지만 그 길이는 일정합니다.
바닥을 만들어주는 스크립트는 CsGroundManager를 만들어줍시다.
생성 -> 이동 -> 삭제 가 계속해서 반복적으로 일어나며 무한 스크롤이 가능해집니다.
Quad를 사용해서 프리팹을 만들어보겠습니다.
A타입과 B타입을 만듭니다.
먼저 빈 게임 오브젝트를 만들고 Reset을 눌러 초기화 시켜줍니다. 이름은 A_Ground로 변경합니다.
마찬가지로 Quad를 생성하고 Reset을 누르고 초기화 시켜준후 이름을 A_Ground로 변경합니다. 위에 만든 A_Ground의 자식으로 놓습니다.
Quad의 위치값을 0, -5, -5 로 만들고 스케일은 25 , 10, 1 로 만듭니다. Box 콜라이더를 추가해주고 Z 사이즈를 10으로 만들어줍니다.
그리고 프리팹으로 만들어 줍니다.
마찬가지로 B_Ground 빈게임오브젝을 만들고 리셋 그리고 B_Ground로 변경하고
Quad 생성 위치를 -10, -5, -5 로 변경 스케일 5, 10, 1로 변경 하고 박스 콜라이더를 추가하고 z 값을 10으로 만들고
컨트롤 + D 로 오브젝트를 2번 더 복사해주고 각각 X의 위치값을 0, 10으로 만들어줍니다, 그럼 3개의 블록이 만들어지는데 이 3개의 블록을
위의 B_Ground의 자식으로 만들고 프리팹 해줍니다.
A와 B 프리팹을 가지고 땅을 만들고 삭제하는 스크립트를 만들겠습니다.
일단 최초 플레이어가 밟을수있는 땅을 미리 만들어 놓습니다.
이 땅은 Quad 로 생성하고 2개를 만들어줍니다.
각 이름은 A_Ground 와 B_Ground이고 스케일 값은 30, 10, 1 입니다. 위치는 (-5,-5,-5 ) , (25,-5,-5)로 만들어줍니다.
그리고 각각 위에 처럼 박스 콜라이더를 추가하고 Z 값은 10으로 놓습니다.
빈게임 오브젝트를 만들고 GroundManager로 이름짓고 CsGroundManager 스크립트를 생성해주고 할당합니다.
그리고 위에 만든 A_Ground와 B_Ground를 자식으로 놓습니다.
CsGroundManager.cs의 내용입니다.
A_Type에는 히어라이키 탭에있는 그라운드를 넣어주고
Grounds 배열에는 프리팹을 넣어줍니다.
'유니티 > 스크립트' 카테고리의 다른 글
| 레이어 끼리의 충돌 무시하기 (0) | 2014.02.05 |
|---|---|
| 유니티 내에서 List 사용시 (0) | 2014.02.04 |
| 반복되는 배경 만들기(무한 스크롤링) - 근경 (0) | 2014.02.04 |
| 반복되는 배경 만들기(무한 스크롤링) - 원경 (6) | 2014.02.04 |
| 글자 크기를 점점 커지게 하면서 사라지게 하기 (0) | 2014.02.03 |
| 게임 매니저에서 FSM 으로 게임 분기 처리하기 (0) | 2014.02.03 |





