본문 바로가기

list

(124)
Texture Type의 Texture와 Sprite 단순 차이 Texture는 무조건 이미지 사이즈가 2의 자승으로 변환 Sprite는 Max Size 설정에 따라 변환 - Max Size 이하면 크기 그대로 유지
이미지 로드해서 Image에 적용 로컬에 있는 이미지 WWW로 로드 public Texture2D LoadTextureByWWW(string path) { WWW www = new WWW("file://" + path); return www.texture; } Sprite 만들기 public Sprite CreateSprite(string path) { Texture2D tex = LoadTextureByWWW(path); return Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f)); } Image img; img.overrideSprite = CreateSprite(imgPath);
가속 센서와 자기 센서로 회전 구하기 다음 처럼 구현 public class DeviceSensorManager implements SensorEventListener { private SensorManager sensorManager; private Sensor magneticSensor; private Sensor accelerometerSensor; private final float[] rotationMatrix = new float[16]; private float[] valuesMagnet = new float[3]; private float[] valuesAccel = new float[3]; private float[] orientation = new float[3]; public DeviceSensorManager(Conte..
Beacon 연동 BluetoothAdapter.LeScanCallback 인터페이스를 implements @Override public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord) { String address = device.getAddress(); String name = device.getName(); int batteryLevel = Integer.valueOf(scanRecord[30]); } 스캔 시작하면 비콘 신호 callback으로 들어옴. BluetoothAdapter.getDefaultAdapter().startLeScan(BluetoothAdapter.LeScanCallback); 중지는 이렇게. BluetoothAdapter..
Obb 파일 다운로드 구글 플레이에서 자동으로 다운로드 된다. 다운로드가 완료되지않아 앱 실행 시 다운로드 시켜야할 경우 다음과 같이 구현. String apkName = Helpers.getExpansionAPKFileName(this, true, BuildConfig.VERSION_CODE); boolean hasFile = Helpers.doesFileExist(this, apkName, 130712253L, false); if(hasFile) { } else { Intent intent = getIntent(); Intent notiIntent = new Intent(this, getClass()); notiIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_AC..
Obb 파일 안에 있는 영상 재생 다음 처럼 Provider 하나 만든다. public class VideoProvider extends APEZProvider { private static final String AUTHORITY = "com.provider.authority"; public static Uri buildUri(String path) { StringBuilder result = new StringBuilder("content://"); result.append(AUTHORITY); result.append(File.separator); result.append(path); return Uri.parse(result.toString()); } @Override public String getAuthority() { ret..
유니티 화면에서의 회전 값과 코드 상의 회전 값 model 이라는 Transform 있다. 유니티 화면에서 Rotation 값들을 입력할 때 보면, 도로 입력한다. 코드 상에서 model.localRotation 값을 보면 라디안 값이다. model.localRotation = Quaternion.Euler(new Vector3(degreeX, degreeY, degreeZ)); 이런 식으로 값을 적용할 때는 도. 유니티화면에서 도로 입력하고, 코드 상에서 model.localRotation 값(라디안)을 그대로 가져와서 도로 변환해서 model.localRotation 값을 적용해 보면 회전이 유니티 화면에서 입력할 때와 다르게 나온다. * 라디안 -> 도 : 0.223f * Mathf.Rad2Deg* 도 -> 라디안 : 90 * Mathf.Deg2..
자식 객체 Destroy 할 때 주의 transform.childCount ------ (1)Destroy(child.gameObject)transform.childCount ------ (2) 위와 같이 자식 객체를 지웠을 때, (1)과 (2) 값은 같다. 화면에서도 지워야 childCount 값이 변한다. child.parent = null