Get it on Google Play


Wm뮤 :: '분류 전체보기' 카테고리의 글 목록 (47 Page)

블로그 이미지
가끔 그림그리거나 3D모델링하거나
취미로 로봇만드는
전자과 게임프로그래머 (퇴사함)
2022.3.22f1 주로 사용
모카쨩
@Ahzkwid

Recent Comment

Archive


'전체보기'에 해당되는 글 1150건

  1. 2022.01.22 유니티 프로젝터
  2. 2022.01.22 유니티 메시 관련
  3. 2022.01.17 유니티 아웃라인
  4. 2022.01.17 마이리빙 무드 가습기 MOD-02 설명서
  5. 2022.01.15 함수 그래프 모음
  6. 2022.01.13 마비노기 합성 재료 모음
  7. 2022.01.13 Decal Shader
  8. 2022.01.12 잉크스케이프 사용법
2022. 1. 22. 12:48 Unity

 

 

 

 

 

 

 

 

 

texS.rg = i.uvShadow.rg;
texS.b = (i.uvShadow.b+1)/2;

프로젝터상의 좌표계가 나온다

r은 x좌표계

g는 y좌표계

b값은 z좌표계이고 (-1~1)의 값을 가지고 있으며 메쉬가 클경우 최대값인 1이 넘을수도 있다. 

 

등고선은 하단 코드를 사용했다

if (texS.b%0.1>0.09)
{
    texS = 0;
}

 

'Unity' 카테고리의 다른 글

유니티 라이팅  (0) 2022.01.29
유니티 아웃라인  (0) 2022.01.17
유니티 페이스북 인증 2021  (0) 2021.12.25
posted by 모카쨩
2022. 1. 22. 12:04 Unity/C#

 

 

중앙값

var position = Vector3.zero;
position.x = mesh.vertices.Average(x => x.x);
position.y = mesh.vertices.Average(x => x.y);
position.z = mesh.vertices.Average(x => x.z);

'Unity > C#' 카테고리의 다른 글

유니티 폴리곤 처리  (0) 2022.02.10
유니티 ScriptableObject  (0) 2021.12.16
유니티 트랜스 폼 (Transform)  (0) 2021.11.30
posted by 모카쨩
2022. 1. 17. 11:29

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2022. 1. 17. 09:10 사용설명서

'사용설명서' 카테고리의 다른 글

삼성플로우 사용법  (0) 2022.04.01
일본어 입력방법  (0) 2021.11.03
미니 발펌프 사용설명서  (0) 2021.10.24
posted by 모카쨩
2022. 1. 15. 13:14 Unity/shader

쉐이더 짜면서 만들었던 그래프들

 

 

 

 

사이트는 이곳을 사용했다

https://www.mathway.com/ko/Graph

 

Mathway | 그래프 계산기

 

www.mathway.com

https://www.desmos.com/calculator?lang=ko 

 

Desmos | 그래핑 계산기

 

www.desmos.com

 

 

 

로그

 

 

 

y=x*x

 

y=1-x*x

 

 

y=sqrt(x)

 

sqrt(1-x)

 

y=sqrt(1-abs(x))

안 쓸거 같았는데 의외로 스카이박스 쉐이더 만들때 썼다

 

 

y=sqrt(1-abs(x))*x/abs(x)

 

 

y=sqrt(x)*sqrt(1-x)

 

y=sqrt(1-x/2)*sqrt(x*2)

 

y=sqrt(1-x)*sqrt(x+1)

 

 

 

 

y=sqrt(x+1)*-sqrt(1-x)

 

그냥 위에서 +1을 했을뿐

y=sqrt(x+1)*-sqrt(1-x)+1

 

 

y=sqrt(x+1)*sqrt(1-x)*x/abs(x)

 

 

 

g=(1+sqrt(5))/2   //황금비

y=(1/(x+g-1))-g+1

 

위공식에 1-x 했을경우

 

 

 

g=(1+sqrt(5))/2   //황금비

y=(1/(x-g))+g

 

 

g=(1+sqrt(5))/2   //황금비

y=abs((1/(abs(x)-g))+g)*x/abs(x)

 

 

 

a=2

b=x*a-1

y=(b*abs(b))/a+1/a

 

 

a=2

b=1/a

c=x-b

d=abs(c)

y=sqrt(d)*c/d/sqrt(2)+b

정리가 다 안되었다

일단 sqrt(2)는 앞에 sqrt안에 넣을수 있을듯

 

 

y=sqrt(abs(x))*x/abs(x)

 

a=2

b=x*a-1

y=b*(b*b+1)/a*a+1/a

 

 

 

 

 

