Get it on Google Play


Wm뮤 :: 'Unity' 카테고리의 글 목록 (5 Page)

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

Recent Comment

Archive


2023. 4. 3. 11:04 Unity

 

무료 애니메이션들

https://www.mixamo.com/

 

 

 

 

 

임포트시 설정별 차이

'Unity' 카테고리의 다른 글

유니티 NavMesh  (0) 2023.07.16
구글플레이 앱 이전  (0) 2023.03.06
유니티 파티클, 트레일, 라인 렌더러  (0) 2023.01.21
posted by 모카쨩
2023. 3. 6. 16:22 Unity

계정 ID와 트랜잭션 ID 찾는법은 하단 참조

 

 

 

 

 

 

계정 ID 찾는법

 

 

 

 

 

 

 

트랜잭션 아이디는 지메일에서 개발자 등록 당시 냈던 요금의 영수증에서 찾을수 있다

 

신버전

 

구버전

 

 

 

 

 

휴 제일 큰 고생이 끝났다

 

이전할 앱을 추가하자

 

 

 

 

 

 

 

 

 

 

 

 

그러면 수신측에서 이런 메일이 온다

요청검토를 눌러주고

 

마찬가지로 동의 및 이전을 눌러주자

 

 

 

 

 

 

다만 계정이 바뀌어서 그런지 광고 SDK에 문제가 좀 생긴다나 보다

아직 확인은 안 해봄

'Unity' 카테고리의 다른 글

유니티 애니메이션 관련  (0) 2023.04.03
유니티 파티클, 트레일, 라인 렌더러  (0) 2023.01.21
유니티 창위치 설정  (0) 2022.06.18
posted by 모카쨩
2023. 1. 21. 23:55 Unity

 

파티클의 startLifeTime

//읽을때
var startLifetime=particleEffect.main.startLifetime.constant;


//쓸때
var particleEffectMain = particleEffect.main;
var startLifetime = particleEffectMain.startLifetime;
startLifetime.constant = 설정할시간;
particleEffectMain.startLifetime = startLifetime;

 

파티클 텍스처 변경

var renderer = particle.GetComponent<Renderer>();
renderer.material.mainTexture = sprite.texture;

 

파티클 데이터 수정

//생성
{
    var particleSystem = GetComponent<ParticleSystem>();
    var particles = new ParticleSystem.Particle[100];
    for (int i = 0; i < particles.Length; i++)
    {
        particles[i] = new ParticleSystem.Particle();
        particles[i].position = new Vector3(0, i * 0.1f, 0);
        particles[i].startSize = particleSystem.main.startSize.Evaluate(0);
        particles[i].rotation3D = new Vector3(0, i * 10, 0);
    }
    particleSystem.SetParticles(particles);
}

//읽기
{
    var particleSystem = GetComponent<ParticleSystem>();
    var particles = new ParticleSystem.Particle[particleSystem.particleCount];
    particleSystem.GetParticles(particles);
    for (int i = 0; i < particles.Length; i++)
    {
        Debug.Log($"particles[{i}].position: {particles[i].position}");
        Debug.Log($"particles[{i}].rotation3D: {particles[i].rotation3D}");
        
        Debug.DrawLine(particles[i].position, particles[i].position+Quaternion.Euler(particles[i].rotation3D) * Vector3.forward*0.1f);
        Debug.DrawLine(particles[i].position, particles[i].position + Quaternion.Euler(particles[i].rotation3D) * Vector3.up * 0.1f);
        //Debug.Log($"Quaternion.Euler(particles[{i}].rotation3D): {Quaternion.Euler(particles[i].rotation3D)}");
    }
}

//수정
{
    var particleSystem = GetComponent<ParticleSystem>();
    var particles = new ParticleSystem.Particle[particleSystem.particleCount];
    particleSystem.GetParticles(particles);
    for (int i = 0; i < particles.Length; i++)
    {
        particles[i].position = new Vector3(0, i * 0.1f, 0);
    }
    particleSystem.SetParticles(particles);
}

 

 

 

라인렌더러 좌표를 트랜스폼들 좌표로 설정

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


#if UNITY_EDITOR

using UnityEditor;
[CustomEditor(typeof(TransformsLine))]
public class TransformsLineEditor : Editor
{
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();//기본 인스펙터를 받아올때
        serializedObject.Update();
        {
            if (GUILayout.Button("Preview"))
            {
                ((FishingLine)target).SetLineRenderer();
            }
        }
        serializedObject.ApplyModifiedProperties();


    }
}

