찾다
기술 주변기기IT산업일시 중지, 메인 메뉴 및 게임 오버 화면 추가 Unity

일시 중지, 메인 메뉴 및 게임 오버 화면 추가 Unity 게임을 할 때 볼 수있는 버튼, 텍스트, 드롭 다운 등은 무엇입니까? 이 모든 것은 사용자 인터페이스 (UI)의 일부입니다. 대부분의 게임에는 일종의 UI가있어 플레이어가 레벨간에 더 쉽게 전환하고 특정 컨트롤을 활성화 할 수 있습니다 (예 : 게임 일시 정지 또는 레벨을 다시 시작). Unity에서 Dodger를 만드는 방법을 설명하는 이전 기사에서 플레이어가 잃어버린 경우 게임을 새로 고치는 작은 버튼을 만들었습니다. 이 튜토리얼에서는 다음 단계로 끌어 올려서 사용자가 게임을 일시 중지하거나 다시 시작하고 다른 장면간에 전환 할 수 있습니다. 우리는 또한 게임이 일시 중지 될 때 또는 플레이어가 죽거나 잃을 때와 같은 특정 시간에만 특정 UI 요소를 보여주는 방법을 살펴볼 것입니다.

대부분의 게임에는 일시 정지 메뉴, 화면 오버 화면 및 기본 메뉴가 포함되어 있습니다. 이것들은 "완성 된"게임에 필요한 몇 가지 요소 중 일부이므로 세 가지를 모두 다저 클론에 삽입합니다. 또한 플레이어가 게임을 시작하기 전에 사용할 수있는 컨트롤을 배울 수 있도록 지침 화면을 만들 것입니다. 완성 된 게임은 itch.io. 에서 재생할 수 있습니다 키 테이크 아웃

Unity의 일시 정지, 메인 메뉴 및 게임 오버 스크린 구현 필수 UI 컨트롤 및 장면 관리를 제공하여 게임 플레이를 향상시킵니다.

사용자 탐색을 향상시키기 위해 장면 전환을 위해 'SceneManager'를 활용하여 게임을 시작할 수있는 옵션이 포함 된 기본 메뉴 장면을 개발합니다. 충돌 감지 및 UI 업데이트를 사용하여 스코어 디스플레이 및 재시작 옵션이 포함 된 화면 오버 화면을 통합하여 플레이어가 게임 종료를 알리십시오.

기본 일시 정지 화면 생성 일시 정지 화면에는 플레이어가 레벨을 다시 시작하거나 기본 메뉴로 다시 이동하거나 게임에 대한 염증을 일으키는 데 사용할 수있는 일반적인 컨트롤 세트가 있습니다. 일시 정지 화면은 게임을 일시 중지 할 때만 볼 수 있어야합니다. Unity에서 우리는 일반적으로 Time.timescale을 사용하여 일시 정지 게임과 제작되지 않은 게임을 구별 할 수 있습니다. 시간 규모가 0이면 게임이 일시 중지됩니다. 0보다 크면 게임은 제외되지 않습니다 (나중에 논의하겠습니다). 시작합시다! 일시 정지 텍스트 생성 먼저, 우리는 플레이어에게 게임이 일시 중지되었다고 말하는 타이틀을 만들어야합니다. 계층 구조 창을 마우스 오른쪽 버튼으로 클릭하고 UI-> 텍스트를 선택하여 텍스트 객체를 만들어야합니다. 새로 생성 된 객체 Pausetext를 지정하겠습니다 우리는 플레이어에게 게임이 일시 중지되었다고 말하는 타이틀을 만들어야합니다. 계층 구조 창을 마우스 오른쪽 버튼으로 클릭하고 UI-> 텍스트를 선택하여 텍스트 객체를 만들어야합니다. 새로 생성 된 객체 Pausetext를 지정하겠습니다

이제 텍스트 객체를 형식화하여 게임 화면 내에서 더 잘 보이게 할 수 있습니다. 텍스트 객체의 텍스트를 변경하려면“새 텍스트”라는 단어가있는 텍스트 속성 아래 검사관 창을 클릭해야합니다. 텍스트 속성 내부에서 일시 정지 텍스트의 텍스트를 "일시 정지"로 변경할 수 있습니다. 게임의 색 구성표를 유지하려면 텍스트 색상을 흰색으로 변경해야합니다. 이것은 컬러 객체 (검은 색 또는 다른 색상을 선택할 수있는 곳)를 클릭하고 흰색을 선택하여 달성 할 수 있습니다.

