블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2737)
Unity3D (817)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (58)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (53)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
04-26 00:00

[링크] https://post.naver.com/viewer/postView.nhn?volumeNo=16638723&memberNo=36878207&navigationType=push

 

아이의 “또 읽어줘” 어떻게 대처하죠?

[BY 키스톤출판] '아이가 또 읽어달라고 하는데 어떡하죠?아마도 아이가 있는 집에선 모두 공감하는 내...

m.post.naver.com

 

반응형
Posted by blueasa
, |

[링크] https://post.naver.com/viewer/postView.nhn?volumeNo=26597111&memberNo=36878207

 

자존감 있는 아이로 키우는 칭찬의 기술 (feat.책쟁이엄마)

[BY 키스톤출판] 격려로 성장한 아이는 자신감을 배웁니다 칭찬으로 성장한 아이는 인정을 배웁니다 인...

m.post.naver.com

 

반응형
Posted by blueasa
, |

c# 서버시간 가져오기 (8)

나는 날짜와 시간을 사용하여 얻을 수있다 :

DateTime now = DateTime.Now;

DateTime 형식 자체로 현재 날짜와 시간을 따로 따로 가져올 수 있습니까?

ASP.net ( C# )에서 DateTime picker 대화 상자를 사용하지 않습니다.


 

음, Today 속성을 사용하여 Today DateTime  DateTime 으로 가져올 수 있습니다.

DateTime today = DateTime.Today;

또는 더 일반적으로 Date 속성을 사용할 수 있습니다. 예를 들어, UTC 날짜를 원할 경우 다음을 사용할 수 있습니다.

DateTime dateTime = DateTime.UtcNow.Date;

그게 당신이 필요로하는 것이 든 없는지는 분명하지 않습니다 ... 단지 날짜를 인쇄 하기를 원하면 다음을 사용할 수 있습니다 :

Console.WriteLine(dateTime.ToString("d"));

또는 명시 적 형식을 사용하십시오.

Console.WriteLine(dateTime.ToString("dd/MM/yyyy"));

standard  custom 날짜 / 시간 형식 문자열에 대해 자세히 알아보십시오. 상황에 따라 문화를 지정하고 싶을 수도 있습니다.

시간과 별도로 날짜에 대해 이야기 할 수있는보다 표현력있는 날짜 / 시간 API를 원한다면, 시작한 Noda Time 프로젝트를 살펴볼 수 있습니다. 아직 제작 준비가되지 않았지만, 우리는 당신이 그걸로하고 싶은 것을 듣고 싶습니다 ...


 

현재 시간 :

DateTime.Now.ToString("HH:mm:ss");

현재 날짜 :

DateTime.Today.ToString("dd-MM-yyyy");


 

Today 속성을 사용하십시오. DateTime.Now 날짜 구성 요소를 반환합니다. DateTime.Now.Date 와 같습니다.


 

여기에서 형식 문자열을 전달하여 날짜 만 가져올 수 있습니다. 현재 날짜에 대한 요구 사항에 따라 다른 날짜 형식을 사용할 수 있습니다.

DateTime.Now.ToString("M/d/yyyy");

결과 : '2010 년 9 월 1 일 '

DateTime.Now.ToString("M-d-yyyy");

결과 : '9-1-2015'

DateTime.Now.ToString("yyyy-MM-dd");

결과 : "2015-09-01"

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");

결과 : "2015-09-01 09:20:10"

자세한 내용 custom


 

용도

txtdate.Text = DateTime.Today.ToString("dd-MM-yyyy");


 

for month DateTime.Now.ToString("MM"); for Date DateTime.Now.ToString("dd"); for year DateTime.Now.ToString("yyyy");


 

string now = Convert.ToString(DateTime.Now.ToShortDateString()); Console.WriteLine(now); Console.ReadLine();


 

.NET에는 내장 된 날짜 전용 유형이 없습니다.

규칙은 자정으로 설정된 시간 부분과 함께 DateTime 을 사용하는 것입니다.

정적 Today 속성은 오늘 날짜를 알려줍니다.

 

[출처] https://code-examples.net/ko/q/6805f2

 

어제날짜 현재 날짜 만 C#으로 가져 오기

나는 날짜와 시간을 사용하여 얻을 수있다:DateTime now=DateTime.Now; DateTime 형식 자체로 현재 날짜와 시간을 따로 따로 가져올 수 있습니까? ASP.net(C#)에서 DateTime picker 대화 상자를 사용하지 않습니다.

code-examples.net

 

반응형
Posted by blueasa
, |

1. 이슈

어제, 지금 만드는 게임의 배포국가가 추가되었다.

기존 뉴질랜드, 싱가폴, 필리핀에서 + 캐나다.

 

이에 따라, 캐나다에 웹서버를 한대 더 두기로 결정을 했는데 클라이언트에서는 지역에 따라 A 서버와 B 서버를 구분해서 접속을 시도해야하는 기능을 구현해야 한다.

 

 

2. 방법 모색 & 문제점

- SIM 정보를 가져와서 처리

-> SIM 정보를 얻어 올 수 없는 경우가 많다. (타블렛등)

 

- 핸드폰의 언어 정보를 가져와서 처리

-> 한국인인데 영어를 쓰는 경우 생각보다 많다.

 

- 지금 사용중인 akamai에서 area 정보를 받아서 처리

-> 정보를 알려줄 방법이 없다고 한다..

 

3. Geo IP

ip 찾는 사이트 보면 내가 접속한 지역을 찍어주는 기능이 있는데, 이걸 우리도 쓸 수 있지 않을까 해서 찾아봤다. Geo IP 라는 기능이 있다고 한다.

http://php.net/manual/kr/book.geoip.php

 

설치하고 셋팅해줘야 한다고 한다.

일단 지금은 셋팅 할 시간도 없고 해서

 

4.http://www.telize.com/

구글링 검색은 "how to find ip address region json data"

GeoIP를 rest API로 내려주는 사이트 몇몇개가 있는데 telize.com으로 선택

이유는

-> 무료

-> 콜 수 제한 없음

 

나중에 우리서버에 구축을 해야하나..? 란 생각이 들었는데 이건 알아서 업데이트 해줄거 같으니 그때 가서 생각하기로.

기부를 받고 있으니 감사하게 생각하시면 기부를.

서버 개발자의 하루 일당 정도를 줘도 괜찮지 않을까.

 

5. 사용법

매우 씸플하다.

유니티의 WWW 클래스에 담아서 리스폰스 메시지를 json으로 파싱.

private IEnumerator getGeoIP()
{
    WWW www = new WWW("http://www.telize.com/geoip");
 
    while (!www.isDone)
    {
        yield return new WaitForSeconds(0.1f);
    }
 
    SimpleJSON.JSONNode node = SimpleJSON.JSONNode.Parse(www.text);
 
    Debug.Log(node);
}

 

{"dma_code":"0","ip":"x.xx.xxx.xxx","asn":"AS3786","city":"Seoul","latitude":37.5985,"country_code":"KR","offset":"9","country":"Korea, Republic of","region_code":"11","isp":"안알랴쥼ㅋ","timezone":"Asia\/Seoul","area_code":"0","continent_code":"AS","longitude":126.9783,"region":"Seoul-t'ukpyolsi","country_code3":"KOR"}

 

 

우리에게 필요한건 country_code (국가코드)랑 continent_code(대륙코드)

대륙코드의 값은 PHP 레퍼런스에서 확인 할 수 있다.

http://php.net/manual/kr/function.geoip-continent-code-by-name.php

 

북미+남미 / 아시아 에 따라 주소만 다르게 넣어주면 끝.

 

끝!

 

[출처] https://180bpm.tistory.com/105

 

클라이언트의 접속지역 정보를 Rest API로 받아오기.

1. 이슈 어제, 지금 만드는 게임의 배포국가가 추가되었다. 기존 뉴질랜드, 싱가폴, 필리핀에서 + 캐나다. 이에 따라, 캐나다에 웹서버를 한대 더 두기로 결정을 했는데 클라이언트에서는 지역에 따라 A 서버와 B..

180bpm.tistory.com

 

반응형
Posted by blueasa
, |

Azgaar’s Fantasy Map Generator v1.1 판타지 지도 생성기 http://bit.ly/2p5mg1G
-- @seoulrain서울비트윗 | tweet

 

Azgaar's Fantasy Map Generator

Web application generating interactive and customizable maps

azgaar.github.io

 

반응형
Posted by blueasa
, |

텍스트 메쉬 프로에 대한 사용법에 대하여 검색용으로 간략히 적어 놓습니다.

편하게 적다 보니 반말체인 점 양해 부탁드립니다.

---------------------------------------------------------------------------------------------------------

ㅁ 텍스트 메쉬 프로(이하 텍메프)의 설치
  1. 유니티 메뉴의 Window -> Package Manager 에서 받아서 설치한다.





ㅁ 텍메프 생성


  1. 하이라키 뷰에서 마우스 오른쪽 클릭 -> UI -> Text - Text Mesh Pro를 실행한다. 텍메프는 유니티 GUI 기능을 이용하며 이는 캔버스 내부에 사용한다.



ㅁ 폰트 에셋
  텍메프는 폰트 파일(ttf)가 아닌 폰트 파일을 이용해서 만든 폰트 에셋을 사용한다. 폰트 에셋 생성은 다음과 같다. (한글 파일 기준)




1. 유니티 메뉴의 Window -> TextMeshPro -> Font Asset Creator 를 실행한다.

2. Source Font File에 폰트 파일(ttf)를 입력한다.

3. Padding에 글자 간 간격을 입력한다. 4~5 정도가 적당한 듯 하다.

4. Atlas Resolution에서 아틀라스 이미지 파일의 크기를 결정한다. 한글 폰트의 경우 4096 X 4096 정도는 되어야 할 듯 하다.

5. Character Set에서 어떤 방식을 사용할지 결정 할 수가 있다.




주목할 점은 Custom Range, Custom Characters.

- Custom Range 은 폰트의 글자 위치를 이용하여 아틀라스로 만들 글자를 정한다.

- Custom Characters는 특정 원하는 글자를 직접 입력하여 원하는 글자를 추출할 수 있다. "가나다"라고 입력 시 가나다 3글자만 추출한다.

여기서는 Custom Range를 이용하여 모든 글자를 추출한다.

6. Character Sequence에 추출할 글자를 입력한다.

완성형 기본 한글의 경우 44032-55203을 입력한다.

7. Rander Mode를 설정 한다.

 



특정 렌더 모드이 경우 텍메프에서 메테리얼이 비트맵 형식으로 가공된다. 이 경우 아웃라인등 추가적인 효과를 입력하기 어렵다.

이번에는 추가적인 효과를 입력할 수 있는 Distance Field 형식이 필요하기에 SDF32 방식으로 설정한다.

- 특정 렌더 모드의 경우 글자 끝을 둥글게 처리한다. 즉 고딕 폰트를 설정하였는데 돋음체 처럼 끝이 둥근 형태로 나올 수 있다.
- 추후 메테리얼을 직접 Distance field 로 변경할 수 있다. 하지만 이 경우 한글에 아웃라인 등 추가적인 효과가 적용되지 않는 것을 확인하였다.

8. Generate Font Atlas를 클릭하여 굽는다.



굽는다. 시간이 오래 걸린다.




시간이 오래 걸리니 귀여운 고양이를 보자.

귀엽다.





안고도 잔다.

귀엽다.





배고도 잔다.

귀엽다.





귀엽다.



9. 폰트 에셋이 노릇노릇 구워 지면 Save를 눌러 저장하자. 저장하는 걸 잊지 말자.


ㅁ 텍메프에 폰트 에셋 연결


1. 텍메프의 인스팩터 뷰에서 Font Asset 부분에 방금 구워진 폰트 에셋을 추가한다.


2. 한글을 입력해 본다.

잘 나온다.



ㅁ 프리셀



이건 프리셀이다.



ㅁ 메테리얼 프리셋

텍스트 메테리얼 부분을 이용하여 특정 효과를 입력 추가 하여 보자.



폰트에 아웃라인을 추가하였다. 하지만 이때 문제는 같은 메테리얼을 공유하는 모든 텍메프에 효과가 동일 하게 적용된다.

우선 추가로 다른 메테리얼을 추가해 보자.


1. 폰트 에셋의 작은 삼각형 화살표를 열고 메테리얼 파일을 복사한다.  (맥 기준 Alt + D.. 윈도는 컨트롤 디였던가…?)


2. 복제된 메테리얼의 이름을 수정한다. 이때 폰트명은 폰트 에셋의 이름이 반드시 포함되어야 한다.
예 ) 폰트 에셋 명 : "NSquareB" , 추가된 메테리얼 명 "NSquareB Outline"


3. 텍메프의 인스펙터뷰의 Material Preset에서 새로 추가된 메테리얼을 선택 후 원하는 효과를 추가해 보자.

메테리얼을 변경한 텍메프에만 효과가 적용되는 걸 확인할 수 있다.



ㅁ 로컬라이징
한글 외에 일본어 중국어 등이 추가하여 새로운 폰트 에셋을 생성할 경우 앞에서 만든 기존의 폰트 에셋을 사용할 수 없다.

폰트에셋과 이름이 다른 메테리얼을 사용할 수가 없기 때문이다. (메테리얼에 적용된 아틀라스가 다르니... )

아마 로컬라이징을 생각하는 경우 언어별로 폰트에셋을 사용해야 하는데 이 경우에는 테그를 이용하는 게 편할 듯 하다.



1. 텍메프의 Text 부분에 다음과 같은 테그를 입력하여 적용할 수 있다.

폰트 변경 : font="폰트에셋명"
메테리얼 변경 : material="메테리얼명"

2. 테그 잘 안다고 material = "이름" 같이 사이 띄기 넣지 마라. (내가 헤맨 건 절대 아님….)

3. 이때 폰트 에셋과 메테리얼은 Resources 폴더 안에 위치해야 한다.



ㅁ 스타일
사실 저 테그가 게임 내에 들어갈 글귀들과 함께 들어가기에는 좀 길다. 스타일을 이용하여 단축할 수 있다.


1. 프로젝트뷰에서 텍메프 폴더 하단에 Style Sheets폴더 안 Default Style Sheet 파일을 선택 한다.


2. 인스팩터 뷰의 스크롤을 내린 뒤 + 버튼을 클릭한다.

3. 아무런 변화가 없다.

4. 당황하지 말고 Next를 눌러 다음 페이지로 넘기자.

5. 아마 마지막과 같은 내용의 스타일이 하나 더 추가되어 있을 것이다.



6. 원하는 Name을 입력 후 원하는 테그를 입력한다.

7. 저장 버튼을 누른다.

8. 속았다. 저장 버튼은 없다. 자동 저장이다.



9. 6에서 입력한 Name을 스타일 테그로 불러올 경우 정상적으로 동작하는 것을 확인할 수 있다.

(마지막 이미지의 붉은 글씨가 헷갈릴 수 있을 거 같다. 선택된 텍메프 오브젝트는 위의 글씨다.)

 

 


[추가]
하나 더 추가합니다.

로컬라이징 부분에서 한글 영어, 일어, 등 변경 사항이 있을 때 위에는 폰트 에셋과 메테리얼을

테그로 손보는 방식을 생각해 봤는데 더욱더 간단한 방법이 될 수도 있을 거 같아요.

만드신 폰트 에셋을 선택하고 인스팩터 뷰에서 스크롤 쭉 내리시면 위의 이미지와 같은

Fallback Font Assets이라는 부분이 있습니다.

이건 입력한 문자가 폰트에셋에 없으면 다른 폰트 에셋의 문자로 대처할 수 있는 기능이에요.

여기에 한국어 영어 일본어 등 추가 폰트 등을 물려 놓을 경우 별도의 폰트 로컬라이징 필요 없이

바로 자동으로 연결이 되네요.

 

 

[출처]

http://www.gamecodi.com/board/zboard.php?id=GAMECODI_Talkdev&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=5297

루트군님

 

유니티 텍스트 메쉬 프로에 대한 사용법 간략 정리

텍스트 메쉬 프로에 대한 사용법에 대하여 검색용으로 간략히 적어 놓습니다.편하게 적다 보니 반말체인 점 양해 부탁드립니다.--------------------------------...

www.gamecodi.com

 

반응형
Posted by blueasa
, |