#endif

public class TransformsLine : MonoBehaviour
{

    public Transform[] transforms;
    public LineRenderer lineRenderer;
    // Start is called before the first frame update
    void Start()
    {
        lineRenderer = lineRenderer ?? GetComponent<LineRenderer>();
    }

    // Update is called once per frame
    public void SetLineRenderer()
    {
        if ((lineRenderer != null) && (transforms.Length > 0))
        {
            lineRenderer.SetPositions(System.Array.ConvertAll(transforms, transform => transform.position));
        }
    }
    // Update is called once per frame
    void Update()
    {
        SetLineRenderer();
    }
}

 

 

 

 

 

 

트레일 Positions 구조

//1번라인
(0: (-0.3, 0.7, 0.0))(1: (-0.3, 0.7, 0.0))(2: (-0.4, 0.8, 0.1))
(3: (-0.6, 1.0, 0.4))(4: (-0.5, 1.1, 0.5))(5: (-0.5, 1.2, 0.5))
(6: (-0.5, 1.3, 0.5))(7: (-0.5, 1.3, 0.5))(8: (-0.5, 1.2, 0.6))
(9: (-0.5, 1.0, 0.6))(10: (-0.5, 0.9, 0.6))(11: (-0.5, 0.8, 0.6))

//2번라인
(12: (-0.5, 0.9, 0.7))(13: (-0.5, 0.9, 0.7))(14: (-0.4, 1.0, 0.8))
(15: (-0.4, 1.0, 0.8))(16: (-0.4, 1.0, 0.8))(17: (-0.4, 1.0, 0.8))
(18: (-0.4, 1.1, 0.8))(19: (-0.4, 1.1, 0.8))(20: (-0.4, 1.1, 0.8))
(21: (-0.4, 1.0, 0.9))(22: (-0.4, 1.0, 0.9))(23: (-0.4, 0.9, 0.9))

동일한 좌표를 두번 찍는것으로 시작점을 표현

 

'Unity' 카테고리의 다른 글

구글플레이 앱 이전  (0) 2023.03.06
유니티 창위치 설정  (0) 2022.06.18
유니티 csv 에셋  (0) 2022.04.30
posted by 모카쨩
2023. 1. 20. 07:49 Unity/shader

 

1:1

 

2:1 크롭

 

 

Shader "Ahzkwid/ScreenOverlay"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        LOD 100

        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            #include "UnityCG.cginc"

            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION;
            };

            sampler2D _MainTex;
            float4 _MainTex_ST;
            float4 _MainTex_TexelSize;
            

            v2f vert (appdata v)
            {
                v2f o;
				o.uv = float4(TRANSFORM_TEX(v.uv, _MainTex),1,1);
				o.vertex.xy = o.uv;
				o.vertex.xy -= 0.5;
				o.vertex.xy *= 2;
				o.vertex.y = -o.vertex.y;
				o.vertex.zw = 1;

                return o;
            }

            fixed4 frag (v2f i) : SV_Target
            {
                fixed2 uv=i.uv;
                
				float screenWid = _ScreenParams.x / _ScreenParams.y;
				float texelWid = _MainTex_TexelSize.z / _MainTex_TexelSize.w;
                if(screenWid>texelWid)
                {
                    uv.x*=screenWid;
			        uv.x -= screenWid / 2;
			        uv.x += texelWid / 2;
                    uv.x/=texelWid;
                }
                else
                {

				    float screenHei = 1/screenWid;
				    float texelHei = 1/texelWid;

                    uv.y*=screenHei;
			        uv.y -= screenHei / 2;
			        uv.y += texelHei / 2;
                    uv.y/=texelHei;
                }

                fixed4 col = tex2D(_MainTex, uv);
                col.a*=all(uv==saturate(uv));
                return lerp(0,col,col.a);
            }
            ENDCG
        }
    }
}

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