텍스트 배치를 조정해 봅시다. 일시 정지 텍스트는 화면의 수평 중앙에 있어야하며 게임 화면의 상단 3 분의 1에 있어야합니다. 일시 정지 텍스트는 RECT 변환 속성 내부의 X와 Y 값을 변경하거나 Unity 편집기의 왼쪽 상단 코너의 마우스 컨트롤에서 네 가지 방법 화살표를 사용하여 이동할 수 있습니다. 필요하거나 원하는 경우 값을 변경하고 너비 및 높이 속성의 크기를 변경하여 텍스트 크기를 변경할 수도 있습니다. 지금해야 할 일은 코드를 추가 한 후 프로그램이 게임을 일시 중지 할 때만이 개체 만 표시하기를 원한다고 말할 수 있도록 객체를 태그하는 것입니다. "태그가 지정된"이라는 일시 정지 텍스트의 이름을 클릭 한 다음 "태그 추가…"를 클릭 할 수 있습니다. 이제“showonPause”라는 태그를 만들 수 있습니다. 이 태그가 만들어지면 일시 정지 텍스트에 추가해야합니다.

1 폴링 버튼 생성 우리는 일시 정지 텍스트를 생성하고 게임이 일시 중지 될 때 나타나야하는 게임 객체에 대한 새 태그를 추가했기 때문에 일시 정지 게임 메뉴를 구성하는 버튼을 만들기 시작할 수 있습니다.

. 우리는 재생 버튼, 재시작 버튼 및 기본 메뉴 버튼의 세 가지 버튼을 만들게됩니다. 재생 버튼은 게임을 자발적으로 유지하고, 다시 시작 버튼이 게임을 다시 시작하고, 기본 메뉴 버튼은 플레이어가 게임의 기본 메뉴 장면으로 되돌아갑니다.

. 새 버튼을 만들고 (계층 구조 -> ui-> 버튼을 마우스 오른쪽 버튼으로 클릭) "PlayButton"을 지명하는 것으로 시작하겠습니다. 게임 버튼의 태그를 ShowonPause로 설정하여 게임이 일시 중지 될 때만 표시됩니다. 이제 재생 버튼의 텍스트를 "재생"으로 설정하겠습니다. 이는 검사관에서 텍스트 하위 객체를 열어서 수행 할 수 있습니다 (계층 구조의 재생 버튼 옆의 드롭 다운을 클릭 한 다음 텍스트 객체를 선택하십시오). 그런 다음 텍스트 속성을 "재생"으로 변경하십시오. Plause 텍스트 아래에 있도록 재생 버튼을 화면 중앙과 정렬해야합니다. 다른 두 버튼을 만드는 빠른 방법은 계층에서 재생 버튼을 선택하고 두 번 (명령 / ctrl d)를 복제하는 것입니다. 새로운 버튼을“RetartButton”및“Mainmenubutton”으로 지정할 수 있습니다. 또한 각 새 버튼에 적절한 텍스트를 제공해야합니다. 다시 시작 버튼은 "다시 시작"해야하며 기본 메뉴 버튼은 "메인 메뉴"라고해야합니다. 이제 마지막 자습서에서 작성된 새로 고침 버튼을 삭제하겠습니다. 기본 일시 정지 메뉴가 있음을 알 수 있습니다. 그러나 우리는 객체에 코드를 첨부하지 않았기 때문에 메뉴는 아무것도하지 않습니다.

마지막 자습서에서 작성된 Uimanager 스크립트를 열자. 아래 코드처럼 보이도록 Uimanager 스크립트를 편집해야합니다. 일시 중지, 메인 메뉴 및 게임 오버 화면 추가 Unity

이제 Uimanager 스크립트에 액세스 할 수있는 코드가 있으므로 Unity로 돌아갈 수 있습니다. Unity 내부에서 재생 버튼을 선택하고 PAUSECONTROL 메소드를 첨부하겠습니다. 이를 위해 재생 버튼을 선택하고 검사관 창의 onclick () 속성 아래에서 Uimanager 게임 객체를 게임 객체 공간으로 드래그 할 수 있습니다. Uimanager 게임 객체가 추가되면 이제 두 번째 드롭 다운을 사용하여 PAUSECONTROL 기능 (UIMANAGER-> PAUSECONTROL)을 선택할 수 있습니다. 동일한 단계를 사용하여 Reload () 메소드를 다시 시작 버튼에 추가하고 LoadLevel () 메소드를 기본 메뉴 버튼에 추가 할 수 있습니다. loadlevel () 메소드는 문자열 매개 변수를 가져 오므로 함수 드롭 다운 아래 상자에 "mainmenu"를 입력해야합니다.

우리가 지금 플레이를 치면 재생 및 재시작 버튼이 작동한다는 것을 알게 될 것입니다. 또한 게임이 플레이하는 동안 P를 때리면 게임을 잠시 멈추고 촉진 할 수 있습니다. 유일한 문제는 기본 메뉴 버튼이 작동하지 않는다는 것입니다. 빌드 설정에 "MainMenu"라는 장면을 추가하지 않았기 때문입니다. 메인 메뉴 제작 장면 장면 생성 플레이 장면에서 일시 정지 메뉴를 사용하면 이제 게임의 기본 메뉴 역할을하는 새로운 장면을 만들 수 있습니다. 우리가 만든 메인 메뉴는 단순하고 플레이어를 플레이 장면으로 데려 갈 재생 버튼 만 포함합니다. 먼저, 우리는 새로운 장면을 저장하여 새로운 장면을 저장하여 새 장면을 열 때 우리가 한 작업이 삭제되지 않도록해야합니다. 새 장면을 만들어 봅시다 (명령 / ctrl n 또는 파일 -> 새 장면). 장면이 열리면 저장하고“mainmenu”라고 이름을 지정합니다.
GameObject<span>[] pauseObjects;
</span>
	<span>// Use this for initialization
</span>	<span>void Start () {
</span>		Time<span>.timeScale = 1;
</span>		pauseObjects <span>= GameObject.FindGameObjectsWithTag("ShowOnPause");
</span>		<span>hidePaused();
</span>	<span>}
</span>
	<span>// Update is called once per frame
</span>	<span>void Update () {
</span>
		<span>//uses the p button to pause and unpause the game
</span>		<span>if(Input.GetKeyDown(KeyCode.P))
</span>		<span>{
</span>			<span>if(Time.timeScale == 1)
</span>			<span>{
</span>				Time<span>.timeScale = 0;
</span>				<span>showPaused();
</span>			<span>} else if (Time.timeScale == 0){
</span>				Debug<span>.Log ("high");
</span>				Time<span>.timeScale = 1;
</span>				<span>hidePaused();
</span>			<span>}
</span>		<span>}
</span>	<span>}
</span>

	<span>//Reloads the Level
</span>	public <span>void Reload(){
</span>		Application<span>.LoadLevel(Application.loadedLevel);
</span>	<span>}
</span>
	<span>//controls the pausing of the scene
</span>	public <span>void pauseControl(){
</span>			<span>if(Time.timeScale == 1)
</span>			<span>{
</span>				Time<span>.timeScale = 0;
</span>				<span>showPaused();
</span>			<span>} else if (Time.timeScale == 0){
</span>				Time<span>.timeScale = 1;
</span>				<span>hidePaused();
</span>			<span>}
</span>	<span>}
</span>
	<span>//shows objects with ShowOnPause tag
</span>	public <span>void showPaused(){
</span>		<span>foreach(GameObject g in pauseObjects){
</span>			g<span>.SetActive(true);
</span>		<span>}
</span>	<span>}
</span>
	<span>//hides objects with ShowOnPause tag
</span>	public <span>void hidePaused(){
</span>		<span>foreach(GameObject g in pauseObjects){
</span>			g<span>.SetActive(false);
</span>		<span>}
</span>	<span>}
</span>
	<span>//loads inputted level
</span>	public <span>void LoadLevel(string level){
</span>		Application<span>.LoadLevel(level);
</span>	<span>}
</span>

참고 : 우리는 그것을 "MainMenu"이름 지정하고 있습니다. 왜냐하면 그것은 플레이 장면에서 기본 메뉴 버튼을 설정하는 문자열 속성이기 때문입니다. 다른 이름을 원한다면 재생 장면에서 기본 메뉴 버튼에 첨부 된 loadlevel () 함수의 문자열 속성을 변경할 수 있습니다. 메뉴 생성 이제 장면이 저장되었으므로 우리는 작업을 시작할 수 있습니다. 메인 카메라 게임 객체를 선택하고 플레이 장면과 같은 색상으로 배경을 변경하여 시작하겠습니다 (r : 0, g : 223, b : 255). 이 장면의 경우 uimanager 스크립트 내부의 loadlevel () 메소드에 액세스 할 수 있어야합니다. 즉, Uimanager 게임 객체를 생성하고 Uimanager 스크립트를 첨부하여 기능을 버튼에 추가 할 수 있습니다. 빈 게임 객체를 만들어 봅시다 (계층 구조에서 마우스 오른쪽 버튼 -> 비어 있음). 이제 Uimanager 게임 객체에 Uimanager 스크립트를 추가 할 수 있습니다. "Dodger"라는 텍스트와 재생 버튼이 포함 된 간단한 메뉴를 만들 수 있습니다. 우리는 텍스트를 만들고 (계층 구조 -> ui-> 텍스트에서 마우스 오른쪽 버튼을 클릭) "titletext"를 명명하는 것으로 시작합니다. 우리는 텍스트를“다저”라고 말하고 화면 중앙에 정렬하여 상단을 조금씩 정렬해야합니다. 이제 제목 텍스트의 색상을 흰색으로 설정하겠습니다. 텍스트를 작성하고 편집 한 상태에서 새 버튼을 만들고 "PlayButton"이름을 지정할 수 있습니다. Play Button의 자식 객체의 텍스트를 "Play"로 변경해야합니다. 마지막으로 uimanager 게임 객체를 버튼의 onclick () 속성에 추가하고 loadlevel () 함수를 선택하겠습니다. loadLevel () 함수의 매개 변수는 마지막 자습서에서 재생 장면의 이름이 무엇인지에 따라 다릅니다. 자산 창에서 장면을 찾아서 플레이 장면의 이름을 찾을 수 있습니다.

게임을 실행하고 재생 버튼을 누르면 버튼이 작동하지 않는다는 것을 알 수 있습니다. 그 이유는 기본 메뉴 버튼이 플레이 장면에서 작동하지 않았을 때와 동일합니다. 우리는 메인 메누 장면을 빌드 설정에 추가하지 않았습니다. 빌드 설정에 현재 장면을 추가하려면 빌드 설정 (파일 -> 빌드 설정)을 열고 현재 추가를 클릭 할 수 있습니다. 게임 마무리 게임이 "완성"으로 간주 되려면 플레이어가 잃어버린시기를 알 수 있도록 화면 오버 화면이 있어야합니다. 우리는 또한 게임에 스코어 카운터를 추가 할 것이므로 플레이어는 그들이 얼마나 높은 점수를 얻었는지 알 것입니다.

점수 추가

우리는 현재 장면을 저장하고 플레이 장면을 열어야합니다. 플레이 장면이 열리면 텍스트 객체를 만들고 "scoretext"라는 이름을 지정할 수 있습니다. 스코어 텍스트 객체는 화면 상단에 정렬되어야합니다. 스코어 텍스트 객체를 선택한 상태에서 우리는 퇴근 속성을보고 앵커 메뉴를 클릭하여 상단 스트레치 앵커를 추가 할 수 있습니다. 우리는 또한 텍스트를 중심으로하고 흰색으로 만들어야합니다.

점수를 업데이트하는 데 사용할 조건은 화면이 꺼진 블록입니다 (플레이어가 이미 피한 블록). 이 조건이 활성화 되려면 블록의 충돌 화면을 확인하고 점수의 변수를 증가시켜야합니다. 빈 게임 객체를 만들어“bottomborder”로 이름을 지어 봅시다. BoxCollider2D를 하단 테두리에 추가하고 X 크기를 카메라의 경계를 약간 지나갈 수있는 많은 숫자로 설정합니다. 이제 하단 테두리 객체에 Rididbody2D를 추가하고 하단 테두리 객체가 떨어지지 않도록 중력 스케일 속성을 0으로 설정할 수 있습니다. 우리는 플레이어가 화면을 벗어나도록 플레이어 아래에 약간 아래쪽 테두리 객체를 정렬 할 수 있습니다.

플레이어의 점수를 설정하려면 새 스크립트를 만들어야합니다. 스크립트 폴더 내부에서 "PointCounter"라는 새 C# 스크립트를 작성하겠습니다. PointCounter 스크립트가 만들어지면 IDE에서 열 수 있으며 다음과 같은 유형을 열 수 있습니다.