y=(sqrt(x)-sqrt(1-x)+1)/2

위와는 곡선모양이 조금 다르다

 

y=(sqrt(1-x)-sqrt(x)+1)/2

위에걸 좌우 뒤집음

 

 

y=x*x-x+1

 

y=-(x*x-x)

 

 

y=pow(x,1/x)

 

 

 

 

y=sqrt((x-0.5)*0.5/(x*x))

 

y=x*x+sqrt(x)

 

 

 

y=x*x-sqrt(x)+1

 

 

y=log(x)+1

 

 

 

y=log(x)*log(x)

 

 

 

y=(log(x)+1)*0.9

대각선 대칭처럼 보이지만 대칭은 아니다

 

 

 

특수한 함수들

sqrt(x*-x*x*-x) = x*x는 동일하다

동일해서 그래프가 겹치다보니 식별하기 쉽게 위의 파란색은 x*-x 로 했다

 

 

 

 

 

 

 

 

 

 

 

 

 

y=abs(1-abs(x))

 

y=-x+x/abs(x)

 

 

 

 

 

 

 

 

태그: 수학

'Unity > shader' 카테고리의 다른 글

유니티 스카이박스 관련  (0) 2023.01.16
Decal Shader  (0) 2022.01.13
shader pixel broken  (0) 2022.01.12
posted by 모카쨩
2022. 1. 13. 19:43 게임/망비

 

 

이름 매각가 구입가
스티치 롱 로브 아머 10000 40000
카이트실드 6000 50000
발레스실드 8000 50000
트리니티스태프 7000 60000
피닉스 파이어 원드 5700 20000
야만적인 라이트닝 원드 5000 40000
     
클래식 매그놀리아 붓 7000 40000
더스틴 실버 나이트 헬름 14560 50000
로즈 플레이트 아머 60000 70000
     

 

'게임 > 망비' 카테고리의 다른 글

경갑 제조일지  (0) 2021.10.03
멀넠 제조일지  (0) 2021.09.19
마비노기 돈벌이  (0) 2021.08.22
posted by 모카쨩
2022. 1. 13. 11:06 Unity/shader

 

 

 

 

스티커 쉐이더

팀포의 스프레이 같은걸 생각하면 된다

 

 

-프로젝터 기법

간단하면서 확실한 기법이다

장점

  -레이어 구분 가능

  -육안으로 적용된 지역 파악이 쉬움

  -높은 호환성 (기본컴포넌트니까)

  -Orthographic전환이 간편

단점

  -깊이가 너무 깊은면에 투과하는 문제

  -후면 비침문제

더보기

 

 

 스탠다드 에셋에서 프로젝터 쉐이더를 불러와야 하지만 스탠다드 에셋 지원이 끊겼다

 에셋스토어에서 잘 불러오거나 수동으로 만들자

 

 

 

 

 

Standard Assets\Effects\Projectors\Shaders\ProjectorLight.shader

// Upgrade NOTE: replaced '_Projector' with 'unity_Projector'
// Upgrade NOTE: replaced '_ProjectorClip' with 'unity_ProjectorClip'

Shader "Projector/Light" {
	Properties{
		_Color("Main Color", Color) = (1,1,1,1)
		_ShadowTex("Cookie", 2D) = "" {}
		_FalloffTex("FallOff", 2D) = "" {}
	}

		Subshader{
			Tags {"Queue" = "Transparent"}
			Pass {
				ZWrite Off
				ColorMask RGB
				Blend DstColor One
				Offset -1, -1

				CGPROGRAM
				#pragma vertex vert
				#pragma fragment frag
				#pragma multi_compile_fog
				#include "UnityCG.cginc"

				struct v2f {
					float4 uvShadow : TEXCOORD0;
					float4 uvFalloff : TEXCOORD1;
					UNITY_FOG_COORDS(2)
					float4 pos : SV_POSITION;
				};

				float4x4 unity_Projector;
				float4x4 unity_ProjectorClip;

				v2f vert(float4 vertex : POSITION)
				{
					v2f o;
					o.pos = UnityObjectToClipPos(vertex);
					o.uvShadow = mul(unity_Projector, vertex);
					o.uvFalloff = mul(unity_ProjectorClip, vertex);
					UNITY_TRANSFER_FOG(o,o.pos);
					return o;
				}

				fixed4 _Color;
				sampler2D _ShadowTex;
				sampler2D _FalloffTex;

				fixed4 frag(v2f i) : SV_Target
				{
					fixed4 texS = tex2Dproj(_ShadowTex, UNITY_PROJ_COORD(i.uvShadow));
					texS.rgb *= _Color.rgb;
					texS.a = 1.0 - texS.a;

					fixed4 texF = tex2Dproj(_FalloffTex, UNITY_PROJ_COORD(i.uvFalloff));
					fixed4 res = texS * texF.a;

					UNITY_APPLY_FOG_COLOR(i.fogCoord, res, fixed4(0,0,0,0));
					return res;
				}
				ENDCG
			}
	}
}

 

 

