Unity3D - 메모장

quest3dkorea.com


통계 위젯 (화이트)

816
149
135500


버튼 onClick 리스너에 인덱스 지정하기 (for문) Unity3D 스크립트

  int selidx = 0;
        for (int i=0; i < sltbtn.Length; i++) {
            int _selidx = i;
            sltbtn[i].onClick.AddListener(()=> SelectItems(_selidx));
        }

mysql 8.0대 버전 오류 해결하기 Unity3D 스크립트

8.0 서버를 사용하면서 구형 mysql.data.dll을 사용하면 이런저런 오류가 발생 예) key값을 못찾아.... 
그래서 최신버전으로 사용하면 왠 구글? 

그래서 dll을 모두 찾아서 플러그인 폴더에 삽입. 완료 

# *.dll 경로 
MySQL\MySQL Connector Net 8.0.18\Assemblies\v4.5.2
폴더안에 있는 파일 전부 복사한 다음 오류내는 것만 지워내도 됨.

Unity\Editor\Data\Mono\lib\mono\2.0 -----I18N.*


불나방춤 Unity3D 스크립트

void Update()
    {
        currentrot = Mathf.Lerp(currentrot, targetrot, Time.deltaTime * 2f);
        rgd.MoveRotation(currentrot);
        transform.Translate(Vector3.up * movespeed * Time.deltaTime);
    }


void SetRotation() {
        Vector2 rgdpos = rgd.GetComponent<RectTransform>().anchoredPosition;
        
        if ((rgdpos.x > zone.offsetMin.x && rgdpos.x < zone.offsetMax.x) && (rgdpos.y > zone.offsetMin.y && rgdpos.y < zone.offsetMax.y)) {
            targetrot = Random.Range(0f, 360f);
        } else {
            Vector2 target = zone.anchoredPosition - rgdpos;
            float goangle = Mathf.Atan2(target.y, target.x);
            targetrot = goangle * 120f;
        }
        float settime = Random.Range(0.5f, 0.6f);
        Invoke("SetRotation", settime);

    }

7,8월 서강(평창강, 영월 선돌 인근) 기타


data parse - serial Unity3D 스크립트

List<string> mergetext = new List<string>();
    void Read_port() {

            byte[] bytes = new byte[8];
            int i = port.Read(bytes, 0, bytes.Length);
            serial_text = BitConverter.ToString(bytes);
            Debug.Log("read:" + serial_text);
            Showlog.Instance.LogMSG = "read : " + serial_text;
            string[] tmp = serial_text.Split('-');

            foreach (string str in tmp) {
                if (str == "00") {
                    break;
                }
                mergetext.Add(str);
            }

            if (mergetext.IndexOf("F2") > 0 && mergetext.IndexOf("F2") < 8) {
                Debug.Log("remove - 0, " + mergetext.IndexOf("F2"));
                mergetext.RemoveRange(0, mergetext.IndexOf("F2"));
            }

            if (mergetext.Count >= 8) {
                string laststr = "";
                for (int j = 0; j < 8; j++) {
                    if (mergetext[0] != "F2" || mergetext[7] != "F3") {
                        mergetext.Clear();
                        Showlog.Instance.LogMSG = "input data error";
                        Debug.Log("dataerror");
                        return;
                    }
                    laststr += mergetext[j];
                }

                Debug.Log(laststr);

                    ReceiveMsgHandler?.Invoke(laststr, EventArgs.Empty);
                mergetext.Clear();
            }

    }

Move with Rigidbody Unity3D 스크립트

private void Update() {
        if (Input.GetKey(KeyCode.LeftArrow) && Input.GetKey(KeyCode.RightArrow)) {
            targetHandle = 0;
        } else if (!Input.GetKey(KeyCode.LeftArrow) && !Input.GetKey(KeyCode.RightArrow)) {
            targetHandle = 0;
        }else if (Input.GetKey(KeyCode.LeftArrow) && !Input.GetKey(KeyCode.RightArrow)) {
            targetHandle = -1;
        }else if (!Input.GetKey(KeyCode.LeftArrow) && Input.GetKey(KeyCode.RightArrow)) {
            targetHandle = 1;
        }

        if (Input.GetKey(KeyCode.UpArrow)) {
            targetForwardSpeed = 1;
        } else if (Input.GetKey(KeyCode.DownArrow)) {
            targetForwardSpeed = -1;
        } else {
            targetForwardSpeed = 0;
        }

        handle = Mathf.Lerp(handle, targetHandle, Time.deltaTime * rotationSpeed);
        rotation = new Vector3(0, handle, 0);

        forwardSpeed = Mathf.Lerp(forwardSpeed, targetForwardSpeed, Time.deltaTime);

        RB.MovePosition(transform.position + transform.forward * (forwardSpeed * speed));

        transform.Rotate(rotation);
    }

Shell on trigger Unity3D 스크립트

    private void OnTriggerEnter(Collider other) {
        Collider[] colliders = Physics.OverlapSphere(transform.position, m_ExplosionRadius, m_TankMask);
        for (int i = 0; i < colliders.Length; i++) {
            Rigidbody targetRigidbody = colliders[i].GetComponent<Rigidbody>();
            if (!targetRigidbody)
                continue;

            targetRigidbody.AddExplosionForce(m_ExplosionForce, transform.position, m_ExplosionRadius);
        }

        m_ExplosionParticles.transform.parent = null;

        m_ExplosionParticles.Play();

        ParticleSystem.MainModule mainModule = m_ExplosionParticles.main;
        m_ExplosionParticles.GetComponent<AudioSource>().Play();
        Destroy(m_ExplosionParticles.gameObject, mainModule.duration);

        Destroy(gameObject);
    }

Shot Unity3D 스크립트

void FireAction() {
        if (firing) return;

        GameObject firesd = Instantiate(firesound, transform);
        Destroy(firesd, firesd.GetComponent<AudioSource>().clip.length);

        Rigidbody proj = Instantiate(projectile)as Rigidbody;
        proj.transform.localPosition = transform.position;
        proj.transform.localRotation = Quaternion.Euler(transform.rotation.eulerAngles + new Vector3(0f,0f,0f));
        proj.velocity = shotpower * transform.forward;
        foreach (muzzleflashctrl mfc in MFC) {
            mfc.ExplosionParticle();
        }

        float tmpx = Random.Range(-3f, 3f);
        float tmpy = Random.Range(-3f, 3f);
        Vector3 currenttransform = transform.localRotation.eulerAngles;
        transform.localRotation = Quaternion.Euler(new Vector3(currenttransform.x + tmpx, currenttransform.y + tmpy, 0f));

        
        CancelInvoke("muzzletipreset");
        Invoke("muzzletipreset", 1f);
        
        Invoke("firebreak", waitsec);
        firing = true;
    }

5월8일 ~ 9일 서강(평창강, 영월 선돌 인근) 기타


미니 시승기2 기타

5년이나 지나서 뭐 특별한 것은 없습니다.

잘 나가고 잘 돌고, 대충 서고, 이상없이 아주 잘 타고 다니고 있습니다.

끝입니다.




1 2 3 4 5 6 7 8 9 10 다음