PointCounter 스크립트는 하단 테두리 게임 객체에 추가되어 블록이 충돌하면 블록이 파괴되고 점수가 업데이트됩니다. 이제 점수 텍스트를 업데이트하는 "PointUpdater"라는 스크립트를 작성하겠습니다. IDE에서 PointupDater 스크립트를 열 수 있으며 다음을 입력 할 수 있습니다.

우리는 점수 텍스트 게임 객체에 pointupdater 스크립트를 추가해야합니다. 하단 테두리 게임 객체는 점수를 업데이트 할 수 있도록 포인트 카운터 값에 추가해야합니다. 메뉴 오버 게임 만들기 게임을 끝내려면 플레이어가 죽었을 때 나타날 게임 오버 메뉴를 추가해야합니다.

GameObject<span>[] pauseObjects;
</span>
	<span>// Use this for initialization
</span>	<span>void Start () {
</span>		Time<span>.timeScale = 1;
</span>		pauseObjects <span>= GameObject.FindGameObjectsWithTag("ShowOnPause");
</span>		<span>hidePaused();
</span>	<span>}
</span>
	<span>// Update is called once per frame
</span>	<span>void Update () {
</span>
		<span>//uses the p button to pause and unpause the game
</span>		<span>if(Input.GetKeyDown(KeyCode.P))
</span>		<span>{
</span>			<span>if(Time.timeScale == 1)
</span>			<span>{
</span>				Time<span>.timeScale = 0;
</span>				<span>showPaused();
</span>			<span>} else if (Time.timeScale == 0){
</span>				Debug<span>.Log ("high");
</span>				Time<span>.timeScale = 1;
</span>				<span>hidePaused();
</span>			<span>}
</span>		<span>}
</span>	<span>}
</span>

	<span>//Reloads the Level
</span>	public <span>void Reload(){
</span>		Application<span>.LoadLevel(Application.loadedLevel);
</span>	<span>}
</span>
	<span>//controls the pausing of the scene
</span>	public <span>void pauseControl(){
</span>			<span>if(Time.timeScale == 1)
</span>			<span>{
</span>				Time<span>.timeScale = 0;
</span>				<span>showPaused();
</span>			<span>} else if (Time.timeScale == 0){
</span>				Time<span>.timeScale = 1;
</span>				<span>hidePaused();
</span>			<span>}
</span>	<span>}
</span>
	<span>//shows objects with ShowOnPause tag
</span>	public <span>void showPaused(){
</span>		<span>foreach(GameObject g in pauseObjects){
</span>			g<span>.SetActive(true);
</span>		<span>}
</span>	<span>}
</span>
	<span>//hides objects with ShowOnPause tag
</span>	public <span>void hidePaused(){
</span>		<span>foreach(GameObject g in pauseObjects){
</span>			g<span>.SetActive(false);
</span>		<span>}
</span>	<span>}
</span>
	<span>//loads inputted level
</span>	public <span>void LoadLevel(string level){
</span>		Application<span>.LoadLevel(level);
</span>	<span>}
</span>
IDE에서 PlayerController 스크립트를 열어 마지막 변수 선언 아래에 추가 :

EnemyController 스크립트 내부를 추가하겠습니다 :

메뉴를 시작하려면 새 텍스트 게임 객체를 만들어 "GameOverText"로 이름을 지정할 수 있습니다. 텍스트는 "게임 오버"로 설정되어야하며 텍스트 색상은 흰색이어야합니다. 화면 중앙 위에 텍스트를 위에 게임을 정렬해야합니다. 이 메뉴가 플레이어가 죽었을 때만 나타나는지 확인하려면 "showonfinish"라는 새 태그를 만들어 텍스트를 통해 게임에 추가해야합니다. 이제 다시 시작하고 기본 메뉴 버튼을 복제 해 봅시다. 버튼의 이름을 "FinRestartButon"및 "Finmainmenubutton"으로 바꾸고 ShowonFinish 태그를 두 버튼에 추가해야합니다. 마지막으로, 우리의 IDE에서 Uimanager 스크립트를 열고 아래 코드처럼 보이도록 편집합시다.

public <span>int score;
</span>
	<span>// Use this for initialization
</span>	<span>void Start () {
</span>		score <span>= 0;
</span>	<span>}
</span>
	<span>// Update is called once per frame
</span>	<span>void Update () {
</span>
	<span>}
</span>
	<span>//checks for entering a trigger
</span>	<span>void OnTriggerEnter2D(Collider2D other){
</span>		<span>//checks other collider's tag
</span>		<span>if(other.gameObject.tag == "Enemy"){
</span>			score<span>++;								//increments score
</span>			<span>Destroy (other.gameObject);				//destroys other collider's gameobject
</span>		<span>}
</span>	<span>}
</span>

결론 우리는 이제 게임에 간단한 UI를 추가했습니다. 플레이어는 이제 버튼을 사용하여 두 장면을 이동할 수 있습니다. 우리는 또한 모듈 식 Unity 개발 및 건식 코딩 (자체적으로 반복하지 않음)에 대한 경험을 얻었습니다. 우리가 점수 텍스트를 만든 방식은 재활용 가능하도록 Unity 코드를 어떻게 분할 해야하는지에 대한 좋은 예입니다.

질문? 댓글? 아래에 두십시오! 완성 된 프로젝트는 github에서 다운로드 할 수 있습니다 일시 중지, 메인 메뉴 및 게임 오버 화면 추가에 대한 자주 묻는 질문 (FAQ) Unity에서 일시 정지 버튼을 추가 할 수 있습니까?

Unity에서 일시 정지 버튼을 추가하려면 UI 버튼을 만들고 게임의 시간 규모를 제어하는 ​​스크립트를 첨부하는 것과 관련이 있습니다. 시간 규모는 게임 시간이 진행되는 속도에 영향을 미치는 글로벌 승수입니다. 0으로 설정하면 효과적으로 게임을 일시 중지합니다. 일시 정지 버튼에 첨부 된 스크립트에는 버튼을 클릭 할 때 1 (정상 속도)과 0 (일시 정지) 사이의 시간 스케일을 토글하는 함수가 포함되어야합니다. Unity에서 기본 메뉴를 만드는 것은 메뉴 역할을하는 새로운 장면을 만드는 것이 포함됩니다. 이 장면에는 플레이어가 게임을 시작하거나 설정을 조정하거나 종료 할 수있는 버튼과 같은 UI 요소가 포함되어야합니다. 각 버튼에는 클릭하면 적절한 작업을 수행하는 스크립트가 첨부되어 있어야합니다. 예를 들어, 시작 버튼의 스크립트가 게임 장면을로드 할 수 있지만 Quit 버튼의 스크립트가 응용 프로그램을 닫을 수 있습니다.

단일의 화면 오버 화면을 추가 할 수 있습니까?

게임 추가 Unity의 화면은 기본 메뉴 추가와 유사합니다. 게임을 다시 시작하거나 기본 메뉴로 돌아가는 등 플레이어에게 옵션을 제공하는 UI 요소가있는 게임 오버 화면 역할을하는 새로운 장면을 만들어야합니다. 이러한 요소는 클릭 할 때 적절한 동작을 수행하는 스크립트를 첨부해야합니다.

Unity의 장면 사이를 어떻게 전환 할 수 있습니까?

Unity에서 장면 사이의 전환은 SceneManager 클래스를 사용하여 달성 할 수 있습니다. 이 클래스는 장면을로드 및 언로드하는 기능뿐만 아니라 현재 장면에 대한 정보를 쿼리하는 기능을 제공합니다. 새 장면으로 전환하려면로드하려는 장면의 이름 또는 색인을 전달하는 Scen UNITY는 UI 요소의 모양을 사용자 정의하기위한 다양한 옵션을 제공합니다. Unity 편집기에서 직접 색상, 크기 및 위치와 같은 속성을 조정할 수 있습니다. 보다 고급 사용자 정의를 위해서는 UI 시스템의 강력한 애니메이션 기능을 사용하거나 기존 클래스를 확장하여 고유 한 사용자 정의 UI 구성 요소를 만들 수도 있습니다.

UI 요소에 UI 요소에 음향 효과를 추가 할 수 있습니까?

UI 요소에 음향 효과 추가는 오디오 소스 구성 요소를 요소에 연결하고 요소가 상호 작용할 때 사운드를 재생하도록 구성하여 달성 할 수 있습니다. 와 함께. 예를 들어, 눌렀을 때 클릭 사운드를 재생하도록 버튼을 구성 할 수 있습니다. UI가 다른 화면 크기에 대해 UNITY에 응답 할 수있는 방법?

UNITY의 UI 시스템에는 캔버스 스케일러 (Canvas Scaler)라는 기능이 포함되어있어 스케일 크기를 스케일링하고 조정하는 UI를 쉽게 만들 수 있습니다. Canvas Scaler의 UI 스케일 모드를 "화면 크기로 스케일"으로 설정하면 UI 요소가 다른 장치에서 일관된 크기와 레이아웃을 유지하도록 할 수 있습니다.

UI를 어떻게 UNITY에서 테스트 할 수 있습니까?

UI 테스트 UNITY는 Unity 편집기에서 직접 수행 할 수 있습니다. 게임보기는 UI 요소를 포함하여 게임의 실시간 미리보기를 제공합니다. 플레이어가 실제 게임에서와 마찬가지로 게임보기에서 UI와 상호 작용할 수있어 기능을 테스트하고 모든 문제를 확인할 수 있습니다.

UNITY의 성능을 위해 UI를 최적화 할 수 있습니까?

UNITY의 성능을 위해 UI를 최적화하면 복잡한 그래픽 사용을 최소화하고 불필요한 업데이트를 피하고 Canvas Scaler를 사용하여 하위 엔드 장치에서 UI의 해상도. Unity의 프로파일 러 도구는 UI에서 성능 병목 현상을 식별하는 데 유용한 리소스가 될 수 있습니다.

Unity의 UI 시스템에 대해 더 많이 배울 수 있습니까?

Unity는 자습서를 포함한 UI 시스템에 대한 광범위한 문서를 제공합니다. API 참조 및 모범 사례. 또한 Unity Forums, Stack Overflow 및 다양한 튜토리얼 웹 사이트와 같은 다른 Unity 개발자로부터 배울 수있는 많은 온라인 커뮤니티와 리소스가 있습니다.

위 내용은 일시 중지, 메인 메뉴 및 게임 오버 화면 추가 Unity의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
GO와 함께 네트워크 취약성 스캐너 구축GO와 함께 네트워크 취약성 스캐너 구축Apr 01, 2025 am 08:27 AM

이 GO 기반 네트워크 취약점 스캐너는 잠재적 보안 약점을 효율적으로 식별합니다. 속도를 위해 Go의 동시성 기능을 활용하고 서비스 감지 및 취약성 일치를 포함합니다. 그 능력과 윤리를 탐색합시다

2025 년 최고의 무료 백 링크 체커 도구2025 년 최고의 무료 백 링크 체커 도구Mar 21, 2025 am 08:28 AM

웹 사이트 구성은 첫 번째 단계입니다 : SEO 및 백 링크의 중요성 웹 사이트 구축은 웹 사이트를 귀중한 마케팅 자산으로 전환하는 첫 번째 단계 일뿐입니다. 검색 엔진에서 웹 사이트의 가시성을 향상시키고 잠재 고객을 유치하려면 SEO 최적화를 수행해야합니다. 백 링크는 웹 사이트 순위를 향상시키는 열쇠이며 Google 및 기타 검색 엔진에 웹 사이트의 권한 및 신뢰성을 보여줍니다. 모든 백 링크가 유리한 것은 아닙니다. 유해한 링크를 식별하고 피하십시오. 모든 백 링크가 유익한 것은 아닙니다. 유해한 링크는 순위에 해를 끼칠 수 있습니다. 우수한 무료 백 링크 확인 도구는 웹 사이트 링크 소스를 모니터링하고 유해한 링크를 상기시킵니다. 또한 경쟁 업체의 링크 전략을 분석하고 배울 수도 있습니다. 무료 백 링크 점검 도구 : SEO 인텔리전스 책임자

Baidu의 다른 국가 제품은 Deepseek과 연결되어 있습니까?Baidu의 다른 국가 제품은 Deepseek과 연결되어 있습니까?Mar 12, 2025 pm 01:48 PM

DeepSeek-R1은 Baidu Library 및 NetDisk에 권한을 부여합니다. 심도있는 사고와 행동의 완벽한 통합은 단 한 달 만에 많은 플랫폼에 빠르게 통합되었습니다. 대담한 전략적 레이아웃을 통해 Baidu는 DeepSeek을 타사 모델 파트너로 통합하여이를 생태계에 통합하여 "큰 모델 검색"생태 전략의 주요 진전을 나타냅니다. Baidu Search 및 Wenxin Intelligent Intelligent 플랫폼은 DeepSeek 및 Wenxin Big Model의 깊은 검색 기능에 처음으로 연결하여 사용자에게 무료 AI 검색 경험을 제공합니다. 동시에 "Baidu로 갈 때 알게 될 것입니다"라는 클래식 슬로건과 새로운 버전의 Baidu 앱은 Wenxin의 큰 모델과 DeepSeek의 기능을 통합하여 "AI Search"및 "Wide Network Information Refinement"를 시작합니다.

