Get it on Google Play


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

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

Recent Comment

Archive


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

  1. 2021.02.27 티스토리 메인화면 편집
  2. 2021.02.25 크롤링
  3. 2021.02.25 HTML 코드 모음
  4. 2021.02.25 VRM 파일 만들기
  5. 2021.02.23 byte to hex
  6. 2021.02.23 리얼리티 스캔 사용법 (RealityScan)
  7. 2021.02.22 에셋스토어 업로드 2021
  8. 2021.02.21 유니티 쉐이더 인스펙터
2021. 2. 27. 00:28 공학기술

 

 

스킨위자드에서 저 버튼을 누르거나 

블로그주소/?mode=TabloidSetting

로 들어간다

'공학기술' 카테고리의 다른 글

배너링크 모음  (0) 2021.03.01
크롤링  (0) 2021.02.25
An error occurred while creating the media file vegas  (0) 2021.02.20
posted by 모카쨩
2021. 2. 25. 19:06 공학기술

셀레니움 크롤링써라

 

 

 

 

js같은거로 된거 링크 뜯어올때

 

F12 눌러서 개발자모드 펼치고 아래 순서대로 진행

 

 

 

posted by 모카쨩
2021. 2. 25. 13:06 서버

 

 

iframe 예제

<iframe src="사이트" width="500" height="500"></iframe>

 

 

하이퍼링크 이미지 

<a href="링크" target="_blank" title="설명"><img src="이미지링크"></a>

 

 

'서버' 카테고리의 다른 글

항공사진 API  (0) 2023.04.06
항공사진 다운로드  (0) 2023.04.05
배틀태그 시스템 관련자료  (0) 2021.11.29
posted by 모카쨩
2021. 2. 25. 02:01 Unity

 

 

 

 

vrm.dev/en/how_to_make_vrm/

설명은 이걸 읽어보면서 한다

 

github.com/vrm-c/UniVRM

여기서 읽어보면

 

 

 

 

 

여기서 다운받을수 있다고 한다

github.com/vrm-c/UniVRM/releases

 

Releases · vrm-c/UniVRM

Unity package that can import and export VRM format - vrm-c/UniVRM

github.com

 

 

저걸 잘 찾아서 누른다. 아래에 잘보면 있다

 

 

유니티에 살살 말아준다

유니티 버전은 해당 홈페이지에 써있으니 참고하자

 

 

 

 

 

먼저 매터리얼 설정을 해주어야 한다

 

먼저 전부 Standard, Unlit, MToon셋중 하나로 바꿔야 쓸수있다

 

 

그럼 이렇게 이상하게 밝아진다

 

 

 

에미션을 꺼준다

 

언릿느낌내고싶으면 Shade Color도 끈다

 

 

정상화된모습

 

 

 

캐릭터 프리팹을 만들어서 누르고 해당메뉴를 선택한다

 

 

다 입력하고 익스포트한다. 옵션은 하단 참조

 

a person who can perform with this avatar =공연가능(스트리머 사용같은거인듯)
Violent acts using this avatar =폭력행위
sexuality acts using this avatar = 성적사용
for commercial use =상업적사용

 

 

맞게 입력해준다

 

라이센스 유형은

Redistribution Prohibited =재배포 금지

 

 

 

 

저장했으면 올려라 (필수는 아님)

hub.vroid.com/

 

VRoid Hub

VRoid Hub is a platform where users can post their 3D characters and share them with other users. With VRoid Hub, users can post their own 3D models to make their characters come alive thanks to a vast range of animations available on the character's profi

hub.vroid.com

 

 

결과물은 이런느낌이다 (픽시브에 로그인 해야만 3D로 보인다)

hub.vroid.com/en/characters/2187411622167215549

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-추가

저장할때 에셋폴더에 저장하면 이렇게 BlendShapes 폴더와 파일이 생기는데

BlendShape를 눌러주자

 

 

Select BlendShapeClip를 보면서 맞춰준다

 

쉐이프키규약은 다음과 같다

vrm.dev/docs/univrm/blendshape/univrm_blendshape/

 

MMD쉐이프키 대응은 다음과 같다. 

VRM A I U E O Blink Joy Angry
MMD(EN) Ah There Cormorant Huh Your Blink Where anger
MMD(JP) まばたき にこ 怒り
VRM Sorrow Fun LookUp LookDown LookLeft LookRight Blink_L Blink_R
MMD(EN) Tears Wa - - - - Wink Wink right
MMD(JP) なみだ - - - - ウインク ウインク右

요새 일본어 쉐이프키도 많이 쓰길래 일본어도 올림

ワ(Wa)가 없으면 あ(Ah)로 해도 된다

 

 

전부 끝나면 VRM 프리팹을 눌러서

 

 

눈위치를 설정해준다

씬뷰에서 보면서 맞춰주자

 

 

 

VRM프리팹을 선택후 다시 익스포트 한다

 

 

 

 

 

 

 

 

 

태그 : VRM 파일 변환

'Unity' 카테고리의 다른 글

유니티 카드보드 VR 사용법  (0) 2021.02.28
에셋스토어 업로드 2021  (0) 2021.02.22
캐릭터 포즈 망가졌을때  (0) 2021.02.06
posted by 모카쨩
2021. 2. 23. 15:12 아두이노
  byte _buffer = 252;
  int hexUpper = _buffer/16;
  int hexLower = _buffer%16;
  char hexUpperChar = hexUpper>=10? 'A' + hexUpper-10 : '0' + hexUpper;
  char hexLowerChar = hexLower>=10? 'A' + hexLower-10 : '0' + hexLower;
  String hexString = String(hexUpperChar)+String( hexLowerChar);
  Serial.println(hexString);

 


if(_buffer<16)
{
  Serial.print("0");
}
Serial.println(_buffer,HEX);

 

 

16진수

'아두이노' 카테고리의 다른 글

자주쓰는 아두이노 코드 모음  (0) 2021.06.21
아두이노 RC522 (RFID 13.56MHz)  (0) 2020.11.12
블루투스 테스트용 앱들  (0) 2020.08.01
posted by 모카쨩
2021. 2. 23. 01:50 3D/3D 스캔

www.capturingreality.com/

 

RealityCapture: Mapping and 3D Modeling Photogrammetry Software - CapturingReality.com

Unlimited usage Unlimited input Fully-featured Export of licensed input Technical support via web forum

www.capturingreality.com

 

 

 

 

사용법

 

시작을 누르면 끝이다

 

 

 

 

 

 

 

 

 

기타사항

 

 

 

 

CP사용 주의점

-한 화면내에 3개이상이 존재하면 안됨, 2개도 가능한 비추천

-화면 가장자리에 존재하면 안됨

-너무 멀리있는 지점은 선택하지 않는게 좋음. 단, 메쉬생성 용도가 아니라 현재위치 추적용이면 사용해도 됨

-트래킹 하지못한 사진을 연결시키는 용도로 써야할뿐 그 이상을 노리면 안됨

 

 

-필요없는 컴포넌트는 지워라

 

-요금폭탄맞기 싫으면 동일한 사진, 흐리멍텅한 사진은 쓰지말자

 

 

 

 

 

-박스가 지멋대로 설정되어서 원하는 부분이 지워질때

누르고 왼쪽의 텍스처를 클릭

 

-필요한 부분만 남기기

 

 

 

 

-모델각도가 이상하게 설정되었을때

2021기준

 

 

 

2024기준

 

 

 

-버텍스가 너무 많을때

 

 

 

 

오류모음

언랩을 수동으로 해줘야한다

 

그럼 이렇게 나오는데

텍스처 갯수를 늘려주거나

 

빨간색을 눌러서 고정텍셀로 바꿔준다

 

파란색은 필수는 아니고 개인설정인데

나는 1미리단위로 보존되도록 했다

 

 

뷰 리셋시

 

 

 

 

구제목 : 리얼리티 캡쳐 사용법 (RealityCapture)

'3D > 3D 스캔' 카테고리의 다른 글

RealityCapture 1장 - 정렬 Alighment  (0) 2025.01.03
Reality Capture 카메라 데이터  (0) 2024.12.30
360 카메라 3d 스캔 테스트  (0) 2024.11.20
posted by 모카쨩
2021. 2. 22. 00:23 Unity

 

 

 

https://wmmu.tistory.com/entry/%EC%97%90%EC%85%8B%EC%8A%A4%ED%86%A0%EC%96%B4-%EC%97%85%EB%A1%9C%EB%93%9C-2023

 

