해당 오브젝트 하위의 이미지등이 rect 안에서만 보임
alpha값은 1/255 이상이여야 하고 0이면 안됨
적용이 잘 안 된다면 Mask컴포넌트를 지웠다가 재할당 할것
'Unity' 카테고리의 다른 글
TTS (0) | 2020.10.19 |
---|---|
유니티 IDE(비주얼스튜디오) 바꾸기 (0) | 2020.08.19 |
유니티 콜라보레이트 클라우드 (0) | 2020.08.10 |
해당 오브젝트 하위의 이미지등이 rect 안에서만 보임
alpha값은 1/255 이상이여야 하고 0이면 안됨
적용이 잘 안 된다면 Mask컴포넌트를 지웠다가 재할당 할것
TTS (0) | 2020.10.19 |
---|---|
유니티 IDE(비주얼스튜디오) 바꾸기 (0) | 2020.08.19 |
유니티 콜라보레이트 클라우드 (0) | 2020.08.10 |
파일 주소앞에 file:///를 넣는다
끝
유니티 에디터 관련 (0) | 2020.10.05 |
---|---|
c# MD5 (0) | 2020.08.25 |
UnityWebRequest (0) | 2020.08.20 |
v1
public string GetMD5(byte[] data)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
byte[] hash = System.Security.Cryptography.MD5.Create().ComputeHash(data);
foreach (byte b in hash)
{
sb.Append(b.ToString("X2"));
}
return sb.ToString();
}
v2
public string GetMD5(byte[] data)
{
byte[] bytes = System.Security.Cryptography.MD5.Create().ComputeHash(data);
return System.BitConverter.ToString(bytes).Replace("-", "");
}
failed to connect to localhost port 80: Connection (0) | 2020.09.01 |
---|---|
UnityWebRequest (0) | 2020.08.20 |
형변환 모음 (0) | 2020.08.11 |
파일을 다운로드
public string url;
public string fileName;
public string fileType;
IEnumerator DownloadFile()
{
string filePath= $"{Application.persistentDataPath}/{fileName}";
if( (fileType != null)&& (fileType.Trim() != "") )
{
filePath += $".{fileType}";
}
UnityWebRequest unityWebRequest = UnityWebRequest.Get(url);
yield return unityWebRequest.SendWebRequest();
if (unityWebRequest.isNetworkError)
{
Debug.LogError(unityWebRequest.error);
}
else
{
File.WriteAllBytes(filePath, unityWebRequest.downloadHandler.data);
}
}
V2
/// <summary>
/// 다운 다되면 파일경로를 반환
/// </summary>
/// <param name="downloadlink"></param>
/// <param name="filePath"></param>
/// <returns></returns>
IEnumerator DownloadFile(string downloadlink, string filePath)
{
Debug.Log($"Download:{downloadlink}");
{
DOWNLOAD_RETRY:;
{
var unityWebRequest = UnityWebRequest.Get(downloadlink);
var operation = unityWebRequest.SendWebRequest();
yield return new WaitUntil(() => operation.isDone);
if (unityWebRequest.isNetworkError)
{
Debug.LogError(unityWebRequest.error);
yield return new WaitForSeconds(3f);
goto DOWNLOAD_RETRY;
}
else
{
Debug.Log(filePath);
var folderPath = System.IO.Path.GetDirectoryName(filePath);
Debug.Log(folderPath);
if (System.IO.Directory.Exists(folderPath) == false)//폴더가 없으면 생성
{
System.IO.Directory.CreateDirectory(folderPath);
}
System.IO.File.WriteAllBytes(filePath, unityWebRequest.downloadHandler.data);
}
}
}
yield return filePath;
}
DownloadHandlerFile 방식
메모리를 딱 필요한만큼만 쓴다. 위에는 2배사용
V3
List<string> downloadList = new List<string>();
IEnumerator DownloadFile(string downloadlink, string filePath)
{
downloadList.Add(downloadlink);
DOWNLOADRETRY:;
{
UnityWebRequest unityWebRequest = UnityWebRequest.Get(downloadlink);
unityWebRequest.downloadHandler = new DownloadHandlerFile(filePath);
var operation = unityWebRequest.SendWebRequest();
yield return new WaitUntil(() => operation.isDone);
if (unityWebRequest.isNetworkError)
{
Debug.LogError(unityWebRequest.error);
yield return new WaitForSeconds(1f);
goto DOWNLOADRETRY;
}
else
{
Debug.Log(filePath);
}
}
downloadList.Remove(downloadlink);
}
V1~V2
IEnumerator DownloadFile(string downloadlink, string filePath)
{
UnityWebRequest unityWebRequest = UnityWebRequest.Get(downloadlink);
unityWebRequest.downloadHandler = new DownloadHandlerFile(filePath);
var operation = unityWebRequest.SendWebRequest();
while (!operation.isDone)
{
yield return new WaitForSeconds(0.01f);
}
if (unityWebRequest.isNetworkError)
{
Debug.LogError(unityWebRequest.error);
}
else
{
Debug.Log(filePath);
}
}
V2
List<String> DownloadList = new List<String>();
IEnumerator DownloadFile(string downloadlink, string filePath)
{
UnityWebRequest unityWebRequest = UnityWebRequest.Get(downloadlink);
unityWebRequest.downloadHandler = new DownloadHandlerFile(filePath);
DownloadList.Add(downloadlink);
DOWNLOADRETRY:;
var operation = unityWebRequest.SendWebRequest();
while (!operation.isDone)
{
yield return new WaitForSeconds(0.01f);
}
if (unityWebRequest.isNetworkError)
{
Debug.LogError(unityWebRequest.error);
yield return new WaitForSeconds(1f);
goto DOWNLOADRETRY;
}
else
{
Debug.Log(filePath);
}
DownloadList.RemoveAt(DownloadList.FindIndex(0, DownloadList.Count, x => x == downloadlink));
}
HTML 다운로드
public string urlSample= "https://wmmu.tistory.com/";
IEnumerator DownloadHTML(string url)
{
UnityWebRequest unityWebRequest;
unityWebRequest = UnityWebRequest.Get(url);
yield return unityWebRequest.SendWebRequest();
if (unityWebRequest.isNetworkError)
{
Debug.LogError(unityWebRequest.error);
}
else
{
Debug.Log(unityWebRequest.downloadHandler.text);
}
}
오디오 파일 로드
//전용 세이브 폴더 참조시에는
//$"file://{UnityEngine.Application.persistentDataPath}/Audio.mp3";
static AudioClip LoadAudioClip(string downloadLink)
{
var fileName= downloadLink;
if (System.IO.File.Exists(downloadLink))
{
downloadLink = $"file://{downloadLink}";
fileName = System.IO.Path.GetFileNameWithoutExtension(downloadLink);
}
UnityWebRequest unityWebRequest = UnityWebRequestMultimedia.GetAudioClip(downloadLink, AudioType.UNKNOWN);
var operation = unityWebRequest.SendWebRequest();
while (!operation.isDone)
{
Thread.Sleep(1);
}
if (unityWebRequest.isNetworkError)
{
Debug.LogError(unityWebRequest.error);
}
else
{
//Debug.Log("LoadAudioClipSuccess");
}
var clip = DownloadHandlerAudioClip.GetContent(unityWebRequest);
clip.name = fileName;
return clip;
}
캐시 테스트
public string url;
public string cookie;
public string fileName;
public string fileType;
IEnumerator DownloadFile()
{
string filePath = $"{Application.persistentDataPath}/{fileName}";
if ((fileType != null) && (fileType.Trim() != ""))
{
filePath += $".{fileType}";
}
UnityWebRequest unityWebRequest = UnityWebRequest.Get(url);
if (string.IsNullOrWhiteSpace(cookie)==false)
{
unityWebRequest.SetRequestHeader("Cookie", cookie);
}
yield return unityWebRequest.SendWebRequest();
if (unityWebRequest.isNetworkError)
{
Debug.LogError(unityWebRequest.error);
}
else
{
Debug.Log(unityWebRequest.downloadHandler.text);
//File.WriteAllBytes(filePath, unityWebRequest.downloadHandler.data);
}
}
// Start is called before the first frame update
void Start()
{
StartCoroutine(DownloadFile());
}
c# MD5 (0) | 2020.08.25 |
---|---|
형변환 모음 (0) | 2020.08.11 |
유니티 씬 계열 함수 모음 (0) | 2020.07.30 |
비주얼스튜디오 2019는 여기에 있다
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe
가 아니고 사실 이렇게 경로를 지정해주면 안되고 비주얼 스튜디오 인스톨러를 이용해서 한번 더 설치해주면 저기에 알아서 비주얼 스튜디오 커뮤니티라고 뜬다
유니티 Mask (0) | 2020.09.24 |
---|---|
유니티 콜라보레이트 클라우드 (0) | 2020.08.10 |
This mesh uses 'Multiple Canvas Renderers' for correct rendering. (0) | 2020.08.05 |
일반적으로 사용하는 타입
var 변수= (타입)오브젝트;
가독성을 위해 간간히 쓰이는 타입, 괄호가 너무 많을때 사용함
var 변수= 오브젝트 as 타입
옛날방식
int 변수=int.Parse("1");
UnityWebRequest (0) | 2020.08.20 |
---|---|
유니티 씬 계열 함수 모음 (0) | 2020.07.30 |
C# 파일관련 함수들 (0) | 2020.07.30 |
https://dashboard.unity3d.com/landing
-추가 2020-12-30 :
수정할때라서 그런지는 몰라도 이렇게 바뀌었다
매니저는 파일이름수정 권한이 없다
참여한측 화면
눌러
dashboard.unity3d.com/collaborate
초대 받았는데도 안되면 활성화를 해줘야한다
유니티 IDE(비주얼스튜디오) 바꾸기 (0) | 2020.08.19 |
---|---|
This mesh uses 'Multiple Canvas Renderers' for correct rendering. (0) | 2020.08.05 |
유니티 함수 연동 안될때 (0) | 2020.08.03 |
This mesh uses 'Multiple Canvas Renderers' for correct rendering. Consider packing attachments to a single atlas page if possible
유니티 콜라보레이트 클라우드 (0) | 2020.08.10 |
---|---|
유니티 함수 연동 안될때 (0) | 2020.08.03 |
유니티 스파인 오류 모음 (0) | 2020.07.24 |