https://learn.unity.com/tutorial/inseuteonseuhwa?uv=2019.3&projectId=625e4bf5edbc2a03c37c9827#

 

인스턴스화 - Unity Learn

Instantiate 함수를 사용하여 런타임 시 프리팹의 클론을 생성하는 방법을 알아봅니다. 이 튜토리얼은 스크립팅의 기초 프로젝트 에 포함되어 있습니다. 이전: 클래스 다음: 배열

learn.unity.com

 

 


instantiate 
인스턴트화

프리팹을 클로닝 (복제) 할 때 씀

 

 

 

    public Rigidbody rocketPrefab;
    public Transform barrelEnd;
    
    void Update ()
    {
        if(Input.GetButtonDown("Fire1"))
        {
        Rigidbody rocketInstance;
        rocketInstance = 
        Instantiate(rocketPrefab, barrelEnd.position, barrelEnd.rotation) as Rigidbody;
        rocketInstance.AddForce(barrelEnd.forward * 5000);
        }
    }

 

로켓 미사일을 발사하는 예시는 위와 같음

 

 

 

 

 

그냥 놔두면 복제된 프리팹이 영원히 자리 차지함

그러면 데이터 낭비임

 

    void Start()
    {
        Destroy (gameObject, 1.5f);
    }

 

이런식으로 생성후 1.5 초 지나면 사라지게 

스크립트 만들어 볼 수 있음

반응형
Posted by 이름이 익명
:




Class


클래스는 박스와 기계가 담긴 만드는 '공장' 인 셈

 

함수는 컨베이어 벨트 설계

변수는 박스 속 내용물



OOP, 객체 지향 은
스크립트를 여러개 나눠서 분업하게 하는 걸 의미함


클래스도 하나의 스크립트는 하나의 기능으로 쓰게끔 설계해야 좋음

 

 

+

 

public int projectileA;
public float fuel;

public Stuff (int prA, float fu)
{
ProjectileA = prA;
fuel = fu;
}

public Stuff myOtherStuff = new Stuff (50, 1.5f) ;

 


생성자,
동시에 두 개의 매개변수를 지닌 것이다
호출시엔 뉴 를 붙인다
두 개의 값 (50,1.5f)  가 된 상태로 초기 설정이 된다

 

 

 

+

 

 

 

 

복잡해보이지만,

클래스에 연결하여 변수 생성을 즉석으로 할 수 있음

 

 

 

퍼블릭 클래스이름 ( 소괄호 속 변수들,  소괄호 속 변수들 ) ;

이런식으로 즉석에서 만듦

 

 

소괄호 속 변수 개수에 따라 

그게 뭘 의미하는지 알아서 나눠지게 됨

 

 

 

반응형
Posted by 이름이 익명
:

 

유니티를 쓰다보면 다양한 데이터유형(datatypes) 를 볼 수 있다

 

모든 변수엔 데이터 유형이 하나씩 지정된다

 

 

 

 



크게 Value 타입 , Reference 타입 두개로 나뉜다

Value 는 1 2 3 이런 실제 값

Reference 는 특정 원본과 연결되어 공유
하나가 바꾸면 다 바뀌어짐




    void Start () 
{
        private Transform tran = transform;
        tran.position = new Vector3(0, 2, 0);
}



Reference 타입의 Transform 변수 예시
이런식으로 쓰면
해당 스크립트가 담긴 오브젝트를 0 2 0 주소로 이동시키게 함




데이터 타입 Reference 에는
string, class, array, object 등이 있다




반응형
Posted by 이름이 익명
:

https://learn.unity.com/tutorial/deltatime-1?uv=2019.3&projectId=625e4bf5edbc2a03c37c9827#

 

DeltaTime - Unity Learn

델타 시간이란 무엇이며, 게임에서 어떻게 델타 시간을 사용해 값을 매끄럽게 변경하고 해석할 수 있는지 알아봅니다. 이 튜토리얼은 스크립팅의 기초 프로젝트 에 포함되어 있습니다. 이전: Get

learn.unity.com

 

 

 


Time.deltaTime 사용 안하면
좀비처럼 삐그덕대며 버벅이며 움직임

Time.deltaTime 사용시 
직선으로 쭈우욱 일정하게 움직임

왜냐면
각 프레임마다 호출시간이 다르기 때문이다

 




if(Input.GetKey(KeyCode.RightArrow))
            transform.position += new Vector3(speed * Time.deltaTime, 0.0f, 0.0f);



델타 타임 사용 예시,
플레이어 이동 할 때 씀

 

 

+


Time.time
그냥 시간의 경과

if (Time.time > 10f)
게임 시작 후 10초 경과를 의미함


transform.position = new Vector3(0, Mathf.Sin(Time.time * 2f), 0);
SIN과 함께 쓰면 시간이 지나며 부드럽게 물결치는 효과 

 

 

+

Time.fixedDeltaTime
물리연산 용, FixedUpdate 용도



+

일시정지해도 흘러가는 시간 변수


Time.unscaledDeltaTime
일시정지(Time.timeScale = 0) 했을 때도
애니메이션이나 UI 효과를 계속 움직이려면 이걸 씀


Time.realtimeSinceStartup
실제 경과시간
시간정지 무시

+

 

bgmA.time, bgmB.time
현재 재생 중인 오디오의 진행 위치(초 단위)

 

 

 

반응형
Posted by 이름이 익명
:

https://learn.unity.com/tutorial/getcomponent-2?uv=2019.3&projectId=625e4bf5edbc2a03c37c9827#6268e689edbc2a53f9b490ae

 

GetComponent - Unity Learn

GetComponent 함수를 사용하여 다른 스크립트 또는 컴포넌트의 프로퍼티를 지정하는 방법을 알아봅니다. 이 튜토리얼은 스크립팅의 기초 프로젝트 에 포함되어 있습니다. 이전: OnMouseDown 다음: 델타

learn.unity.com

 

 

 

다른 스크립트 속에 있는 변수 사용하기

 

 

 



public GameObject otherGameObject;
인스펙터 창에서 다른 오브젝트를 드래그로 설정

GetComponent<>();
는 자기 자신의 컴포넌트를 가져옴

otherGameObject.GetComponent<>();
는 다른 오브젝트의 컴포넌트를 가져옴

 

 

그리고,


private 타클래스명칭 변수이름A;
int float 같은 거 들어갈 자리(자료형 타입)에 타 스크립트 이름을 넣어서 처음 변수 생성함


변수이름A = otherGameObject.GetComponent<타클래스명칭>();
어웨이크에서 겟컴포넌트 초기 작업해주기



Debug.Log( 변수이름A .속에있는변수 );
이렇게 타클래스 속에 있던 변수를 사용 가능해짐

 

 

+

 

 

GetComponent 는 렉을 발생시키기 쉬우므로
Awake , Start 에서 한번만 호출하는 게 좋음

 

반응형
Posted by 이름이 익명
:

https://learn.unity.com/tutorial/onmousedown-2?uv=2019.3&projectId=625e4bf5edbc2a03c37c9827#

 

OnMouseDown - Unity Learn

콜라이더 또는 GUI 요소에 대한 마우스 클릭을 감지하는 방법을 알아봅니다. 이 튜토리얼은 스크립팅의 기초 프로젝트 에 포함되어 있습니다. 이전: GetAxis 다음: GetComponent

learn.unity.com

 

 

void OnMouseDown ( )

은 스크립트 컴포넌트 넣은 해당 오브젝트를 클릭시 발동됨

 


  private Rigidbody rb;

    private void Awake()
    {
        rb = GetComponent<Rigidbody>();
    }

    void OnMouseDown ()
    {
        rb.AddForce(-transform.forward * 500f);
        rb.useGravity = true;
    }



해당 오브젝트를 클릭시 
문이 뒤쪽으로 튕겨져 나가게 함


 




void OnPointerEnter
는 마우스 오버 진입시 발동

void OnPointerExit
는 마우스 오버 떠날시 발동


using UnityEngine.EventSystems;
근데 사용하려면 위의 네임 스페이스 사용해야 함

 

 

 

반응형
Posted by 이름이 익명
:

 Destroy( ) 함수


            Destroy(gameObject);
이 스크립트를 넣은 본인 을 제거


            Destroy(gameObject, 3f);
이 스크립트를 넣은 본인 을 3초 후 제거



    public GameObject other;
            Destroy(other);
인스펙터 창에서 드래그드랍으로 설정한 특정 오브젝트를 제거


            Destroy(GetComponent<MeshRenderer>());
오브젝트가 가진 특정 컴포넌트만 제거


+


GetButton 및 GetKey
는 구버전임

새로운 2022 + 버전에선
UnityEngine.InputSystem 로 대체 됨



패키지 매니저 - Input System 에서 다운받아 설치가 선행되어야 힘


Project Settings - Player - Active Input Handling 에서
Both 를 눌러야
옛날 인풋 방식과 새 인풋 시스템 둘 다 사용가능해짐

맨처음엔
ActionMaps에 새로운 거 하나 만들어서 생성해줘야 함

Action Type
Value : + - 왼쪽이냐 오른쪽이냐
Button : 버튼이 눌러졌는가

WASD , ←↑↓→ 를 설정할 땐
키를 4개 바인딩 해야 함


no binding 은 키설정이 안되어있다는 소리임


인풋을 적용할 플레이어 캐릭터에다가
컴포넌트에 내가 만든 ActionMaps를 부착시킨다

 

 

+

 

 

Input 시스템에서
Gravity ㅡ 값을 올릴수록, 0으로 돌아오려는 자석같은 이끌림 움직임이 강해짐
Sensitivity ㅡ 움직임 강력한 정도


Dead ㅡ 조이스틱에서, 많이 움직여야만 움직이게 설정함

Input.GetAxisRaw ㅡ 딱 딱 떨어지게 움직임. 2d 게임에서 유용함

 

 

 

반응형
Posted by 이름이 익명
:

no china 짤

카테고리 없음 2025. 11. 7. 17:01 |

 

 

 

+

 

 

 

 

민주당 = 좌파 = 병신들 맞음

 

중국인 노비자 한국입국 부터 이상했음

 

 

 

시진핑, 김정은

이런 못생긴 돼지를 찬양하는 거도 이상했음

 

 

 

중국식 저질 제품이 한국에 널렸는데

중국산 입국 금지 왜 안시킴? 이상함

 

 

 

 

그냥 돈 받으니 하는거지~

 

 

 

 

+

 

 




우한 코로나 바이러스

저품질 제품

칭따오 오줌 맥주

공항 비매너 중국 관광객

게임핵 사용자 1등이 중국

김치를 중국 거라고 거짓말

몽골을 자기 땅이라고 거짓말

온라인 댓글테러

한국 와서 반미 친중 외침

한국 부동산 약탈

무단 표절

서해안 환경 오염

서해안 불법 어획

미세먼지 생산

납치 장기매매

언론 장악



1줄 요약

중국인들은 떼 쓰는 어린 아이 같음


 

 

 

 

 

 

 

 

 

반응형
Posted by 이름이 익명
: