경험 최적화

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.


경험 최적화 는 메모리 및 그래픽 처리 유닛(GPU) 제한이 있는 장치에서 프레임 속도와 성능 수준을 높이기 위해 자산과 Studio 설정을 구성하는 프로세스입니다.이 프로세스는 거의 모든 사용자가 환경을 보는 동안 동일한 게임 플레이와 시각적 경험을 갖도록 합니다.

환경 아트의 환경 아트 - 최적화 파일을 참조로 사용하여 이 환경 아트 커리큘럼의 이 섹션은 최적의 그래픽을 위해 장소 파일을 검토하고 구성하는 방법을 보여줍니다. 포함:

  • 각 자산의 물리 및 렌더링 매개 변수를 검토하여 메모리와 엔진 성능을 유지하는지 확인합니다.
  • Roblox 엔진이 자산을 렌더링하기 위해 수행해야 하는 계산 수를 불필요하게 늘리는 과도한 텍스처, 기하 구조 또는 투명도를 제거합니다.

Roblox 엔진이 대부분의 최적화 작업을 처리하지만, 마이크로프로파일러를 사용하여 특정 프레임을 렌더링하는 데 더 많은 시간이 걸리는 위치를 확인함으로써 이러한 최적화 노력을 도울 수 있습니다.이 정보를 사용하여 파라미터나 과도한 콘텐츠에 관해 어떤 자산이 필요한지에 대한 정보 기반 결정을 내릴 수 있습니다.

물리 및 렌더링 매개 변수 검토

In 자산 라이브러리 조립에서 메모리 및 GPU 제한으로 인해 자산이 시각적 품질을 유지할 수 있는 물리 및 렌더링 매개변수를 설정하는 것이 얼마나 중요한지 배웠습니다.그러나 환경을 구성하여 자산의 컨텍스트 위치와 경험 내 목적에 따라 이러한 매개변수를 조정하는 것이 일반적입니다.예를 들어, 최종 샘플 레이저 태그 환경의 잡초 대부분은 성능 비용에도 불구하고 환경의 현실감을 높이기 때문에 그림자를 던진다.

물리 및 렌더링 매개변수를 수정하면 개발 프로세스 끝부분에서 모든 매개변수를 검토하여 아름다움 목표와 게임플레이 요구 사항을 유지하면서 매개변수를 최적화할 수 있는 위치를 확인할 수 있습니다.설명을 위해, 게임플레이 영역의 가장자리에 있는 잡초의 BasePart.CastShadow 속성을 비활성화하여 사용자의 게임플레이나 시각적 경험에 영향을 주지 않고 성능을 저장할 수 있습니다.

An outdoor view of the sample laser tag experience that casts shadows.
BasePart.CastShadow = 비활성화됨
An outdoor view of the sample laser tag experience that doesn't cast shadows. There is almost no difference in this view, but it improves performance.
BasePart.CastShadow = 활성화됨

불필요한 콘텐츠 제거

물리 및 렌더링 매개변수를 검토한 후에는 게임플레이에 영향을 주지 않는 경험의 비필수 콘텐츠를 확인하기 위해 자산 자체를 검토할 수 있습니다. 예를 들어, 동일한 텍스처와 다른 자산ID, 복잡한 기하 구조 또는 카메라 뷰에 따라 서로 겹치는 투명도와 같이 게임플레이에 영향을 주지 않는 경험의 비필수 콘텐츠를 확인할 수 있습니다.다음 섹션에서는 이 콘텐츠를 검토하기 위해 수행할 수 있는 작업과 이러한 작업이 최적화 노력에 도움이 되는 이유를 자세히 설명합니다.

중복 텍스처 제거

자산을 개발하고 환경을 구축하는 것 사이에서 전환할 때, 시각적 목표나 게임플레이 요구 사항에 필요한 것을 찾기 위해 메쉬나 텍스처를 반복하는 것이 일반적입니다.자산을 패키지로 변환하지 않으면, 이러한 반복을 Studio에 가져올 때 Roblox 엔진이 환경 내에서 자산을 렌더링할 때 참조해야 하는 고유한 자산ID를 만들게 됩니다.

예를 들어, 스튜디오에 다음 두 소방 하이드런트 메쉬를 별도로 가져오면, 외관이 동일하더라도 Roblox 엔진은 그것들을 고유한 자산ID를 가진 두 개의 개체로 처리합니다.엔진에서 만들어야 하는 고유한 호출이 많을수록 메모리와 성능에 더 큰 영향을 줍니다.이러한 이유로, 자산을 여러 번 재사용할 때 각 인스턴스에서 동일한 자산ID를 사용하여 엔진이 단일 호출만 수행하여 반복적으로 렌더링할 필요가 없도록 해야 합니다.

