'공부 > 프로그래밍' 카테고리의 다른 글
페이스북(Meta) 테스트 광고 관련(iOS) (0) | 2023.12.27 |
---|
페이스북(Meta) 테스트 광고 관련(iOS) (0) | 2023.12.27 |
---|
using UnityEngine;
using System.Collections;
public class EyeTrackBlink : MonoBehaviour
{
public float eyeMaxOffset = 0.3f; // max amount the eyes are clamped to
public Renderer eyeRend; // eyeball renderer
public Renderer lidRend; // eyelid renderer
public float blinkingTextureAmount = 4f; // amount of frames of blinking animation
public float blinkTimer = 4f; // timer for when to blink again
public float blinkTransition = 0.05f;
Vector2 eyeOffset;
Vector2 eyelidOffset;
float blinkOffset;
float blinkTimerR;
void Start()
{
blinkTimerR = blinkTimer;
blinkOffset = 1 / blinkingTextureAmount;
eyelidOffset = new Vector2(0,0);
lidRend.materials[1].SetTextureScale("_MainTex", new Vector2(blinkOffset, 1));
}
void Update()
{
blinkTimerR -= Time.deltaTime;
if (blinkTimerR <= 0.0f)
{
StartCoroutine(Blink());
}
eyeOffset = new Vector2(transform.localPosition.x, -transform.localPosition.y);
// clamp so the eye doesnt disappear
if(eyeOffset.x < -eyeMaxOffset || eyeOffset.x > eyeMaxOffset)
{
eyeOffset.x = Mathf.Clamp(eyeOffset.x, -eyeMaxOffset, eyeMaxOffset);
}
if(eyeOffset.y < -eyeMaxOffset || eyeOffset.y > eyeMaxOffset)
{
eyeOffset.y = Mathf.Clamp(eyeOffset.y, -eyeMaxOffset, eyeMaxOffset);
}
// send offset to shader
eyeRend.material.SetTextureOffset("_MainTex", eyeOffset);
}
IEnumerator Blink()
{
// animating 1 - 2 - 3 - 4 - 3 - 1, if you have more or less blinking animation frames, add or delete them here
blinkTimerR = blinkTimer + Random.Range(-1,1); // slight randomisation to the blinking
lidRend.materials[1].SetTextureOffset("_MainTex", eyelidOffset); //1
yield return new WaitForSeconds(blinkTransition);
lidRend.materials[1].SetTextureOffset("_MainTex", new Vector2(eyelidOffset.x + blinkOffset, 0)); //2
yield return new WaitForSeconds(blinkTransition);
lidRend.materials[1].SetTextureOffset("_MainTex", new Vector2(eyelidOffset.x + (blinkOffset * 2), 0)); //3
yield return new WaitForSeconds(blinkTransition);
lidRend.materials[1].SetTextureOffset("_MainTex", new Vector2(eyelidOffset.x + (blinkOffset * 3), 0)); //4
yield return new WaitForSeconds(blinkTransition);
lidRend.materials[1].SetTextureOffset("_MainTex", new Vector2(eyelidOffset.x + (blinkOffset * 2), 0)); //3
yield return new WaitForSeconds(blinkTransition);
lidRend.materials[1].SetTextureOffset("_MainTex", eyelidOffset); //1
}
}
출처 : https://twitter.com/minionsart/status/948235509825966080
Joyce[MinionsArt] on Twitter
“Using SetTextureOffset to animate a texture sheet, and track an object with eyes in #unity3d, like in Legend of Zelda - Twilight Princess #gamedev #unitytips #indiedev Sample code in first reply More stuff > https://t.co/FqAsMb9Plg https://t.co/9ES4iBrsX1
twitter.com
- 추가
위 자료처럼 분리해서 위치를 잡아준 뒤, Unity Timeline상에서 Material의 Offset값을 애니메이션하여 적용함
Unity Path (0) | 2021.05.24 |
---|---|
Unity Android Profiler 동작 안될때 (0) | 2020.02.13 |
NGUI 한글 마지막 글자 짤리는 문제 (0) | 2018.03.21 |
Unity 3D 에서 구글 스프레드 시트로 로그 보내기 (0) | 2018.02.02 |
Execution Order of Event Functions(Unity 함수 실행 순서) (0) | 2018.01.16 |
https 관련 인증서 생성 기록용 (0) | 2023.07.12 |
---|---|
jar plugin exclude BuildConfig (0) | 2021.12.13 |
Adaptive Scalable Texture Compression (ASTC Format) (0) | 2017.12.01 |
ios Push 관련 코드 저장용 (1) | 2017.06.16 |
git branch 삭제 후 복구 하기 (0) | 2017.05.17 |
Unity Android Profiler 동작 안될때 (0) | 2020.02.13 |
---|---|
Eyetracking + Blinking (0) | 2019.06.26 |
Unity 3D 에서 구글 스프레드 시트로 로그 보내기 (0) | 2018.02.02 |
Execution Order of Event Functions(Unity 함수 실행 순서) (0) | 2018.01.16 |
Unity Collision & Trigger Action Matrix (Unity Collision & Trigger 호출 조건) (0) | 2018.01.16 |
Eyetracking + Blinking (0) | 2019.06.26 |
---|---|
NGUI 한글 마지막 글자 짤리는 문제 (0) | 2018.03.21 |
Execution Order of Event Functions(Unity 함수 실행 순서) (0) | 2018.01.16 |
Unity Collision & Trigger Action Matrix (Unity Collision & Trigger 호출 조건) (0) | 2018.01.16 |
WWW.LoadFromCacheOrDownload 경로 (Unity) (0) | 2017.10.10 |
출처 - https://docs.unity3d.com/Manual/ExecutionOrder.html
==================================================================================
매번 유니티 홈페이지까지 가서 찾기 귀찮아서 긁어옴
NGUI 한글 마지막 글자 짤리는 문제 (0) | 2018.03.21 |
---|---|
Unity 3D 에서 구글 스프레드 시트로 로그 보내기 (0) | 2018.02.02 |
Unity Collision & Trigger Action Matrix (Unity Collision & Trigger 호출 조건) (0) | 2018.01.16 |
WWW.LoadFromCacheOrDownload 경로 (Unity) (0) | 2017.10.10 |
Unity 에서 Android Permission 삭제 관련 (0) | 2016.07.07 |
Unity 3D 에서 구글 스프레드 시트로 로그 보내기 (0) | 2018.02.02 |
---|---|
Execution Order of Event Functions(Unity 함수 실행 순서) (0) | 2018.01.16 |
WWW.LoadFromCacheOrDownload 경로 (Unity) (0) | 2017.10.10 |
Unity 에서 Android Permission 삭제 관련 (0) | 2016.07.07 |
유니티 각 경로 (Unity Path) (0) | 2016.05.26 |
출처 - http://tsubakit1.hateblo.jp/entry/2016/09/28/235632
Encoding Format | Description |
---|---|
L | Luminance-only |
LA | Luminance with transparency |
L+A | Luminance with uncorrelated transparency |
X+Y | Surface normals |
RGB | Full color |
XY+Z | Surface normals with uncorrelated Z |
RGBA | Full color with transparency |
RGB+A | Full color with uncorrelated transparency |
출처 - https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression#Hardware_support
Block size
(WxH) |
BPP |
---|---|
4x4 | 8.00 |
5x4 | 6.40 |
5x5 | 5.12 |
6x5 | 4.27 |
6x6 | 3.56 |
8x5 | 3.20 |
8x6 | 2.67 |
10x5 | 2.56 |
10x6 | 2.13 |
8x8 | 2.00 |
10x8 | 1.60 |
10x10 | 1.28 |
12x10 | 1.07 |
12x12 | 0.89 |
출처 - https://www.khronos.org/opengl/wiki/ASTC_Texture_Compression
모든 OpenGL ES 3.2 및 OpenGL ES 3.1+AEP GPU와 일부 OpenGL ES 3.0 GPU에서 지원합니다
{
Supported by Windows, Linux, Android (since version 5.0) on devices with appropriate hardware and drivers,[45] including:
출처 - https://en.wikipedia.org/wiki/OpenGL_ES
}
ETC2, PVRTC에 비해 실용적.
자세한 사항은 추후에 체크 후 업로드 예정
jar plugin exclude BuildConfig (0) | 2021.12.13 |
---|---|
git ignore 목록 사이트 (0) | 2019.01.09 |
ios Push 관련 코드 저장용 (1) | 2017.06.16 |
git branch 삭제 후 복구 하기 (0) | 2017.05.17 |
game mechanic explorer (0) | 2017.01.31 |
Mac Path: ~/Library/Caches/Unity/
Windows path: C:\Users\\AppData\LocalLow\Unity\WebPlayer\Cache\
출처 : http://answers.unity3d.com/questions/956259/where-is-the-cache-folder-for-wwwloadfromcacheordo.html
Execution Order of Event Functions(Unity 함수 실행 순서) (0) | 2018.01.16 |
---|---|
Unity Collision & Trigger Action Matrix (Unity Collision & Trigger 호출 조건) (0) | 2018.01.16 |
Unity 에서 Android Permission 삭제 관련 (0) | 2016.07.07 |
유니티 각 경로 (Unity Path) (0) | 2016.05.26 |
유니티 클라우드 빌드 아이콘의 의미 (Unity Cloud Build Icon) (0) | 2016.01.28 |