※ 알파값 : 투명도를 얘기한다.
※ Ray ( 시작점, 발사방향 )
레이저쏴서 어딘가에 부딪히는걸 판단하는 과정 Raycast ( 레이저, out (RaycastHit), 거리, 특정 레이어(비트값) )
반환값 bool 타입 부딪히면 true
out : 내부적으로 값을 세팅해서 넘겨주는 녀석
int includeLayer = 1 << LayerMask.NameToLayer("Default") ; 레이어를 비트로 만드는것
여러개 한번에 체크하고싶으면? OR 해서 넘겨주면 된다.
※ LineRenderer 라인을 그려주는 코드
.SetPosition( 0 , 시작지점 ) ( 1 , 도착지점 )
※ UI 캔버스 Render Mode
World Space 공간상에 실제로 존재
Screen Space 내가 보이는 화면상 위에 존재 ( HP / MP 같이 )
글씨,그림 더 선명하게 ? Canvas Sclale 의 Dynamic pixels 늘리면 된다.
둥그런 친구를 네모나게 ? Canvas Scale 의 Reference Pixels 를 줄이면 된다.
[ RequireComponent ( typeof( 컴퍼넌트명 ) ) ]
서로 연결된 컴퍼넌트를 설정해줄때, A 가 이 코드로 B 를 포함하고있으면
Inspector 에 A 만 추가하면, B 도 같이 추가된다.
플레이어가 바라봤을때 어떤 이벤트가 일어나게 하고싶다면 세 가지가 필요하다.
박스 컬라이더 / VR Look At Object Base / VR Interface Item
Mathf.MoveTowards ( From , To, Perent )
Lerp 와 비슷하지만 다른점은 Lerp 는 퍼센트에 음수가 들어가면 그냥 From 이 나와버리고 100 넣으면 그냥 to 가 나오는등 보장되지만,
MoveTowards 는 보장되지 않느다. (?)
어떤 Material 을 건드린다고 했을때
일부분만 건드릴지, 전체적으로 할지에 따라서 다른 방식을 취하자,
전체를 바꿀경우 모두가 공유하는 원본값에 직접 접근하여 그 값을 조정하는것이 나을 것이고,
부분만 할경우에는 그 분만 접근하여 하는것이 나을것이다.
어설프게 전체를 For 문으로 접근하다가는 드로우컬이 무식하게 늘어나는걸 볼수있다.
Fade In / Out
Canvas 를 World 가 아닌 Screen 으로 두고 스케일을 충분히 크게한다음
그 밑의 이미지로 검은 이미지로 덮고, 이제 알파값을 조정한다.
public class VR_Fade : MonoBehaviour {
public Material mate;
Color color;
void Awake()
{
color.a = 1.0f;
mate.color= color ;
}
// Use this for initialization
IEnumerator Start () {
yield return new WaitForSeconds(1.0f);
float deltaTime = 0.0f;
while(deltaTime < 1.0f)
{
deltaTime += Time.deltaTime;
color.a = Mathf.Lerp(1.0f, 0.0f, deltaTime);
mate.color = color;
yield return new WaitForEndOfFrame();
}
color.a = 0.0f;
mate.color = color;
}
}
무료 음향 효과 등 사이트
http://freemusicarchive.org/
http://maoudamashii.jokersounds.com/
http://www.freesfx.co.uk/