목차

반응형

applovin과 마찬가지로 페이스북에서 AudienceNetwork.aar 플러그인을 설치하면 아래 오류가 발생한다.

페이스북의 최신 sdk파일을 받고 넣어주면 오류가 없어진다.


 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.ads.BidderTokenProvider"


FacebookAudience-sdk.jar


반응형
반응형

Applovin을 설치하고 안드로이드로 빌드하면

unity AppLovinSdkajava.lang.NoSuchMethodError: No interface method getBidToken()Ljava/lang/String;

오류가 난다.


인터넷에서 떠돌아다니는 Applovin 라이브러리를 사용하면 버전이 낮아서 그런지 오류가 난다.


https://mvnrepository.com/artifact/com.applovin/applovin-sdk/9.1.3

여기서 가장 최신의 applovin sdk를 받아준다음에

aar파일이지만 압축파일이므로 확장자를 zip으로 바꾸고 그 안에 있는 jar파일을 applovin-sdk-9.1.3.jar로 이름을 바꿔준뒤에

Assets\Plugins\Android에 넣어서 빌드해보면 에러없이 잘 된다.

반응형
반응형

안드로이드 기준 모펍의 플러그인을 사용하는데 배너광고를 불러오는 속도가 경이롭게 느렸다.

정확한 원인은 못찾았지만 mopub sdk를 불러오기전에 banner를 요청하면 요청의 응답 속도가 매우 느리게 나옴을 확인했다.

따라서 모펍 sdk를 불러오고나서 배너를 요청하도록 하자

거참 별거아닌데 해결하느라 빌드한답시고 오래걸려서 고생했다



모펍 불러오는거 소스 추가하고 프로젝트 가동하면 위처럼 OnSdkIn~~~ Sdk를 불러왔다는 이벤트가 로그에 찍힌다 그곳을 더블클릭해서 들어간다.




그러면 OnSdkInitializedEvent로 들어가게 되는데 이 부분이 바로 SDK가 불러오고나서 호출되는거니까 이 아래에 배너를 만들어주는 코드를 추가한다.



코드는 아래와 같다.


Debug.Log("LoadBanner");
MoPub.CreateBanner("b195f8dd8ded45fe847ad89ed1d016da", MoPub.AdPosition.BottomCenter);


안드로이드로 가동해보면 배너가 빠른속도로 잘 불러와진다.

반응형
반응형

유니티의 파티클 시스템을 스크립트로 동작하고 멈추는 방법


아래처럼 단순히 particle system에 스탑을 해버리면 방출되던 Particle도 그대로 나오고 아무런 영향을 안준다.

public ParticleSystem Eff_Title_Opening;

Eff_Title_Opening.Play();

Eff_Title_Opening.Stop();


Stop에 인자를 넣어줘야한다. 아래처럼 코드를 작성하면 방출하면 particle이 즉시적으로 없어지고 Stop 처리가 된다.

public ParticleSystem Eff_Title_Opening;

Eff_Title_Opening.Play();

Eff_Title_Opening.Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear);


아래는 API 링크

https://docs.unity3d.com/ScriptReference/ParticleSystem.Stop.html

반응형
반응형

이펙터분과 리소스를 공유하기 위하여 유니티 콜라보레이션 생성하는 방법과 초대 방법을 간단하게 캡쳐해놓았다.


초대하는 사람 입장

콜라보레이션 하기 위한 프로젝트 생성


우측상단 콜라보레이션 클릭(로그인 필요)


아직 해당 프로젝트에 콜라보레이션을 활성화시키지 않으면 위와 같이 Start Now!가 나옴 클릭하고 프로젝트를 생성함


하단의 Go to Dashboard 클릭


Add a person or group에 초대하고자 하는 사람의 계정을 입력하여 추가하면 됨.




초대받는 사람 입장

그러면 초대를 받은사람은 유니티를 켜보면 In the Cloud에서 초대를 받은 프로젝트가 나온다.


In the Cloud가서 프로젝트를 다운로드 받는다. 클릭!


그러면 프로젝트 다운받고 잘나온다~ 끗!




기타사항

이후 작업을 하고나면 explorer에 새로 추가되거나 수정이 된 파일들에 푸른색 아이콘이 표시됨.

그러면 다시 Collab 버튼을 눌러서 수정한 내역을 간단히 정리한뒤 (1)Publish now!를 누름

(1) 을 눌러서 파일을 업로드하면 다른 사람들이 Collab를 통하여 해당 파일을 업데이트 받을 수 있음.

(2) 내가 작업한 파일이 Collab에 올라가있는 파일들과 비교하여 수정이 된 파일들의 개수(업로드 될 파일의 개수)

(3) 업로드 될 파일들의 정보

(4) version control (git와 비슷 자세한건 생략)

(5) Collab 프로젝트 관리(멤버 추가 등)


콜라보레이션 하는사람과 작업내용이 겹치지않도록 규칙을 잘 정해서 작업할것


작업이 있을 때 마다 Collab에 최신본을 올려주고 업데이트 받아달라고 팀원에게 요청하면 될 듯하다.

반응형
반응형

물체가 벽에 닿으면 벽에 안닿을 때까지 다시 반대편으로 밀어주는 기능을 추가하였다.


하지만 물체의 rotation 값에 따라서 물체가 이상한 방향으로 움직이는 것을 발견했다.


찾아보니 물체가 world가 아닌 local로 움직일 때 그렇게 된다고 한다.


기존 코드는 아래와 같이 움직였으나

transform.Translate(0.05f, 0, 0);


아래와 같이 바꿔주면 물체의 rotation 값에 영향받지 않고 잘만 움직인다.

transform.Translate(0.05f, 0, 0, Space.World);


반응형
반응형

유니티에서 안드로이드 빌드시 아래와 같은 메시지가 뜨는 경우가 있다.

Required API level 26.

Make sure Android SDK path is writable by editor.



Use Highest Installed는 현재 설치된 sdk 버전중 가장 높은것을 사용하는 것인데

현재 설치되어있는 sdk 버전정보는 아래 경로에서 확인 가능하다.

C:\Program Files (x86)\Android\android-sdk\platforms (윈도우 기준) 여기 있는 버전이 현재 설치되어있는 버전이다.


나같은경우는 android-23이 깔려있었다.


여튼 위의 메시지에서 Update Android SDK를 눌러도 업데이트가 되지 않는다.

그래서 수동으로 업데이트를 하려고 하는데

정작 안드로이드 공식사이트에서는 sdk 26버전 sdk를 제공하는것같지는 않다. 찾아보니 sdk manager에서 설치해야한다고한다.





안드로이드 sdk manager가 설치되어있는 경로로 와서 관리자 권한으로 실행하자(관리자 권한 아니면 설치할때 에러남)


이후 원하는 버전의 sdk를 설치하자 Android SDK Build-tools의 Rev 26을 선택, 아래 Android 8.0.0을 선택했다.


설치가 끝나면 위의 경로에 26이 깔린것을 확인할수있다.

이후 유니티에서 빌드시 위의 메시지가 다시 나타나지않았다.

반응형
반응형

유니티 버전업그레이드만 했는데 요런 메시지가 뜬다.

AmbientOcclusion.cs(23,39): error CS1061: Type `UnityEngine.Camera' does not contain a definition for `hdr' and no extension method `hdr' of type `UnityEngine.Camera' could be found. Are you missing an assembly reference?


마침 최근에 패브릭 문제때문에 프로젝트를 갈아엎기도 해서 내 프로젝트 세팅문제인줄알고 삽질을 엄청했다.

그런데 프로젝트를 새로 만들어서 저 스크립트만 불러와도 저런 메시지가 뜨는것 아닌가...

그러다가 camear.hdr는 deprecated됐다는 것을 메소드는 발견했다.

위의 말에따라 에러가 나는 스크립트의 camera.hdr을 camera.allowHDR로 교체해주면 된다.

반응형
반응형



갑자기 유니티로 작업을 하다보니 한번 에러가 틱나고 꺼져서 다시 켜보니까 쉐이더 관련해서 아주그냥 개판이 되버리는 경우가 있다.

아무 말도 없이 개판인건 아니고 아래와 같은 에러메시지가 나온다.

failed to open source file ~ 못불러오는 파일이름


나같은 경우는 쉐이더 자체는 잘 불러오지만 쉐이더에서 추가적으로 필요로하는 .cginc 파일을 못읽어와서 아래와 같은 상황이 발생하였다.



빨리 에셋번들 만들고 자려는데 ...

해본것

- 쉐이더 에셋번들도 다시 불러오기

- 프로젝트 오른쪽클릭 -> reimport all (시간만 개잡아먹고  해결안됨)


아무래도 스스로 해결하기는 어려울 것 같아서 인터넷에 찾아봤지만 별 도움되는 글이 안나오다가 한번 불러오지 못해서 에러인 파일의 위치를 움직여보라는 말이 나왔다.



에러인 파일의 위치를 움직여보니(.cginc파일들) material을 찾지못해서 보라색이 뜨는 상황이 발생하였다.

아래는 보라색이 뜨고나서 해결을 한 상태라서 정상적으로 보이지만 ...




위에서 잘 나오게 된 부분은 차량 금속부분이고 이번엔 차량의 창문 관련 cginc파일을 움직여보았다.





그러자 위와같이 투명한 쉐이더는 전부다 보라색이 뜬다.



그러면 쉐이더로 가서 material을 더블클릭하여 상세 조회한다.



보다시피 해당 Material의 Shader가 missing이다. 이것을 다시 참조하고 있던 Shader로 잡아준다.



고러면 해당 material의 모든 쉐이더 문제가 해결된다.



그렇게 몇번만 잡아주면 잘된다.


프로젝트 경우에 따라 다르지만 수많은 material이 위와같은 일이 발생한다면 다른 방법을 찾아야 할 수도 있다.


당시 시도는 못해봤지만 지금에서야 생각난 것이 다른 프로젝트에서 해당 material 파일을 전부다 묶어서 unitypackage로 추출해서 문제가 발생한 프로젝트에서 해당 material과 shader를 동시에 임포트, 교체 해보는 것이다.


별거아닌거로 몇시간 잡아먹었다 ㅜㅜ

반응형
반응형

Assertion failed: Assertion failed on expression: 'success && actual == (UInt64)size' UnityEditor.BuildPipeline:BuildAssetBundles(String, AssetBundleBuild[], BuildAssetBundleOptions, BuildTarget)AssetBundle:build() (at Assets/Editor/AssetBundle.cs:27)




유니티 에셋 번들을 만드는데 위와 같은 에러가 났다.

흐음 이해가 안가서 계속해보면 그냥 유니티가 에러나면서 꺼져버린다.



원인을 파악하지 못해서 아 빡치네 이러고 있다가

갑자기 카카오톡도 에러가 나면서 꺼져버린다

???



그리고나서 카카오톡 로그인을 하려고보니까 용량이 부족하댄다



용량 확보하고 다시만들어보니 잘된다.

반응형