2021년 2월 23일 화요일

[코딩테스트] 전화번호 목록(해쉬)

 










정답 및 풀이:https://gist.github.com/DongguemYoo/6c052879698064d55149bf1d8a02f774

2021년 2월 17일 수요일

[Unity Shader Graph] Unity CutOff Shader

 


원하는 각도에서 자르는 세이더



문제는 빈공간이 채워지지 않는다(속이비어있다) ㅠㅠ






[unity3D,유니티]강철눌림 구현 Shader,metal,physics

 강철눌림을 구현함에 있어서 끄적여 본것






화질구지로 강제 보안 지렷고~
























2021년 2월 16일 화요일

Unity Material Site

 https://cc0textures.com/list?sort=Popular&offset=180&limit=180

[Unity Shader Graph] Unity URP Basic Shader

간단하게 외각선이 빛나는 shader를 만들어 볼께여.


순서

Project->(원하는폴더)우클릭->Create->Shader->

Universal Render PipeLine-> Lit Shader Graph(중요)


보통 현재 나와있는 튜토리얼은 PBR 을 사용하는데 

최신버전에서는 없습니다 그러니까 이걸 사용하시고


PBR의 Albedo -> URP의 Base Color 라고 보시면 되고

나머지 알파나 없는 값들은 Fragment에서 추가하시면됩니다( 우클릭 ->Create Node)





일단 제가 아는 팁부터 공유

TIP


#####################

설명문


노드를 누르고 오른쪽 클릭하면 다큐멘테이션이 열리면서 

해당 노드에 대한 설명을 볼수있다


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

노드에 오른쪽 클릭후 Convert to Property 하면 

외부에서 Property값을 수정가능하다(매우 편리함)

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


Main Preview


우클릭 후 Custom Mesh에서 원하는 Mesh로 변경 가능



#############TIP 끝################





자 이제부터 제작 시작합니다.


Fresnel Effect


동그란 램프효과




Multiply



두가지 기능을 섞는 효과

A+B->Out






Remap


들어온 현재 민맥스 값을 원하는 민맥스 값으로 변환하는 기능!!


ex) sine Time 값은 -1~1사이를 왓다리 갓다리한다.


IN(sine Time) 의 min max는 -1~1사이로 정하고

OUT min max는 0~1 사이로 정하면


조금 더 디테일 하게 표현 가능


ex)sine0 -> 0.5(out) (아마 이런식이지 않을까)


(0~1사이에 -1~1이 전부 표현되기 때문)

리맵을 연결해서 원하는 값으로 설정 가능합니당


Texture

urp 셰이더 만들때 texture를 넣고싶을때 사용


Texture2D만듬


그림에서 + 버튼 누르고 원하는 텍스쳐를 생성


생성된 텍스쳐를 끌어서 노드로 만드세요


하지만 노드에서 바로 Ambient Occlusion으로 적용이 안되서 컨버팅 필요합니당


그래서 



Sample Texture 2D 라는 새로운 노드를 만들고


Texture연결 하고


RGBA4를 Ambient Occlusion와 연결해서 적용하면됩니당!



완성된 모습









2021년 2월 2일 화요일

Ellipse unity c# 타원 움직임 구현( 화살표 UI포함 )

 

c# 에서 타원(ellipse) 움직임 구현



public void indicator_Ellipse(float angle)
{
//타원공식
dAngle = (angle- ellipse_start_offset) * Mathf.Deg2Rad;
x = Mathf.Sin(dAngle) * xAxis;
y = Mathf.Cos(dAngle) * yAxis;
//button.localEulerAngles = new Vector3(0, 0, -buttonAngle);
_arrow.anchoredPosition = new Vector2(x, y);
_arrow.localEulerAngles = new Vector3(0,0, -(angle - ellipse_start_offset)); //같이 회전하는 화살표 UI 회전값
}










정규화 역정규화 공식(normalizationValue,denormalizationValue)

 정규화


normalizationValue = (data - min) / (max - min);


역정규화

//역정규화 하기 (30~150)값을 기준으로

denormalizationValue = (normalizationValue * 121)+29;

        Debug.Log(string.Format("정규화 결과:{0},역정규화 결과:{1}", normalizationValue, denormalizationValue));



//정규화로 나온값을 30~150으로 다시 변환해서 사용
//역정규화 하기 (40~140)값을 기준으로
//denormalizationValue = (normalizationValue * 121) + 29;
//101= 사이각도 40= 시작각도
denormalizationValue = (normalizationValue * 100) + 39;
Indicator.indicator_Ellipse(denormalizationValue)






2021년 2월 1일 월요일

unity git 올릴때 필요없는 파일 제외하기

 https://www.gitignore.io/


사이트에서 

visualStudio, windows를 입력하면 전부다 긁어서 *.gitignore 파일 을 만들면 된다


그냥 이거 긁어서 .gitignore 확장자로 만들면됩니다.


# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
#
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
[Ll]ogs/
[Uu]ser[Ss]ettings/

# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
[Mm]emoryCaptures/

# Recordings can get excessive in size
[Rr]ecordings/

# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*

# Autogenerated Jetbrains Rider plugin
[Aa]ssets/Plugins/Editor/JetBrains*

# Visual Studio cache directory
.vs/

# Gradle cache directory
.gradle/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta

# Unity3D generated file on crash reports
sysinfo.txt

# Builds
*.apk
*.aab
*.unitypackage
*.app

# Crashlytics generated file
crashlytics-build.properties

# Packed Addressables
[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*

# Temporary auto-generated Android Assets
[Aa]ssets/[Ss]treamingAssets/aa.meta
[Aa]ssets/[Ss]treamingAssets/aa/*

git rejected error(feat. cherry-pick)

 문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...