'2014/02'에 해당되는 글 57건
- 2014.02.17 Transform.TransformDirection
- 2014.02.17 타워에서 가까운 적을 판별 하는 스크립트
- 2014.02.16 적이 메인카메라 쪽 바라보게 하기
- 2014.02.16 삼각함수 관련
- 2014.02.16 벡터
- 2014.02.14 메카닉 관련 유니티 제공 에셋
- 2014.02.13 플레이어 가속도 주는 함수.
- 2014.02.10 버튼 다운로드 사이트
- 2014.02.06 Vector3.Slerp 두 벡터 사이의 곡선 이동 (1)
- 2014.02.06 자식오브젝트에서 부모 오브젝트 스크립트 실행
function TransformDirection (direction : Vector3) : Vector3
Description
변환 direction 지역 공간에서 전체 공간.
이 작업은 스케일이나 변환의 위치에 의해 영향을 받지 않는다 반환되는 벡터는 같은 길이를 갖는다 direction.
using System.Collections;
public class example : MonoBehaviour {
public Transform cam = Camera.main.transform;
public Vector3 cameraRelativeRight = cam.TransformDirection(Vector3.right);
void Awake() {
rigidbody.AddForce(cameraRelativeRight * 10);
}
}
'유니티 > 스크립트' 카테고리의 다른 글
| 특정위치 아래로 이동하는 함수 - Lerp 사용 (0) | 2014.02.17 |
|---|---|
| 캐릭터 체력 바 생성하기 (1) | 2014.02.17 |
| Transform.TransformDirection (0) | 2014.02.17 |
| 타워에서 가까운 적을 판별 하는 스크립트 (0) | 2014.02.17 |
| 적이 메인카메라 쪽 바라보게 하기 (0) | 2014.02.16 |
| 플레이어 가속도 주는 함수. (0) | 2014.02.13 |
Update 문에서는 DrawLine을 그려주어서 잘 판별되는지 파악하고
getClosestEnemy 함수에서는 해당되는 태그를 찾아서( 이 스크립트에서는 enemyAim) taggedEnemys 변수에 집어 넣고 for문을 돌려주어서
타워의 위치에서 적의 위치를 판별하여 sqrMagnitude로 벡터의 길이를 구해줍니다. 그 길이가 3.0 보다 작을때는 해당적의 트랜스폼을 저장하고 거리또한 저장해줍니다.
그리고 마지막으로 타겟에 변수를 저장해줍니다.
Vector3.sqrMagnitude
Returns the squared length of this vector (Read Only).
v is calculated as Mathf.Sqrt(Vector3.Dot(v, v)). However, the Sqrt calculation is quite complicated and takes longer to execute than the normal arithmetic operations. Calculating the squared magnitude instead of using themagnitude property is much faster - the calculation is basically the same only without the slow Sqrt call. If you are using magnitudes simply to compare distances, then you can just as well compare squared magnitudes against the squares of distances since the comparison will give the same result.See Also: magnitude.// detects when the other transform is closer than closeDistance // this is faster than using Vector3.magnitude var other : Transform; var closeDistance = 5.0; function Update() { if (other) { var offset = other.position - transform.position; var sqrLen = offset.sqrMagnitude; // square the distance we compare with if( sqrLen < closeDistance*closeDistance ) print ("The other transform is close to me!"); } }
'유니티 > 스크립트' 카테고리의 다른 글
| 캐릭터 체력 바 생성하기 (1) | 2014.02.17 |
|---|---|
| Transform.TransformDirection (0) | 2014.02.17 |
| 타워에서 가까운 적을 판별 하는 스크립트 (0) | 2014.02.17 |
| 적이 메인카메라 쪽 바라보게 하기 (0) | 2014.02.16 |
| 플레이어 가속도 주는 함수. (0) | 2014.02.13 |
| Vector3.Slerp 두 벡터 사이의 곡선 이동 (1) | 2014.02.06 |
'유니티 > 스크립트' 카테고리의 다른 글
| Transform.TransformDirection (0) | 2014.02.17 |
|---|---|
| 타워에서 가까운 적을 판별 하는 스크립트 (0) | 2014.02.17 |
| 적이 메인카메라 쪽 바라보게 하기 (0) | 2014.02.16 |
| 플레이어 가속도 주는 함수. (0) | 2014.02.13 |
| Vector3.Slerp 두 벡터 사이의 곡선 이동 (1) | 2014.02.06 |
| 자식오브젝트에서 부모 오브젝트 스크립트 실행 (0) | 2014.02.06 |
코사인 90도는 0
코사인 0도는 1
사인 90도는 1
사인 0도는 0
'유니티 > Note' 카테고리의 다른 글
| 유니티 광고 수익 (0) | 2014.02.18 |
|---|---|
| 유니티 개발 시작 (0) | 2014.02.18 |
| 삼각함수 관련 (0) | 2014.02.16 |
| 벡터 (0) | 2014.02.16 |
| 메카닉 관련 유니티 제공 에셋 (0) | 2014.02.14 |
| 유니티 2D 배경에 카메라 맞추기 (0) | 2014.02.04 |
벡터의 해석
1. 위치
2. 속도와 가속도
3, 방향과 거리
(위치) (속도) ( 방향) (거리)
스칼라
- 방향을 가지고 있지 않고 크기만 가지고 있는 물리량(온도,길이,속력)
벡터의 표현 방법
v = (x,y)
벡터의 덧셈
c = a + b = (a.x, a.y) + (b.x, b.y) = (a.x + b.x , a.y + b.y)
예) 벡터를 사용해 계산해보자
위치가 p = (3,2) 이고 여기에 속도 벡터 v = (-2,3)을 더해보면 다음과 같은 위치값을 얻을수 있다.
`p = (3 + -2, 2+3) = (1,5) 이때 p 오른족 위에 있는 어퍼스트로피는 단지 p 벡터를 구했음을 나타내는 표시이므로 신경쓸 필욘 없다.
물론 이 연산은 위치와 방향 벡터 단위가 서로 일치할때만 말이 된다. 여기서는 미터(m)이고 속도가 초당 미터(m/s)라고 가정할때 벡터단위가 일치한다.
벡터의 뺄셈
c = a -b = (a.x, , a.y) - (b.x, b.y) = (a.x - b.x, a.y - b.y)
이때도 두 벡터의 요소를 서로 합치기만 하면 된다. 하지만 벡터의 뺄셈을 뺄때는 빼는 순서가 중요하다.
예를 들어서 pg=(1,4) 에 있고 pr = (6,1) 에 있으면 pg에서 pr의 거리 벡터를 빼면 다음과 같다.
d = pg - pr = (1,4) - (6,1) = (-5,3)
그런데 결과가 약간 이상합니다. 이 값은 pr에서 pg를 가리키는 벡터이기 때문입니다. 원하는 값을 구하려면 뺄셈의 순서를 반대로 해야된다.
d = pr - pg = (6,1) - (1,4) = (5,-3)
위치 a에서 위치 b로의 방향 벡터를 구하려면 다음과 같은 일반 공식을 사용해야 한다.
c = b - a
다시 말해서 항상 끝 위치에서 시작 위치를 빼야 하는 것이다.
'유니티 > Note' 카테고리의 다른 글
| 유니티 개발 시작 (0) | 2014.02.18 |
|---|---|
| 삼각함수 관련 (0) | 2014.02.16 |
| 벡터 (0) | 2014.02.16 |
| 메카닉 관련 유니티 제공 에셋 (0) | 2014.02.14 |
| 유니티 2D 배경에 카메라 맞추기 (0) | 2014.02.04 |
| 유니티 창 여러개 띄우기 (0) | 2014.02.04 |
'유니티 > Note' 카테고리의 다른 글
| 삼각함수 관련 (0) | 2014.02.16 |
|---|---|
| 벡터 (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.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 |
http://www.button-download.com/
'잡다한것들전부 > 참고사이트' 카테고리의 다른 글
| 버튼 다운로드 사이트 (0) | 2014.02.10 |
|---|---|
| 유니티 공식 사용자 매뉴얼 (0) | 2014.02.04 |
| 유니티 참고 인디 게임 링크 (0) | 2014.02.04 |
| 게임 매니악스 책 총 3권 (0) | 2014.02.04 |
두 벡터 사이의 곡선이동
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 |
teddy.z01
teddy.zip