Standard Assets\Effects\Projectors\Shaders\ProjectorMultiply.shader

// Upgrade NOTE: replaced '_Projector' with 'unity_Projector'
// Upgrade NOTE: replaced '_ProjectorClip' with 'unity_ProjectorClip'

Shader "Projector/Multiply" {
	Properties{
		_ShadowTex("Cookie", 2D) = "gray" {}
		_FalloffTex("FallOff", 2D) = "white" {}
	}
		Subshader{
			Tags {"Queue" = "Transparent"}
			Pass {
				ZWrite Off
				ColorMask RGB
				Blend DstColor Zero
				Offset -1, -1
		 
				CGPROGRAM
				#pragma vertex vert
				#pragma fragment frag
				#pragma multi_compile_fog
				#include "UnityCG.cginc"

				struct v2f {
					float4 uvShadow : TEXCOORD0;
					float4 uvFalloff : TEXCOORD1;
					UNITY_FOG_COORDS(2)
					float4 pos : SV_POSITION;
				};

				float4x4 unity_Projector;
				float4x4 unity_ProjectorClip;

				v2f vert(float4 vertex : POSITION)
				{
					v2f o;
					o.pos = UnityObjectToClipPos(vertex);
					o.uvShadow = mul(unity_Projector, vertex);
					o.uvFalloff = mul(unity_ProjectorClip, vertex);
					UNITY_TRANSFER_FOG(o,o.pos);
					return o;
				}

				sampler2D _ShadowTex;
				sampler2D _FalloffTex;

				fixed4 frag(v2f i) : SV_Target
				{
					fixed4 texS = tex2Dproj(_ShadowTex, UNITY_PROJ_COORD(i.uvShadow));
					texS.a = 1.0 - texS.a;

					fixed4 texF = tex2Dproj(_FalloffTex, UNITY_PROJ_COORD(i.uvFalloff));
					fixed4 res = lerp(fixed4(1,1,1,0), texS, texF.a);

					UNITY_APPLY_FOG_COLOR(i.fogCoord, res, fixed4(1,1,1,1));
					return res;
				}
				ENDCG
			}
	}
}

 

Shader error in 'ProjectorMultiply': Parse error: syntax error, unexpected '-', expecting TVAL_VARREF or TVAL_NUMBER at line 15

문제가 발생하면 해당영역의 '-'글자를 수동으로 쳐주자

 

 

 

Cookie부분이 _MainTex와 동등한부분이다

 

 

아까만든 프로젝터에 마테리얼을 할당한다

 

 

그리고 투사하면...

 

 

 

개박살난다

 

표시영역보다 메쉬가 크면 나머지를 WrapMode에 따라 배치하기 때문

 

 

가장자리를 흰색으로 처리하는 방법

 

 WrapMode를 Clamp로 바꿔주자


이러면 이렇게 가장자리가 늘어지게 되는데 가장자리를 흰색으로 처리해준다

 

 

 

 

 

쉐이더를 수정하는 방법

fixed4 uv = UNITY_PROJ_COORD(i.uvShadow);
fixed4 texS = tex2Dproj(_ShadowTex, uv);
texS.a = 1.0 - texS.a;
if (!all(uv.xy==saturate(uv.xy)))
{
    texS.rgb = 1;
}

위 코드를 texS에 적용시킨다

 

 

적용된 모습

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Unity > shader' 카테고리의 다른 글

함수 그래프 모음  (0) 2022.01.15
shader pixel broken  (0) 2022.01.12
유니티 쉐이더 밉맵  (0) 2022.01.10
posted by 모카쨩
2022. 1. 12. 13:38 그림기술

 

 

 

무료 벡터편집 소프트웨어이다

일러스트 레이터 무료판정도 생각하면 될듯

 

 

 

설치법

더보기

 

 

 

 

 

 

 

 

 

벡터도형그리기

더보기

 

 

드래그를 하면 곡선이 되고

컨트롤을 누른채로 그리면 각도스냅이 된다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'그림기술' 카테고리의 다른 글

클스 브러쉬 만들기  (0) 2024.04.05
파이어알파카 사용법  (0) 2022.01.12
Live2D 중요기능  (2) 2018.01.06
posted by 모카쨩

저사양 유저용 블로그 진입