1. Spine2D의 MecaAnim(Animator)에서 <MeshRenderer> 컴퍼넌트를 빼옴
  2. <MeshRenderer> 컴퍼넌트의 마테리얼들을 sharedMaterials로 가져옴
    • materials가 아니라 sharedMaterials를 사용하는 이유
      : 왜인지 모르겠지만 적용이 안되는 경우가 있음
      : 이쪽이 확실함
  3. 해당 Shader를 상황에 맞게 변경
    • 기본 Shader : Spine/Skeleton
    • 기본 Outline Shader : Spine/Outline/Skeleton
    // :: 중복 방지
    private bool iOutline = false;
    public void ShowOutline(bool check)
    {
        // :: 중복 실행 방지
        if (iOutline == check)
            return;

        this.iOutline = check;

        // :: 메쉬 렌더러 확인
        var meshRenderer = this.Animator.GetComponent<MeshRenderer>();

        // :: 상황에 따라 쉐이더 변경
        foreach (var mat in meshRenderer.sharedMaterials)
        {
            if(check)
            {
                mat.shader = Shader.Find("Spine/Outline/Skeleton");
            } else
            {
                mat.shader = Shader.Find("Spine/Skeleton");
            }
        }
    }

 

블로그 이미지

RIsN

,

진행과정

  1. 알파 채널이 있는 불 이미지들(fireTest : 불 모양 / noise2 : 노이즈)을 준비해 프로젝트에 넣는다.
    fireTest.tga
    4.00MB
    noise2.png
    0.07MB
  2. 3D > Quad 제작
  3. 새 Standard Surface Shader 제작 및 수정
    1. Shader "Custom/Fire"
      {
          Properties
          {
              _MainTex("Albedo (RGB)", 2D) = "white" {} // :: 불 모양
              _MainTex2("Albedo (RGB)", 2D) = "white" {} // :: 흘러가는 불 기둥
          }
          SubShader
          {
              Tags { "RenderType"="Transparent" "Queue"="Transparent" } // :: 투명도 적용
              LOD 200
      
              CGPROGRAM
              #pragma surface surf Standard alpha:fade // :: 투명도 적용
      
              sampler2D _MainTex;
              sampler2D _MainTex2;
      
              struct Input
              {
                  float2 uv_MainTex;
                  float2 uv_MainTex2;
              };
      
              void surf (Input IN, inout SurfaceOutputStandard o)
              {
                  // :: 2번째의 노이즈를 우선 연산(-y 위로 올라가도록)
                  fixed4 c = tex2D (_MainTex2, float2(IN.uv_MainTex2.x, IN.uv_MainTex2.y - _Time.y));
                  
                  // :: cr <= c 텍스쳐(노이즈)의 의존도(투명도?)를 0.5(50%)로 낮춤
                  // :: 노이즈보다 불 모양을 우선시하라는 것으로 이해
                  float cr = c * 0.5; 
                  
                  // :: Saturate : 0 이하의 값을 0으로 1 이상의 값을 1로 즉, 이미지 한계 조정
                  fixed4 d = tex2D(_MainTex, saturate(IN.uv_MainTex + cr));
                  
                  // :: Emission : Light 영향을 적게
                  o.Emission = d.rgb; 
                  o.Alpha = d.a; // :: 투명도
              }
              ENDCG
          }
          FallBack "Diffuse"
      }
  4. 새 Material 제작 후 Custom / Fire 쉐이더 적용
  5. 각 불 모양의 이미지를 해당 Material에 넣는다.
    1. 첫번째 Albedo : 불 모양
    2. 두번째 Albedo : 노이즈
  6. 완성

 
 

 

 

블로그 이미지

RIsN

,

진행과정

  1. 알파 채널이 있는 불 이미지들(fireTest : 불 모양 / 4_2 : 불 기둥 모양)을 준비해 프로젝트에 넣는다.
    fireTest.tga
    4.00MB
    4_2.tga
    0.25MB
  2. 3D > Quad 제작
  3. 새 Standard Surface Shader 제작 및 수정
    1. //
      // >> 흘러가는 형태의 불
      //
      Shader "Custom/Fire"
      {
          Properties
          {
              _MainTex("Albedo (RGB)", 2D) = "white" {} // :: 불 모양
              _MainTex2("Albedo (RGB)", 2D) = "white" {} // :: 흘러가는 불 기둥
          }
          SubShader
          {
              Tags { "RenderType"="Transparent" "Queue"="Transparent" } // :: 투명도 적용
              LOD 200
      
              CGPROGRAM
              #pragma surface surf Standard alpha:fade // :: 투명도 적용
      
              sampler2D _MainTex;
              sampler2D _MainTex2;
      
              struct Input
              {
                  float2 uv_MainTex;
                  float2 uv_MainTex2;
              };
      
              void surf (Input IN, inout SurfaceOutputStandard o)
              {
                  fixed4 c = tex2D (_MainTex, IN.uv_MainTex);
                  fixed4 d = tex2D (_MainTex2, float2(IN.uv_MainTex2.x, IN.uv_MainTex2.y - _Time.y)); // :: -y 위로 흘러가도록
                  // :: Emission : Light 영향을 적게
                  // :: c 텍스쳐와 d 텍스쳐를 곱해서 둘이 겹쳐져 흘러가는 것
                  o.Emission = c.rgb * d.rgb; 
                  o.Alpha = c.a * d.a; // :: 투명도
              }
              ENDCG
          }
          FallBack "Diffuse"
      }
  4. 새 Material 제작 후 Custom / Fire 쉐이더 적용
  5. 각 불 모양의 이미지를 해당 Material에 넣는다.
    1. 첫번째 Albedo : 불 모양
    2. 두번째 Albedo : 불 기둥
  6. 완성

블로그 이미지

RIsN

,

프로젝트명 : Second Step

프로젝트 목적 : First Step 포트폴리오 프로젝트 완성, 복습, 성공적인 취업

[최신 프레젠테이션(준비중)]

프로젝트 시작 : 2021-02-04

 

=====

 

[사용 에셋]

 

 

=====

youtu.be/kDFrB3nGh6A

[개발 일지]

  • 제작 준비

[수정 필요]

  • 여러 버그들

[차후 이해가 필요한 것]

 

==========

 

블로그 이미지

RIsN

,

프로젝트명 : First Step

프로젝트 목적 : 성공적인 취업

[최신 프레젠테이션]

 

=====

 

[사용 에셋]

 

 

=====

youtu.be/FncbNobfDV4

[개발 일지]

  • 스킬 시스템 제작
    • 빔 방향 버그 수정
  • 무기 추가

[수정 필요]

  • 고려 : 빔 발사시 애니메이션 딜레이를 추가?

[차후 이해가 필요한 것]

 

==========

 

블로그 이미지

RIsN

,

프로젝트명 : First Step

프로젝트 목적 : 성공적인 취업

[최신 프레젠테이션]

 

=====

 

[사용 에셋]

 

 

=====

youtu.be/m2ItgPzHWkU

[개발 일지]

  • 스킬 시스템 제작중
    • [자기자신에게만 해당되는 스킬] 제작
    • [자기 위치 주위를 타겟으로 삼는 스킬] 제작
    • [방향을 타겟으로 삼는 스킬] 제작

[수정 필요]

  • 빔이 캐릭터 방향에 따라 움직여버리는 상황

[차후 이해가 필요한 것]

 

==========

 

블로그 이미지

RIsN

,

프로젝트명 : First Step

프로젝트 목적 : 성공적인 취업

[최신 프레젠테이션]

 

=====

 

[사용 에셋]

 

 

=====

youtu.be/M94VVUGlst0

 

 

[개발 일지]

  • Alpha 0.1 플랜 작성
  • 스킬 시스템의 구조 작성
  • 스킬 시스템 제작 시작
    • 마나 장착
    • 공격 성공시 마나가 상승
    • 마나가 required_mana보다 높아지면 스킬 사용

[수정 필요]

  •  

[차후 이해가 필요한 것]

 

==========

 

블로그 이미지

RIsN

,

프로젝트명 : First Step

프로젝트 목적 : 성공적인 취업

[최신 프레젠테이션]

 

=====

 

[사용 에셋]

 

 

=====

 

youtu.be/J_jsKtlSDEY

 

[개발 일지]

  • 팀을 시각적으로 분리
    • 아우라? 오라? 를 써서 팀을 구분
  • 근처 적으로 가도록 시스템적인 변경

[수정 필요]

  • 근처 적에게 갈 수 없어도 일단 근처로는 가야함

[차후 이해가 필요한 것]

 

==========

 

블로그 이미지

RIsN

,

프로젝트명 : First Step

프로젝트 목적 : 성공적인 취업

[최신 프레젠테이션]

 

=====

 

[사용 에셋]

 

 

=====

 

youtu.be/J_jsKtlSDEY

 

[개발 일지]

  • Prototype 버전 B 완성
    • A* 탐색 알고리즘을 이용한 집단 간의 전투

[수정 필요]

  • 근처 적에게 다가갈 수 없으면 다른 녀석을 찾아야 함

[차후 이해가 필요한 것]

 

==========

 

블로그 이미지

RIsN

,

프로젝트명 : First Step

프로젝트 목적 : 성공적인 취업

[최신 프레젠테이션]

 

=====

 

[사용 에셋]

 

 

=====

 

youtu.be/T7fpejMStGY

 

[개발 일지]

  • Prototype 버전 B 준비

[수정 필요]

 

[차후 이해가 필요한 것]

 

==========

 

블로그 이미지

RIsN

,