에셋스토어 업로드 2023

https://wmmu.tistory.com/entry/%EC%97%90%EC%85%8B%EC%8A%A4%ED%86%A0%EC%96%B4 에셋스토어 업로드 가이드라인 unity3d.com/asset-store/sell-assets/submission-guidelines 설명서 unity3d.com/asset-store/sell-assets 눌러 그러면 여기로 이동

wmmu.tistory.com

 

이건 구버전이다

위 링크의 2023판 참조

 

 

 

 

 

 

 

 

 

 

가이드라인

unity3d.com/asset-store/sell-assets/submission-guidelines

 

설명서

unity3d.com/asset-store/sell-assets

눌러

 

그러면 여기로 이동됨

publisher.assetstore.unity3d.com/sales.html

 

 

publisher.assetstore.unity3d.com/create.html

 

만든다

publisher.assetstore.unity3d.com/packages.html

그러면 여기로 가서

 

세이브를 하면 초안이 완성된다

 

 

 

필수는 아니지만 가능하면 이름까지 만들어주자

 

 

 

나가보면 생긴거 확인 가능

 

 

 

assetstore.unity.com/packages/tools/utilities/asset-store-tools-115

Asset Store Tools 추가

 

 

그러면 이렇게 에셋이 생긴다

난 나이트비전 쉐이더를 올릴것

 

 

 

 

 

눌러

 

 

 

Tick the box if your content uses "Package Manager" dependencies

이건 체크 안해도 된다

아마 간접적으로 연결된 에셋들도 엮는거 같은데 그러면 불필요한것까지 같이 올라갈수도있을듯

 

 

1차완료

 

 

다시 메타데이터를 짤때다

Icon Image랑 Card Image는 둘다 아이콘이미지인데 사이즈의 차이

Cover Image는 찍고 들어가면 왼쪽에 뜨는 이미지

셋다 필수고

Social Media Image는 필수는 아닌거 같은데 그래도 넣어주자

다 똑같은 이미지로 해도 된다

 

 

 

스크린샷들을 올리는곳, 많을수록 좋다

커버이미지에 넣었던건 넣지말자

 

 

다끝난줄 알았니? 아니다. 호환목록을 작성해주어야 한다

1. 솔직히 쉐이더인데 리눅스는 기대도 안하고, 나머지는 문제없다

2. 2017까지는 확인했는데 이전버전은 몰라서 패스, 어차피 너무 옛날버전이라서

3. 기존 렌더파이프랑 호환되는지, 스탠다드는 유니티 스탠다드를 말하고,

LW는 모바일, HD는 멀티패스같은 고퀄용, Custom RP는 말그대로 커스텀된거

나는 오버레이 방식이 일반 마테리얼이라서 전부 호환된다

4. 다른 패키지를 받아야만 쓸수있는건지, 나는 그없이니 No했다

 

 

 

 

다했으면 올리삼

무슨 팝업뜨면  그냥 OK하면 된다

 

 

 

 

 

 

'Unity' 카테고리의 다른 글

VRM 파일 만들기  (0) 2021.02.25
캐릭터 포즈 망가졌을때  (0) 2021.02.06
유니티 애니메이터 관련  (0) 2021.02.05
posted by 모카쨩
2021. 2. 21. 19:33 Unity/shader
using UnityEngine;
using UnityEditor;

public class AhzkwidToonInspector : ShaderGUI
{
    public enum _RM
    {
        Opaque, Cutout, Transparent
    }
    public enum _BM
    {
        None, ext, Body, Hair, Cloth
    }
    public enum _CM
    {
        Back, None, Front
    }