Deepseek에 대한 첫 번째 안드로이드 액세스 뒤에 : 여성의 힘보기Deepseek에 대한 첫 번째 안드로이드 액세스 뒤에 : 여성의 힘보기Mar 12, 2025 pm 12:27 PM

AI 분야에서 중국 여성 기술력의 부상 : 기술 분야에 대한 Deepseek 여성의 기여와의 명예의 협력에 대한 이야기는 점점 더 중요 해지고 있습니다. 중국 과학 기술부의 데이터에 따르면 여성 과학 기술 노동자의 수는 거대하며 AI 알고리즘 개발에서 독특한 사회적 가치 민감도를 보여줍니다. 이 기사는 명예 휴대폰에 중점을두고 DeepSeek Big Model에 처음 연결 한 여성 팀의 강점을 탐구하여 기술 발전을 촉진하고 기술 개발의 가치 좌표 시스템을 재구성 할 수있는 방법을 보여줍니다. 2024 년 2 월 8 일, Honor는 공식적으로 DeepSeek-R1 전혈 버전 Big Model을 출시하여 Android 캠프에서 최초의 제조업체가되어 DeepSeek에 연결하여 사용자의 열정적 인 응답을 불러 일으켰습니다. 이 성공 뒤에 여성 팀원은 제품 결정, 기술 혁신 및 사용자를 만들고 있습니다.

DeepSeek의 '놀라운'이익 : 이론적 이익 마진은 545%정도입니다!DeepSeek의 '놀라운'이익 : 이론적 이익 마진은 545%정도입니다!Mar 12, 2025 pm 12:21 PM

DeepSeek은 Zhihu에 대한 기술 기사를 발표하여 DeepSeek-V3/R1 추론 시스템을 자세히 소개하고 처음으로 주요 재무 데이터를 공개하여 업계의 관심을 끌었습니다. 이 기사는 시스템의 일일 비용 이익 마진이 545%로 높아 글로벌 AI Big Model 이익이 새로운 것으로 나타났습니다. DeepSeek의 저렴한 전략은 시장 경쟁에서 이점을 제공합니다. 모델 교육 비용은 유사한 제품의 1% -5%에 불과하며 V3 모델 교육 비용은 경쟁 업체의 비용보다 훨씬 낮으며 V3 모델 교육 비용은 5 억 5,760 만 달러에 불과합니다. 한편, R1의 API 가격은 Openaio3-Mini의 1/7에서 1/2에 불과합니다. 이 데이터는 DeepSeek 기술 경로의 상업적 타당성을 입증하고 AI 모델의 효율적인 수익성을 확립합니다.

Midea는 첫 번째 Deepseek 에어컨을 시작합니다. AI 음성 상호 작용은 40 만 명령을 달성 할 수 있습니다!Midea는 첫 번째 Deepseek 에어컨을 시작합니다. AI 음성 상호 작용은 40 만 명령을 달성 할 수 있습니다!Mar 12, 2025 pm 12:18 PM

MIDEA는 곧 Deepseek Big Model -Midea Fresh and Clean Air Machine T6을 갖춘 최초의 에어컨을 출시 할 예정입니다. 이 에어컨에는 고급 공기 지능형 주행 시스템이 장착되어있어 환경에 따라 온도, 습도 및 풍속과 같은 매개 변수를 지능적으로 조정할 수 있습니다. 더 중요한 것은 DeepSeek Big 모델을 통합하고 400,000 개 이상의 AI 음성 명령을 지원합니다. Midea의 움직임은 업계에서 격렬한 토론을 일으켰으며 특히 백색 제품과 대형 모델을 결합하는 중요성에 대해 우려하고 있습니다. 전통적인 에어컨의 간단한 온도 설정과 달리 MIDEA Fresh and Clean Air Machine T6은 가정 환경에 따라보다 복잡하고 모호한 지침을 이해하고 습도를 지능적으로 조정하여 사용자 경험을 크게 향상시킬 수 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음