'유니티/Note'에 해당되는 글 104건
- 2015.07.16 UGUI Text 글자 간격 조정하기
- 2015.07.15 다른 확률을 가진 아이템을 선택
- 2015.07.14 유니티 서버 관련.
- 2015.06.30 유니티 5.x 애니메이션 atomic
- 2015.06.22 유니티 svn 사용 시 해야될 것
- 2015.04.27 유니티 기본 생성 스크립트 변경 방법
- 2015.03.08 ugui 레이캐스트 ui에서는 막기.
- 2015.03.03 Unity3d sqlite 사용하기.
- 2015.02.04 유니티 2D 경계선 검은색 생길때 처리하는 방법
- 2015.01.14 unity3d Can Transition To Self
'유니티 > Note' 카테고리의 다른 글
| UGUI Text 글자 간격 조정하기 (0) | 2015.07.16 |
|---|---|
| 다른 확률을 가진 아이템을 선택 (0) | 2015.07.15 |
| 유니티 서버 관련. (0) | 2015.07.14 |
| 유니티 5.x 애니메이션 atomic (0) | 2015.06.30 |
| 유니티 svn 사용 시 해야될 것 (0) | 2015.06.22 |
| 유니티 기본 생성 스크립트 변경 방법 (0) | 2015.04.27 |
아이템을 랜덤하게 선택해야 하지만, 어떤 아이템은 다른 것보다 가능성이 높은 경우가 있습니다. 예를 들어, NPC 캐릭터는 플레이어와 조우했을 때 몇 가지 반응을 나타낼 수 있습니다 : -
- 50%의 확률로 반겨주기
- 25% 확률로 도주
- 20% 확률로 갑작스러운 공격
- 5% 확률로 돈을 선물
이러한 서로 다른 결과를 분할한 페이퍼 스트립(Paper strip)으로 표현할 수 있고, 각각의 부분은 스트립의 길이의 일부를 차지합니다. 그 차지하는 길이가 선택되는 결과의 확률에 해당합니다. 선택하는 것은 스트립의 길이상에서 임의의 점을 선택하여(예를 들면 다트를 던지도록), 어떤 부분에 해당하는지 확인하는 것에 해당합니다.
스크립트 안에서 페이퍼 스트립은 실제로 float의 배열에서 각 항목에 다른 확률을 순서대로 포함하고 있습니다. 임의의 점은 Random.value을 모든 float의 총에 곱셈하여 얻을 수 있습니다 (더해서 1이 될 필요는 없고, 중요한 것은 다른 값의 상대적인 길이). 점이 어느 배열 요소에 “들어 있는지” 알아 내기 위하여 점의 값이 첫 번째 요소의 값보다 작은 지 비교합니다. 그 경우 선택되는 것은 첫 번째 요소입니다. 그렇지 않으면 첫 번째 요소의 값을 점 값에서 차감하고, 그것을 두 번째 요소의 값보다 작은 지 비교하는 등을 반복하여 최종적으로 올바른 요소를 찾습니다. 코드는 다음과 같이 될 것입니다 : -
float Choose (float[] probs) {
float total = 0;
foreach (float elem in probs) {
total += elem;
}
float randomPoint = Random.value * total;
for (int i= 0; i < probs.Length; i++) {
if (randomPoint < probs[i]) {
return i;
}
else {
randomPoint -= probs[i];
}
}
return probs.Length - 1;
}
마지막 return 문이 필요한 이유는 Random.value는 1의 값을 반환할 수 있기 때문이라는 것을 명심하십시오. 이 경우, 검색은 어디서나 임의의 지점을 찾을 수 없습니다. 다음 행을 변경하여,
if (randomPoint < probs[i])
… 값을 < = 기호로 변경하여 여분의 return 명령을 피할 수 있지만, 확률이 0인 경우에도 아이템을 선택할 수 있도록 허용해버립니다.
int[] prob = { 10, 60, 10, 10, 10 };
int total = 0;
foreach(int p in prob)
{
total += p;
}
int rand = Random.Range(0, total);
for(int i = 0; i < prob.Length; i++)
{
if(rand < prob[i])
{
Debug.Log(string.Format("{0} : {1}", prob[i], i));
break;
}
else
{
rand -= prob[i];
}
}
'유니티 > Note' 카테고리의 다른 글
| UGUI Text 글자 간격 조정하기 (0) | 2015.07.16 |
|---|---|
| 다른 확률을 가진 아이템을 선택 (0) | 2015.07.15 |
| 유니티 서버 관련. (0) | 2015.07.14 |
| 유니티 5.x 애니메이션 atomic (0) | 2015.06.30 |
| 유니티 svn 사용 시 해야될 것 (0) | 2015.06.22 |
| 유니티 기본 생성 스크립트 변경 방법 (0) | 2015.04.27 |
유니티 서버 관련
간단한 웹 서버는
PHP & MYSQL 조합으로 가면 될 듯.
Node.js 를 사용 해도 될것 같고.. node.js 사용시 웹 소켓도 가능.
클라우드 서버?
1. 유니티 절대강좌 -> 포톤 클라우드와 유니티 RPC 관련 내용 있음
2. NGUI 유니티 게임 개발 -> 간단한 PHP 웹서버로 하트 및 친구 관련 연동 기능 있음
3. 유니티 개발자를 위한 C#으로 온라인 게임 서버 만들기 -> C# 소켓
웹 서버 관련 책
1. PHP & MYSQL Head First
2. SQL Head First
정도(가장 옳은 방법)는 리눅스(뇌를자극하는 레드핫 리눅스 )를 접한후 하는것이 좋지만
지루기하도하고 설치가 잘안돼 짜증날수도 있습니다.(도스처럼 사용하기에 까다롭기도하고요)
쉬운방법은 공유기를 이용해 웹서버를 구축해보거나 호스팅업체에서 서버공간을 사서(한 만원?)
apm(아파치 php mysql)를 다루어보면서 javascript를 건드려보는것이 쉽지 않을까 합니다.
그러면 대충 네트워크 서버 개념이 이해가 될것입니다.
그다음 소켓프로그래밍이나,node.js를 건드려보시면 될거 같습니다.
게임 서버 DB
'유니티 > Note' 카테고리의 다른 글
| UGUI Text 글자 간격 조정하기 (0) | 2015.07.16 |
|---|---|
| 다른 확률을 가진 아이템을 선택 (0) | 2015.07.15 |
| 유니티 서버 관련. (0) | 2015.07.14 |
| 유니티 5.x 애니메이션 atomic (0) | 2015.06.30 |
| 유니티 svn 사용 시 해야될 것 (0) | 2015.06.22 |
| 유니티 기본 생성 스크립트 변경 방법 (0) | 2015.04.27 |
5.0 부터 atomic 가 사라짐
settns
interruption source -> none 가 atomic on과 같음
interruption source -> currentState가 automic off와 같은듯..
atomic 이란?
트랜지션 도중에 중단할 수 있는지 나타내는 플래그 이다.
atomic On으로 설정하면 트랜지션을 멈출 수 없으며 스크립트에서 트리거를 실행해도 무시하고
off 로 설정하면 트랜지션 도중 다른 스테이트로 이행 할수 있다.
'유니티 > Note' 카테고리의 다른 글
| 다른 확률을 가진 아이템을 선택 (0) | 2015.07.15 |
|---|---|
| 유니티 서버 관련. (0) | 2015.07.14 |
| 유니티 5.x 애니메이션 atomic (0) | 2015.06.30 |
| 유니티 svn 사용 시 해야될 것 (0) | 2015.06.22 |
| 유니티 기본 생성 스크립트 변경 방법 (0) | 2015.04.27 |
| ugui 레이캐스트 ui에서는 막기. (0) | 2015.03.08 |
1. 음.. 제경우는 SVN 연동할 때, 아래 2가지 정도만 조심하면 별 문제가 없었습니다.
아래와 같이 한 번 해보세요.
1) Unity-Edit-Project Settings-Editor 이동
2) Version Control : Visible Meta Files
3) Asset Serialization : Force Text
4) Assets 폴더와 ProjectSettings 폴더만 Commit (나머지는 가능하면 svn ignore list에 등록)
주의하실점은 각각 컴마다 따로 생성되는 Library, Temp 폴더등은 svn 등록되면 안되기 때문에 svn ignore 리스트에 넣어두는게 좋습니다.
2. 프리팹을 Instantiate할 때, position, rotate 등의 값을 주지 않으면 프리팹에 셋팅된 기본값으로 생성됩니다.
원래값으로 생성하시려면 Instantiate(Object original);를 쓰시면 됩니다.
'유니티 > Note' 카테고리의 다른 글
| 유니티 서버 관련. (0) | 2015.07.14 |
|---|---|
| 유니티 5.x 애니메이션 atomic (0) | 2015.06.30 |
| 유니티 svn 사용 시 해야될 것 (0) | 2015.06.22 |
| 유니티 기본 생성 스크립트 변경 방법 (0) | 2015.04.27 |
| ugui 레이캐스트 ui에서는 막기. (0) | 2015.03.08 |
| Unity3d sqlite 사용하기. (0) | 2015.03.03 |
유티니 스크립트 기본 형태는
'유니티 > Note' 카테고리의 다른 글
| 유니티 5.x 애니메이션 atomic (0) | 2015.06.30 |
|---|---|
| 유니티 svn 사용 시 해야될 것 (0) | 2015.06.22 |
| 유니티 기본 생성 스크립트 변경 방법 (0) | 2015.04.27 |
| ugui 레이캐스트 ui에서는 막기. (0) | 2015.03.08 |
| Unity3d sqlite 사용하기. (0) | 2015.03.03 |
| 유니티 2D 경계선 검은색 생길때 처리하는 방법 (0) | 2015.02.04 |
if(Input.GetMouseButtonDown(0))
{
bool isPointerOVerGame = UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject();
Debug.Log(isPointerOVerGame);
}
UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject();
현재 마우스 위치가 ui 상에 있으면 true 반환
없으면 false 반환.
레이를 막아버리는 근본적인 방법을 사용해야지 좋지 않을까 싶음.
boxcollider을 붙인다던가..
'유니티 > Note' 카테고리의 다른 글
| 유니티 svn 사용 시 해야될 것 (0) | 2015.06.22 |
|---|---|
| 유니티 기본 생성 스크립트 변경 방법 (0) | 2015.04.27 |
| ugui 레이캐스트 ui에서는 막기. (0) | 2015.03.08 |
| Unity3d sqlite 사용하기. (0) | 2015.03.03 |
| 유니티 2D 경계선 검은색 생길때 처리하는 방법 (0) | 2015.02.04 |
| unity3d Can Transition To Self (0) | 2015.01.14 |
프로버전만 가능.
XML이나 사용해야겠다.
'유니티 > Note' 카테고리의 다른 글
| 유니티 기본 생성 스크립트 변경 방법 (0) | 2015.04.27 |
|---|---|
| ugui 레이캐스트 ui에서는 막기. (0) | 2015.03.08 |
| Unity3d sqlite 사용하기. (0) | 2015.03.03 |
| 유니티 2D 경계선 검은색 생길때 처리하는 방법 (0) | 2015.02.04 |
| unity3d Can Transition To Self (0) | 2015.01.14 |
| 인터페이스 관련 글 (0) | 2015.01.10 |
유니티 배경을 반복해서 이동할시 중간 중간이 끊기는 거 처럼 보이는 현상이 발생.
스프라이트 이미지를 point로 변경해도 해결되지 않아 확인을 해보니.
Sprite Renderer 은 기본적으로 Sprite-Default Material 을 가지고 있는데.
새로운 메트리얼을 생성하고 Shader 을 Sprite/Default 선택후 Pixel snap 를 체크 한후 이 메트리얼을 적용하면 해당 문제가 사라진다.
'유니티 > Note' 카테고리의 다른 글
| ugui 레이캐스트 ui에서는 막기. (0) | 2015.03.08 |
|---|---|
| Unity3d sqlite 사용하기. (0) | 2015.03.03 |
| 유니티 2D 경계선 검은색 생길때 처리하는 방법 (0) | 2015.02.04 |
| unity3d Can Transition To Self (0) | 2015.01.14 |
| 인터페이스 관련 글 (0) | 2015.01.10 |
| unity3d Interface 사용 충돌체크 처리. (0) | 2015.01.10 |
The transition from "Any State" to "Shoot" has a check box "Can Transition To Self". That should be checked so that Shoot can transition to itself when you fire from the Shoot state.
I'm not sure what the best way to do this would be if you didn't have the "Any State" transition though. Might have to do it in script somehow.
이걸 체크하면. 자기자신이 실행 되는 중에도 다시 실행시킬수 있다.(any state의 경우에)
any state의 경우에는 쌍방향 트랜잭션이 되지 않고 일방통행이다 anystate -> 특정 애니메이션으로.
원래는 계속 특정애니메이션이 실행되는데 이걸 체크해주면 trigger시 다시 anystate ->특정 애니메이션 처리가 된다.
'유니티 > Note' 카테고리의 다른 글
| Unity3d sqlite 사용하기. (0) | 2015.03.03 |
|---|---|
| 유니티 2D 경계선 검은색 생길때 처리하는 방법 (0) | 2015.02.04 |
| unity3d Can Transition To Self (0) | 2015.01.14 |
| 인터페이스 관련 글 (0) | 2015.01.10 |
| unity3d Interface 사용 충돌체크 처리. (0) | 2015.01.10 |
| GetComponent 와 SendMesage 속도 비교 (0) | 2015.01.09 |
LetterSpacing.cs