    public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties)
    {
        MaterialProperty _RenderMode
        , _BlendMode

        , _MainTex
        , _ColorTex
        , _Color
        , _EmissionTex
        , _EmissionColor
        , _Hue
        , _Sat
        , _Val
        , _Contrast
        , _outline_width
        , _OutlineTex
        , _OutlineMask
        , _OutlineColor
        , _Metallic
        , _ColorRamp
        , _CullingMode
        , _OutlineSat;

        _RenderMode = FindProperty("_RenderMode", properties);
        _BlendMode = FindProperty("_BlendMode", properties);
        _MainTex = FindProperty("_MainTex", properties);
        _ColorTex = FindProperty("_ColorTex", properties);
		_Color = FindProperty("_Color", properties);
		_EmissionTex = FindProperty("_EmissionTex", properties);
		_EmissionColor = FindProperty("_EmissionColor", properties);
        _Hue = FindProperty("_Hue", properties);
        _Sat = FindProperty("_Sat", properties);
        _Val = FindProperty("_Val", properties);
        _Contrast = FindProperty("_Contrast", properties);
        _outline_width = FindProperty("_outline_width", properties);
        _OutlineTex = FindProperty("_OutlineTex", properties);
        _OutlineMask = FindProperty("_OutlineMask", properties);
        _OutlineColor = FindProperty("_OutlineColor", properties);
        _Metallic = FindProperty("_Metallic", properties);
        _ColorRamp = FindProperty("_ColorRamp", properties);
        _CullingMode = FindProperty("_CullingMode", properties);
        _OutlineSat = FindProperty("_OutlineSat", properties);
        

        // render the default gui

        Material targetMat = materialEditor.target as Material;

		// see if redify is set, and show a checkbox
		EditorGUI.BeginChangeCheck();
        {
            
            EditorGUIUtility.labelWidth = 0f;//컬러위치 
            targetMat.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One);
            targetMat.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
            //targetMat.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero);
            materialEditor.ShaderProperty(_RenderMode, new GUIContent("Render Mode"));
            //materialEditor.ShaderProperty(_BlendMode, new GUIContent("Blend Mode", "Blend Mode"));
            GUILayout.Label("Main Maps", EditorStyles.boldLabel);
            materialEditor.TexturePropertySingleLine(new GUIContent("Main Texture", "Blend Color Texture"), _MainTex, _BlendMode);
            EditorGUI.indentLevel = 1; //얼마나 오른쪽으로 이동시킬지

            switch ((_BM)_BlendMode.floatValue)
            {
                case _BM.None:
                    break;
                case _BM.ext:
                    materialEditor.TexturePropertySingleLine(new GUIContent("Blend Color", "Blend Color Texture"), _ColorTex, _Color);
                    materialEditor.TexturePropertySingleLine(new GUIContent("Emission Color", "Emission Color Texture"), _EmissionTex, _EmissionColor);
                    break;
                case _BM.Body:
                    break;
                case _BM.Hair:
                    break;
                case _BM.Cloth:
                    break;
                default:
                    break;
            }
            switch ((_BM)_BlendMode.floatValue)
            {
                case _BM.None:
                    break;
                default:
                    materialEditor.ShaderProperty(_Hue, new GUIContent("Hue"));
                    materialEditor.ShaderProperty(_Sat, new GUIContent("Sat"));
                    materialEditor.ShaderProperty(_Val, new GUIContent("Val"));
                    break;
            }
            switch ((_BM)_BlendMode.floatValue)
            {
                case _BM.None:
                    break;
                case _BM.ext:
                    materialEditor.ShaderProperty(_Contrast, new GUIContent("Contrast"));
                    materialEditor.ShaderProperty(_Metallic, new GUIContent("Metallic"));
                    materialEditor.ShaderProperty(_ColorRamp, new GUIContent("ColorRamp"));
                    break;
                case _BM.Body:
                    break;
                case _BM.Hair:
                    break;
                case _BM.Cloth:
                    break;
                default:
                    break;
            }
            EditorGUI.indentLevel = 0;

            EditorGUILayout.Space();
            GUILayout.Label("Outline", EditorStyles.boldLabel);
            materialEditor.ShaderProperty(_outline_width, new GUIContent("Outline Width"));
            if(_outline_width.floatValue>0)
            {
                EditorGUI.indentLevel = 1; //얼마나 오른쪽으로 이동시킬지
                //materialEditor.TexturePropertySingleLine(new GUIContent("Outline Color", "Outline Color Texture"), _OutlineTex, _OutlineColor);
                //materialEditor.TexturePropertySingleLine(new GUIContent("Outline Color", "Outline Color Texture"), _OutlineColor);
                materialEditor.TexturePropertySingleLine(new GUIContent("Outline Mask", "Outline Mask Texture"), _OutlineMask);
                materialEditor.ShaderProperty(_OutlineSat, new GUIContent("Outline Sat"));


                EditorGUI.indentLevel = 0; //얼마나 오른쪽으로 이동시킬지
            }
            switch ((_BM)_BlendMode.floatValue)
            {
                case _BM.None:
                    break;
                case _BM.ext:
                    break;
                case _BM.Body:
                    break;
                case _BM.Hair:
                    break;
                case _BM.Cloth:
                    break;
                default:
                    break;
            }
            switch ((_RM)_RenderMode.floatValue)
            {
                case _RM.Opaque:
                    break;
                case _RM.Cutout:
                    break;
                case _RM.Transparent:
                    break;
                default:
                    break;
            }

            materialEditor.ShaderProperty(_CullingMode,new GUIContent("Culling Mode", "Outline Mask Texture"));
            switch ((_CM)_CullingMode.floatValue)
            {
                case _CM.Back:
                    break;
                case _CM.None:
                    break;
                case _CM.Front:
                    break;
                default:
                    break;
            }
            EditorGUILayout.Space();
            //materialEditor.RenderQueueField();
            //materialEditor.EnableInstancingField();
            //materialEditor.DoubleSidedGIField();
            //base.OnGUI(materialEditor, properties);
        }
	}
}

AhzkwidToonShader에 포함된 예제

 


public enum _RM
{
        Default, Overlay
}

public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties)
{

    //쉐이더 프로퍼티들을 불러옴
    MaterialProperty _RenderMode = FindProperty(nameof(_RenderMode), properties);
    MaterialProperty _MainTex = FindProperty(nameof(_MainTex), properties);
    
    
    
    //인스펙터 변경사항이 있는지 체크하는거, 필수는 아님
    EditorGUI.BeginChangeCheck();
    {
        //해당 변수의 값을 읽어옴
        switch ((_RM)_RenderMode.floatValue)
        {
            case _RM.Default:
                //행동1
                break;
            case _RM.Overlay:
                //행동2
                break;
            default:
                break;
        }

        //일반 인스펙터 (참조변수가 앞에 있는게 특징이다)
        materialEditor.ShaderProperty(_RenderRange, "Render Range");
        
        
        //텍스처 인스펙터 (GuIContent를 써서 설명도 같이 넣고 있다. 그냥 문자열로 넣어도 됨)
        materialEditor.TexturePropertySingleLine(new GUIContent("Main Texture", "Default Texture"), _MainTex);

    }
}

 

 

 

 

들여쓰기

EditorGUI.indentLevel = 1; //얼마나 오른쪽으로 이동시킬지
{
    var guiContent=new GUIContent("Main Texture(변수명)", "Default Texture(설명)");
    materialEditor.TexturePropertySingleLine(guiContent, _MainTex);
}
EditorGUI.indentLevel = 0; //얼마나 오른쪽으로 이동시킬지

 

 

 

헤더+들여쓰기

//헤더
GUILayout.Label("헤더", EditorStyles.boldLabel);
{
    //들여쓰기
    EditorGUI.indentLevel = 1; //얼마나 오른쪽으로 이동시킬지
    {
        materialEditor.ShaderProperty(_Value1, "인스펙터1");
        materialEditor.ShaderProperty(_Value2, "인스펙터2");
        materialEditor.ShaderProperty(_Value3, "인스펙터3");
        materialEditor.ShaderProperty(_Value4, "인스펙터4");
    }
    EditorGUI.indentLevel = 0;
}

 

 

렌더큐옵션

EditorGUILayout.Space();
EditorGUILayout.Space();
materialEditor.RenderQueueField();

 

 

어스밴스 옵션

EditorGUILayout.Space();
EditorGUILayout.Space();
GUILayout.Label("Advanced Oprions", EditorStyles.boldLabel);
{
    materialEditor.EnableInstancingField();
    materialEditor.DoubleSidedGIField();
}

 

 

 

 

 

쉐이더 코드에 다음과같이 넣어줘야 작동한다

FallBack은 필수는 아니고 쉐이더 미싱일때 작동하는거

SubShader
{
		FallBack "Diffuse" //기본마테리얼
		CustomEditor "AhzkwidToonInspector" //커스텀인스펙터
}

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

모션블러 종류  (1) 2021.03.02
스텐실  (0) 2021.01.20
자주쓰는 유니티 쉐이더 코드모음  (0) 2020.11.04
posted by 모카쨩

저사양 유저용 블로그 진입