Skip to content
Snippets Groups Projects
Commit c92c2213 authored by dyddnrdl3@naver.com's avatar dyddnrdl3@naver.com
Browse files

add minor contents and fix

parent 9c071910
No related branches found
No related tags found
No related merge requests found
# Phaser 3 Camera
......@@ -21,7 +21,7 @@ Phaser의 Scene은 크게 다음의 세 가지 상태로 이루어져 있습니
---
## 왜 **preload**에서 리소스를 불러오고 **create**에서 게임 오브젝트를 생성하나요??
왜 제가 위에서 **preload**에서 리소스를 불러오고 **create**에서 게임 오브젝트를 생성하는지 궁금하실 수도 있습니다. 만약 Preload에서 특히 이미지와 관련된 게임 오브젝트인 Sprite나 다른 오브젝트를 생성해보면 문제가 발생하는 것을 보실 수 있을 것입니다. 이는, Phaser가 JavaScript를 기반으로 하고 있는데, 이 떄문에 리소스를 비동기적으로 불러오기 때문입니다. 그렇기에, 이러한 비동기적 실행으로 인한 문제를 방지하고자 **preload** 이후에 게임 오브젝트 생성을 추천드렸습니다 하지만 이는 필수가 아니며, 공식적인 내용은 아닐수 있습니다..
왜 제가 위에서 **preload**에서 리소스를 불러오고 **create**에서 게임 오브젝트를 생성하는지 궁금하실 수도 있습니다. 만약 Preload에서 특히 이미지와 관련된 게임 오브젝트인 Sprite나 다른 오브젝트를 생성해보면 문제가 발생하는 것을 보실 수 있을 것입니다. 이는, Phaser가 JavaScript를 기반으로 하고 있는데, 이 떄문에 리소스를 비동기적으로 불러오기 때문입니다. 그렇기에, 이러한 비동기적 실행으로 인한 문제를 방지하고자 **preload** 이후에 게임 오브젝트 생성을 추천드렸습니다 하지만 이는 필수가 아니며, 공식적인 내용은 아닐수 있습니다.
---
## update의 주기를 바꿀 수는 없나요?
......@@ -37,4 +37,4 @@ Phaser의 Scene은 크게 다음의 세 가지 상태로 이루어져 있습니
}
</code></pre>
위의 코드는 **update**가 기존 실행 횟수의 절반으로 실행 횟수를 줄입니다, 만약 당신이 만든 Phaser 게임에서 **update**를 초당 60회 실행 하였었다면, 위의 코드를 통해 초당 30회로 줄일 수 있습니다. 하지만 이를 증가시킬 수는 없습니다.
\ No newline at end of file
위의 코드는 **update**가 기존 실행 횟수의 절반으로 실행 횟수를 줄입니다. 예를 들어, 기존의 Phaser 게임에서 **update**를 초당 60회 실행 하였었다면, 위의 코드를 통해 초당 30회로 줄일 수 있습니다. 하지만 이를 증가시킬 수는 없습니다.
\ No newline at end of file
......@@ -9,3 +9,7 @@ If you searched about it before, then you would see many comments saying that **
---
## physics world comparison: **arcade** vs **matter**
From above, you may think 'why should we even consider about **matter** while it just wastes more memory thatn **arcade**?'. One of ther answer is that **matter** has more natural physic engine than **arcade** like complex shapes or chain of bodies. So, if you try to make game with high-level physics, you should use **matter** or mix it with **arcade**.
---
## Is there any way for making 3D game?
**arccade** and **matter** is basically for 2D games. If you check Phaser 3 API docs, you will see that game objects in both physics have function ```setVelocity(x [, y])```. And as you see, there is only x-axis and y-axis which means it really wasn't designed for 3D-game. You can use 3D camera plugin for Phaser 3 but there is high possibility that it doesn't work as you wanted. But, there is awesome extension [**enable3D**](https://github.com/enable3d/enable3d) for making 3D Phaser game
\ No newline at end of file
......@@ -7,5 +7,9 @@ Phaser에는 세 가지의 물리 엔진이 있습니다. **arcade**, **matter**
만약 이에 대해서 찾아보신 적이 있다면 **arcade**가 간단한 게임에 더 적합하다는 내용을 찾아보실 수 있을 것입니다. 물론, 이는 맞는 얘기입니다. **matter**는 보다 복잡하고 세밀한 물리 세계를 구현할 수 있고, 이는 보다 많은 메모리의 사용을 요구합니다. 그렇기에 똑같이 간단한 게임을 만들었더라도 **matter** 물리 엔진은 기본적으로 **arcade** 물리 엔진 보다 많은 메모리의 사용을 요구합니다. 이에 대해서 많은 토론과 내용이 있으며, 이 토론이 도움이 될 수 있습니다: https://phaser.discourse.group/t/arcade-vs-matterjs-performance/7218.
---
## 물리 세계 비교: **arcade** vs **matter**
## 물리 엔진 비교: **arcade** vs **matter**
위의 내용만 본다면 **matter****arcade**보다 많은 메모리를 소비하는데 굳이 쓸 필요가 있을까 하는 의문이 생길 수 있습니다. 그 대답 중 하나는 **matter****arcade** 보다 복잡한 오브젝트 body나 그들의 체인을 통한 연결 등 훨씬 복잡하고 다양한 물리 세계를 구현할 수 있다는 것입니다. 그러므로, 보다 복잡한 물리 세계를 구현하고 싶으시다면 **matter**를 사용하거나 **arcade**와 혼합하여 사용하실 수 있습니다.
---
## 3D 게임을 만들 방법은 없을까요?
**arccade****matter** 물리 엔진은 기본적으로 2D 게임 개발에 초점이 맞춰져있습니다. Phaser 3 공식 API 문서를 확인해본 다면, 두 물리 엔진에 속한 오브젝트들이 ```setVelocity(x [, y])``` 함수를 갖고 있음을 볼 수 있습니다. 보시다시피, x축과 y축에 대한 값만 이용하고 있습니다. 즉, 3D 환경에서의 개발을 고려하지 않았다고 볼 수도 있습니다. 물론 방법이 아예 없는 것은 아닙니다. 3D 카메라 플러그인을 활용할 수도 있으나, 원하는 것을 만들기에는 부적합할 확률이 높습니다. 하지만 [**enable3D**](https://github.com/enable3d/enable3d)라는 Phaser 3 3D 게임 개발을 위한 활용성 좋은 extension이 있습니다.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment