공부 93

[Unity] WebGL을 위한 Textures 최적화, 빌드 파일 용량 / 텍스쳐 용량 줄이기

유니티 빌드 후 Build Report를 살펴볼 수 있다 C:\Users\이름\AppData\Local\Unity\Editor\Editor.log (Editor 폴더 안보이면 Unity 폴더에서 검색하자 Editor에 들어가서 Build Report를 검색하면 빌드 파일에 관련된 정보가 뜬다 기존에 Textures가 1.1gb를 차지하고 있던 걸 479mb로 줄였다 텍스쳐 줄이기 노력 1. 해당 씬만 export해서 다시 받기 (별로 도움 안 됨) 2. URP 사용 버리기 (상관없는듯 다시 URP사용으로 돌렸음) 3. Sprite Atlas 사용해서 Batch 줄이기 (UI Batch 수를 줄이는 효과) 4. Crunch Compress 사용하기 (효과 엄청 좋다. 대충 Textures들은 다 이거 해주..

공부/Unity 2023.11.10

[Unity] png 투명 부분 클릭 안되게 하기 (버튼, 이미지 etc)

UI에 버튼, 이미지를 넣었는데 아무리 잘라줘도 이를 포함한 네모 전체를 클릭 이미지로 인식했다. 이를 해결하는 방법 1. 이미지가 들어간 오브젝트에 아래 식을 넣은 script를 넣어준다. 2. 이미지의 인스펙터창에 들어가서 설정을 바꾼다. (Mesh Type > Full Rect로 실험해보니 따로 설정 안 해도 작동된다) Advanced > Read/Write > True (체크로 설정) + Crunch Compression과 같이 사용할 수 없다 ++ Sprite Atlas와 같이 사용할 수 없다 2번 설정을 안해주면 InvalidOperationException 에러가 뜨니 유의하기 using UnityEngine.UI; //맨 윗부분에 넣어두기 float alphaThreshold = 0.1f;..

공부/Unity 2023.10.30

[로블록스 스튜디오] 어떤 화면이든 비율에 맞게 UI 조정, Fireserver 매개변수 주의

Position, Size에서 Offset을 0, Scale 값으로만 크기를 맞추자 Offset은 절대적인 값인 느낌으로 비율에 무관하게 적용된다. 왼쪽처럼 화면을 좁혀도 비율을 유지한다 local script에서 FireServer로 매개변수를 같이 넘길 때, player는 안넘겨줘도 되고, 이를 처리하는 Script쪽에서의 OnServerEvent에서는 매개변수로 player를 꼭 받자 안그러면 매개변수 순서가 꼬여서 받게된다. module script에서 remote event Fire은 안된다. Local script에서만 FireServer 가능

[로블록스 스튜디오] 위치값 새로 할당, 하이라이트 오류, model 위치값 참조하는 법

position을 vector3 값으로 할당 괜히 Cframe.Position으로 할당하지 말고 그 자체 .Position = 뭐시기.Value (Vector3Value로 지정해둔 값이 있다면) 이렇게 진행하면 된다 + highlight 효과 script를 맞게 썼는데도 마우스 오버하면 모든 하이라이트들이 밝아지는 오류 -> 해결하지 말고 팀테스트로 진행해보면 잘 됨을 확인할 수 있음 나의 오류가 아니라 roblox studio 내의 오류 ++ model의 position을 참조해야 할 때 model은 position으로 참조를 못하니 Mesh로 바꿔서 접근해야한다 https://youtu.be/VPOumAEe7E4?si=gg18jeiscZ0Mlua6

[로블록스 스튜디오] 오류 없이 script를 가진 parent 삭제하기 / transform function error script that implemented this callback has been destroyed while calling callback

대충 모델을 클릭하면 모델의 자식인 ClickDetector가 이를 파악하고, Descendant에 있는 Script가 script.Parent:Destroy()하는 식을 썼는데 위와 같은 오류가 발생하였다. 이를 Debris를 사용해 삭제하면 오류가 나지 않고 삭제할 수 있다 local debris = game:GetService("Debris") script.Parent.ClickDetector.MouseClick:Connect(function(player) debris:AddItem(script.parent, 1) script.Parent:Destroy() end)

[로블록스 스튜디오] script들의 차이점 local script, server script

Local script 캐릭터 모델, Player Gui, PlayerScripts, ReplicatedFirst(여기에 넣으면 명령어 가장 빨리 읽음) 플레이어의 개인적인 활동에만 적용 플레이어 관련 식을 쓸 때 보통 첫 줄에 game.Players.LocalPlayer로 찾음 Script (서버 스크립트) ServerScriptService, Workspace 게임 진행 상황, 아이템 관련 등 모든 플레이어가 공유하는 부분은 얘가 맡아서 진행 Touched는 Script에서만 가능 Remote Event: 서버와 클라이언트 사이에서 단방향 통신 보통 ReplicatedStorage의 자식으로 RemoteEvent를 추가 클라이언트 -> 서버 (local script) -- 이 코드는 로컬스크립트에서 ..

728x90