Two of the exact same fire hydrant with unique assetIDs. There is no visual difference but the duplicate assetIDs negatively impacts performance.

기하 최적화

프레임 속도를 증가시키기 위해 장치 간에 더 많은 조정이 필요하다는 것을 발견하면, 다음 중 하나로 기하 구조를 최적화할 수 있는 위치를 확인하는 것이 유용합니다.

  • 메쉬 그룹을 단일 자산으로 결합합니다.
  • 기하 복잡성을 가진 자산의 폴리곤 수 감소.

이 첫 번째 기술을 확장하면, 경험의 모든 고유 자산은 GPU에 신호를 보내 Roblox 엔진이 자산을 올바르게 렌더링하도록 정보를 호출하기 위한 드로잉 호출을 나타냅니다.더 독특한 자산을 보유할수록 시스템에서 수행해야 하는 드로우 호출이 더 많아집니다.이러한 이유로 경험에서 더 큰 구성 요소를 구성하는 메쉬 그룹이 있는 경우 제3자 모델링 도구에서 그들을 함께 그룹화하여 여러 드로우 호출의 필요성을 줄일 수 있습니다.

이 점을 설명하기 위해 최종 샘플 레이저 태그 환경은 건물 외부의 큰 타워를 만들기 위해 여러 부품과 메쉬를 함께 합성합니다.이러한 모든 개별 구성 요소를 함께 결합하면 단일 자산으로 만들고 8개에서 1개로 드로우 호출 수를 줄일 수 있습니다.그러나 이 기술은 위치나 재료와 같은 각 구성 요소의 시각적 및 물리적 특성을 자유롭게 변경할 수 있는 능력을 제거한다는 점에 유의해야 합니다.

예를 들어, 다음 이미지에서 왼쪽 타워는 하나의 Model 개체에 여러 자산으로 남아 있고, 오른쪽 타워는 단일 자산입니다.왼쪽 타워의 각 구성 요소를 개별적으로 수정할 수 있지만, 오른쪽 타워를 변경하여 색상을 검정으로 변경하면 전체 개체에 영향을 줍니다.따라서 환경 개발의 끝부분에서만 성능을 향상시킬 수 있는 위치를 알고 있을 때 이 기술만 고려하는 것이 중요합니다. 이는 외관상의 목표에 영향을 주지 않고 성능을 향상시킬 수 있는 방법을 알기 위해서입니다.

A front view of the two towers. The tower on the left includes multiple assets under a single model, while the tower on the right decreases the amount of assets by removing all texture objects.

두 번째 기술을 확장하여 기하학적 복잡성을 가진 자산에는 더 많은 곡선이 있으므로 엔진이 시각적 모양을 렌더링할 때 계산해야 하는 더 많은 변형점이 있습니다.즉, 복잡성과 신뢰성이 덜한 자산은 렌더링하는 데 비용이 적게 들어 성능과 메모리가 모두 향상됩니다.

레이어 투명도 삭제

환경에 현실감을 제공하기 위해 최종 샘플 레이저 태그 환경에는 야외 공간의 잡초, 미래적인 표지판이나 식물 난간의 유리와 같이 투명도가 다른 많은 메쉬가 포함되어 있습니다.카메라가 서로 앞뒤에 있는 반투명 개체를 여러 번 보면 Roblox 엔진은 투명한 영역을 고려하기 위해 겹치는 픽셀을 여러 번 렌더링해야 합니다.이 프로세스는 높은 투명도 오버드로잉이라고 하며 성능에 상당한 영향을 미칩니다.

예를 들어, 샘플 환경에서 식물자의 다음 보기를 고려하십시오.엔진은 카메라에 가장 가까운 식물 사이의 투명한 영역을 층에서 가장 가까운 식물로 렌더링하여 수백만 개의 과도한 픽셀을 균등화해야 합니다.이 영향을 완화하려면 환경의 모든 반투명 개체의 레이아웃을 검토하고, 특히 큰 화면 영역에서 많은 겹치는 레이어가 있는 곳이 너무 많지 않도록 확인하는 것이 중요합니다.

A Rthro avatar facing a planter with multiple plants with transparency between the leaves.
A side view of the Rthro avatar facing a planter with multiple plants with transparency between the leaves, and example layers of overdrawn pixels are highlighted to show where there is overdrawn in the environment.

모든 콘텐츠를 검토하여 모든 장치에서 최적화되었는지 확인하면 경험이 게시 준비가 완료됩니다!