PerlinNoise HLSL  (0) 2023.04.25
유니티 스카이박스 관련  (0) 2023.01.16
함수 그래프 모음  (0) 2022.01.15
posted by 모카쨩
2023. 1. 16. 21:41 Unity/shader
Shader "Skybox/Sample"
{
    Properties
    {
        [NoScaleOffset] _Tex ("Cubemap   (HDR)", Cube) = "grey" {}
    }
    SubShader
    {
        Tags { "Queue"="Background" "RenderType"="Background" "PreviewType"="Skybox" }
        LOD 100

        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            #include "UnityCG.cginc"

            struct appdata
            {
                float4 vertex : POSITION;
                UNITY_VERTEX_INPUT_INSTANCE_ID
            };

            struct v2f
            {
                float4 vertex : SV_POSITION;
                float3 texcoord : TEXCOORD0;
                UNITY_VERTEX_OUTPUT_STEREO
            };
            
            samplerCUBE _Tex;
            half4 _Tex_HDR;

            v2f vert (appdata v)
            {
                v2f o;
                UNITY_SETUP_INSTANCE_ID(v);
                UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.texcoord = v.vertex.xyz;
                return o;
            }

            fixed4 frag (v2f i) : SV_Target
            {
                half4 tex = texCUBE (_Tex, i.texcoord);
                fixed3 col = DecodeHDR (tex, _Tex_HDR);
                return half4(col, 1);
            }
            ENDCG
        }
    }
}

샘플코드

 

 

 

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

스크린 오버레이 샘플  (0) 2023.01.20
함수 그래프 모음  (0) 2022.01.15
Decal Shader  (0) 2022.01.13
posted by 모카쨩
2022. 6. 18. 10:37 Unity

 

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using System.Runtime.InteropServices;
using System;

public class WindowPosition : MonoBehaviour
{

    public int x = 0;
    public int y = 0;
#if UNITY_STANDALONE_WIN

    [DllImport("user32.dll", EntryPoint = "SetWindowPos")]
    private static extern bool SetWindowPos(IntPtr hwnd, int hWndInsertAfter, int X, int Y, int cx, int cy, int uFlags);

    [DllImport("user32.dll", EntryPoint = "FindWindow")]
    public static extern IntPtr FindWindow(string className, string windowName);

    public IEnumerator SetWindowPosition(int x, int y)
    {
        yield return new WaitForEndOfFrame();
        yield return new WaitForEndOfFrame();
        SetWindowPos(FindWindow(null, Application.productName), 0, x, y, 0, 0, 5);
    }

    public IEnumerator SetWindowPosition(float x, float y)
    {
        StartCoroutine(SetWindowPosition(Screen.width * x, Screen.height * y));
        yield return null;
    }

#endif
    // Start is called before the first frame update
    void Start()
    {

#if UNITY_STANDALONE_WIN
        StartCoroutine(SetWindowPosition(x,y));

#endif
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

https://forum.unity.com/threads/setting-player-window-position.534733/

이쪽 소스를 간략화 한 버전으로 만들어봤다

 

 

 

윈도우모드 설정시

 

 

'Unity' 카테고리의 다른 글

유니티 파티클, 트레일, 라인 렌더러  (0) 2023.01.21
유니티 csv 에셋  (0) 2022.04.30
유니티 차트  (0) 2022.04.24
posted by 모카쨩
2022. 4. 30. 11:46 Unity

 

 

 

https://assetstore.unity.com/packages/tools/integration/csv-serialize-135763

 

CSV Serialize | 기능 통합 | Unity Asset Store

Use the CSV Serialize from VisualWorks on your next project. Find this integration tool & more on the Unity Asset Store.

assetstore.unity.com

 

 

 

 

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Demo : MonoBehaviour
{

    public Test[] tests;
    [System.Serializable]
    public class Test
    {
        public int num = 0;
        public string name = "";
    }
        // Start is called before the first frame update
    void Start()
    {

        var csv = "num,name\n0,\"mom\"\r\n1,dad\n\"2\",\"me\"\n\"3\",\"한국어\"";
        tests = CSVSerializer.Deserialize<Test>(csv);
        var list = CSVSerializer.ParseCSV(csv);
        for (int x = 0; x < list.Count; x++)
        {
            for (int y = 0; y < list[x].Length; y++)
            {
                Debug.Log($"[{x}][{y}]{list[x][y]}");
            }
        }
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

 

 

잘된다

'Unity' 카테고리의 다른 글

유니티 창위치 설정  (0) 2022.06.18
유니티 차트  (0) 2022.04.24
유니티 Log 확인 에셋  (0) 2022.04.23
posted by 모카쨩
2022. 4. 24. 01:16

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


저사양 유저용 블로그 진입