Skip to content

Commit

Permalink
Merge pull request #37 from amamagi/update/v0.33.1
Browse files Browse the repository at this point in the history
update to v0.33.1
  • Loading branch information
amamagi authored Dec 2, 2021
2 parents 278d847 + a54a80e commit f6e5949
Show file tree
Hide file tree
Showing 68 changed files with 1,685 additions and 430 deletions.
2 changes: 1 addition & 1 deletion Assets/Effekseer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "com.thirdparty.effekseer",
"displayName": "Effekseer",
"version": "0.0.1",
"unity": "2019.4",
"unity": "2019.3",
"description": "",
"dependencies": { }
}
2 changes: 1 addition & 1 deletion Assets/Effekseer/package.json.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

66 changes: 29 additions & 37 deletions Assets/VCI-Official-Samples/CameraApiSample/CameraApiSample.unity
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ MonoBehaviour:
contactInformation:
reference:
thumbnail: {fileID: 0}
version: 1.0
version: 1.1
description:
exporterVersion: 0.33
specVersion:
Expand Down Expand Up @@ -456,14 +456,11 @@ MonoBehaviour:
false\r\n\r\nlocal teleButtonName = \"ButtonTele\"\r\nlocal teleButtonTransform
= vci.assets.GetTransform(teleButtonName)\r\nlocal teleButtonAnchorTransform
= vci.assets.GetTransform(\"ButtonTeleAnchor\")\r\nlocal isTeleButtonUsed =
false\r\n\r\nlocal fovStateName = \"FOV\"\r\nlocal minFov = 10\r\nlocal maxFov
= 170\r\nlocal fovStep = 2\r\n\r\nlocal nearClipStateName = \"NEAR_CLIP\"\r\n\r\nlocal
takePhotoMessageName = \"message_take_photo\"\r\n\r\nlocal previewMaterialName
= \"Display\"\r\nlocal photoMaterialName = \"Photo\"\r\n\r\nlocal isInitialized
= false\r\nlocal photographyCamera = nil\r\n\r\n-- \u30A2\u30A4\u30C6\u30E0\u5185\u540C\u671F\u5909\u6570\u3092\u521D\u671F\u5316\r\n--
* \u81EA\u8EAB\u304C\u3053\u306EVCI\u306E\u6240\u6709\u6A29\u3092\u6301\u3063\u3066\u3044\u308B\u3068\u304D\u306E\u307F\u5B9F\u884C\u3057\u307E\u3059\u3002\r\nif
vci.assets.IsMine then\r\n vci.state.Set(fovStateName, 60)\r\n vci.state.Set(nearClipStateName,
0.01)\r\nend\r\n\r\n-- \u5199\u771F\u64AE\u5F71\u6642\u306E\u30B3\u30FC\u30EB\u30D0\u30C3\u30AF\r\n--
false\r\n\r\nlocal fovStateName = \"FOV\"\r\nlocal initialFov = 60\r\nlocal
minFov = 10\r\nlocal maxFov = 170\r\nlocal fovStep = 2\r\n\r\nlocal takePhotoMessageName
= \"message_take_photo\"\r\n\r\nlocal previewMaterialName = \"Display\"\r\nlocal
photoMaterialName = \"Photo\"\r\n\r\nlocal isInitialized = false\r\nlocal photographyCamera
= nil\r\n\r\n-- \u5199\u771F\u64AE\u5F71\u6642\u306E\u30B3\u30FC\u30EB\u30D0\u30C3\u30AF\r\n--
* ExportPhotographyCamera.SetOnTakePhotoCallback\u306B\u3053\u306E\u95A2\u6570\u3092\u6E21\u3059\u3053\u3068\u3067\u3001
\r\n-- ExportPhotographyCamera.TakePhotograph\u5B9F\u884C\u6642\u306B\u3053\u306E\u95A2\u6570\u304C\u547C\u3070\u308C\u307E\u3059\u3002\r\n--
* \u5F15\u6570\u306EphotoMetadata\u306E\u4E2D\u306B\u3001\u64AE\u5F71\u3057\u305F\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u793A\u3059ID\u304C\u5165\u3063\u3066\u3044\u307E\u3059\u3002\r\n--
Expand All @@ -473,34 +470,29 @@ MonoBehaviour:
vci.assets.material.SetTexture(photoMaterialName, photoTextureId)\r\nend\r\n\r\n--
\u5199\u771F\u64AE\u5F71\u306E message \u53D7\u3051\u53D6\u308A\u6642\u306B\u5B9F\u884C\u3055\u308C\u308B\u95A2\u6570\r\n--
* \u30EA\u30E2\u30FC\u30C8\u5074\u3067\u3053\u306EVCI\u304CUse\u3055\u308C\u305F\u3068\u304D\u306B\u5B9F\u884C\u3055\u308C\u307E\u3059\r\nfunction
onTakePhotoMessageReceived(sender, name, messnilge)\r\n photographyCamera.TakePhotograph()\r\nend\r\n\r\nlocal
initCameraCoroutine = coroutine.create(\r\n function()\r\n -- \u30A2\u30A4\u30C6\u30E0\u5185\u540C\u671F\u5909\u6570\u306E\u521D\u671F\u5316\u3092\u5F85\u3064\r\n
while true do\r\n local isFovInitialized = vci.state.Get(fovStateName)
~= nil\r\n local isNearClipInitialized = vci.state.Get(nearClipStateName)
~= nil\r\n if isFovInitialized and isNearClipInitialized then\r\n
print(\"state initialized.\")\r\n break\r\n end\r\n
print(\"waiting for state init...\")\r\n coroutine.yield()\r\n
end\r\n\r\n -- \u5199\u771F\u64AE\u5F71\u7528\u30AB\u30E1\u30E9\u751F\u6210\r\n
-- * \u5199\u771F\u64AE\u5F71\u7528\u30AB\u30E1\u30E9\u304C\u751F\u6210\u3055\u308C\u3001\"LensAnchor\"\u306ETransform\u306B\u8FFD\u5F93\u3059\u308B\u3088\u3046\u306B\u306A\u308A\u307E\u3059\u3002\r\n
local lensTransform = vci.assets.GetTransform(cameraLensAnchorName)\r\n
photographyCamera = vci.cameraSystem.CreatePhotographyCamera(lensTransform)\r\n\r\n
-- \u30D7\u30EC\u30D3\u30E5\u30FC\u63CF\u753B\r\n -- * GetCameraPreviewTextureId\u3067\u30AB\u30E1\u30E9\u306E\u30D7\u30EC\u30D3\u30E5\u30FC\u306E\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u793A\u3059ID\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002\r\n
-- * \u3053\u306E\u30C6\u30AF\u30B9\u30C1\u30E3ID\u3092vci.assets.material.SetTexture\u306B\u6E21\u3059\u3053\u3068\u3067\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u8868\u793A\u3057\u307E\u3059\u3002\r\n
local previewTextureId = photographyCamera.GetCameraPreviewTextureId()\r\n
vci.assets.material.SetTexture(previewMaterialName, previewTextureId)\r\n\r\n
-- \u5199\u771F\u64AE\u5F71\u6642\u306E\u30B3\u30FC\u30EB\u30D0\u30C3\u30AF\u3092\u30BB\u30C3\u30C8\r\n
-- * ExportPhotographyCamera.TakePhotograph\u5B9F\u884C\u6642\u306B\u3001\u3053\u3053\u3067\u6E21\u3057\u305F\u95A2\u6570\u304C\u5B9F\u884C\u3055\u308C\u307E\u3059\u3002\r\n
photographyCamera.SetOnTakePhotoCallback(onTakePhotoCallback)\r\n\r\n
-- \u30AB\u30E1\u30E9\u306ENear Clip Plane\u3068\u5782\u76F4FOV\u306E\u521D\u671F\u5024\u3092\u30BB\u30C3\u30C8\r\n
initialFov = vci.state.Get(fovStateName)\r\n photographyCamera.SetVerticalFieldOfView(initialFov)\r\n
initialNearClip = vci.state.Get(nearClipStateName)\r\n photographyCamera.SetNearClipPlane(initialNearClip)\r\n\r\n
-- \u5199\u771F\u64AE\u5F71\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u3051\u53D6\u308B\r\n
-- * \u30EA\u30E2\u30FC\u30C8\u5074\u304B\u3089\u9001\u4FE1\u3055\u308C\u305F\u3001\"message_take_photo\"\u3068\u3044\u3046\u540D\u524D\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3057\u305F\u3068\u304D\u306B\u3001\r\n
-- \u3053\u3053\u3067\u6E21\u3057\u305F\u95A2\u6570\u304C\u5B9F\u884C\u3055\u308C\u307E\u3059\u3002\r\n
vci.message.On(takePhotoMessageName, onTakePhotoMessageReceived)\r\n\r\n
-- \u30AB\u30E1\u30E9\u306E\u521D\u671F\u5316\u5B8C\u4E86\r\n isInitialized
= true\r\n end\r\n)\r\n\r\nvci.StartCoroutine(initCameraCoroutine)\r\n\r\nfunction
updateAll()\r\n -- \u30BA\u30FC\u30E0\u30A2\u30A6\u30C8\u306E\u30DC\u30BF\u30F3\u3092\u30AB\u30E1\u30E9\u672C\u4F53\u306B\u8FFD\u5F93\u3055\u305B\u308B\r\n
onTakePhotoMessageReceived(sender, name, messnilge)\r\n photographyCamera.TakePhotograph()\r\nend\r\n\r\n--
\u5199\u771F\u64AE\u5F71\u7528\u30AB\u30E1\u30E9\u751F\u6210\r\n-- * \u5199\u771F\u64AE\u5F71\u7528\u30AB\u30E1\u30E9\u304C\u751F\u6210\u3055\u308C\u3001\"LensAnchor\"\u306ETransform\u306B\u8FFD\u5F93\u3059\u308B\u3088\u3046\u306B\u306A\u308A\u307E\u3059\u3002\r\nlocal
lensTransform = vci.assets.GetTransform(cameraLensAnchorName)\r\nphotographyCamera
= vci.cameraSystem.CreatePhotographyCamera(lensTransform)\r\n\r\n-- \u30D7\u30EC\u30D3\u30E5\u30FC\u63CF\u753B\r\n--
* GetCameraPreviewTextureId\u3067\u30AB\u30E1\u30E9\u306E\u30D7\u30EC\u30D3\u30E5\u30FC\u306E\u30C6\u30AF\u30B9\u30C1\u30E3\u3092\u793A\u3059ID\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002\r\n--
* \u3053\u306E\u30C6\u30AF\u30B9\u30C1\u30E3ID\u3092vci.assets.material.SetTexture\u306B\u6E21\u3059\u3053\u3068\u3067\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u8868\u793A\u3057\u307E\u3059\u3002\r\nlocal
previewTextureId = photographyCamera.GetCameraPreviewTextureId()\r\nvci.assets.material.SetTexture(previewMaterialName,
previewTextureId)\r\n\r\n-- \u5199\u771F\u64AE\u5F71\u6642\u306E\u30B3\u30FC\u30EB\u30D0\u30C3\u30AF\u3092\u30BB\u30C3\u30C8\r\n--
* ExportPhotographyCamera.TakePhotograph\u5B9F\u884C\u6642\u306B\u3001\u3053\u3053\u3067\u6E21\u3057\u305F\u95A2\u6570\u304C\u5B9F\u884C\u3055\u308C\u307E\u3059\u3002\r\nphotographyCamera.SetOnTakePhotoCallback(onTakePhotoCallback)\r\n\r\n--
\u30A2\u30A4\u30C6\u30E0\u5185\u540C\u671F\u5909\u6570\u3092\u521D\u671F\u5316\r\n--
* \u81EA\u8EAB\u304C\u3053\u306EVCI\u306E\u6240\u6709\u6A29\u3092\u6301\u3063\u3066\u3044\u308B\u3068\u304D\u306E\u307F\u5B9F\u884C\u3057\u307E\u3059\u3002\r\nif
vci.assets.IsMine then\r\n local isFovInitialized = vci.state.Get(fovStateName)
~= nil\r\n-- \u30AB\u30E1\u30E9\u306E fov \u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u3001\u521D\u671F\u5316\u51E6\u7406\u3092\u5B9F\u884C\u3059\u308B\r\n
if not isFovInitialized then\r\n print(\"initialize fov...\")\r\n
vci.state.Set(fovStateName, initialFov)\r\n end\r\nend\r\nl\r\n\r\n-- \u30AB\u30E1\u30E9\u306ENear
Clip Plane\u3068\u5782\u76F4FOV\u306E\u521D\u671F\u5024\u3092\u30BB\u30C3\u30C8\r\ninitialFov
= vci.state.Get(fovStateName)\r\nphotographyCamera.SetVerticalFieldOfView(initialFov)\r\n--
\u5FC5\u8981\u306A\u3089\u3070\u3001near clip plane \u3092\u4EFB\u610F\u306E\u5024\u306B\u30BB\u30C3\u30C8\u3059\u308B\r\n--
photographyCamera.SetNearClipPlane(initialNearClip)\r\n\r\n-- \u5199\u771F\u64AE\u5F71\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u3051\u53D6\u308B\r\n--
* \u30EA\u30E2\u30FC\u30C8\u5074\u304B\u3089\u9001\u4FE1\u3055\u308C\u305F\u3001\"message_take_photo\"\u3068\u3044\u3046\u540D\u524D\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3057\u305F\u3068\u304D\u306B\u3001\r\n--
\u3053\u3053\u3067\u6E21\u3057\u305F\u95A2\u6570\u304C\u5B9F\u884C\u3055\u308C\u307E\u3059\u3002\r\nvci.message.On(takePhotoMessageName,
onTakePhotoMessageReceived)\r\n\r\n-- \u30AB\u30E1\u30E9\u306E\u521D\u671F\u5316\u5B8C\u4E86\r\nisInitialized
= true\r\n\r\nfunction updateAll()\r\n -- \u30BA\u30FC\u30E0\u30A2\u30A6\u30C8\u306E\u30DC\u30BF\u30F3\u3092\u30AB\u30E1\u30E9\u672C\u4F53\u306B\u8FFD\u5F93\u3055\u305B\u308B\r\n
-- * \u8FFD\u5F93\u51E6\u7406\u306F\u3001\u30BA\u30FC\u30E0\u30A2\u30A6\u30C8\u30DC\u30BF\u30F3\u306E\u6240\u6709\u6A29\u3092\u6301\u3063\u3066\u3044\u308B\u30E6\u30FC\u30B6\u30FC\u306E\u74B0\u5883\u4E0A\u3067\u306E\u307F\u884C\u308F\u308C\u307E\u3059\u3002\r\n
if wideButtonTransform.IsMine then\r\n wideButtonAnchorPos = wideButtonAnchorTransform.GetPosition()\r\n
wideButtonTransform.SetPosition(wideButtonAnchorPos)\r\n wideButtonAnchorRot
Expand Down
92 changes: 39 additions & 53 deletions Assets/VCI-Official-Samples/CameraApiSample/Scripts/main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,11 @@ local teleButtonAnchorTransform = vci.assets.GetTransform("ButtonTeleAnchor")
local isTeleButtonUsed = false

local fovStateName = "FOV"
local initialFov = 60
local minFov = 10
local maxFov = 170
local fovStep = 2

local nearClipStateName = "NEAR_CLIP"

local takePhotoMessageName = "message_take_photo"

local previewMaterialName = "Display"
Expand All @@ -41,13 +40,6 @@ local photoMaterialName = "Photo"
local isInitialized = false
local photographyCamera = nil

-- アイテム内同期変数を初期化
-- * 自身がこのVCIの所有権を持っているときのみ実行します。
if vci.assets.IsMine then
vci.state.Set(fovStateName, 60)
vci.state.Set(nearClipStateName, 0.01)
end

-- 写真撮影時のコールバック
-- * ExportPhotographyCamera.SetOnTakePhotoCallbackにこの関数を渡すことで、
-- ExportPhotographyCamera.TakePhotograph実行時にこの関数が呼ばれます。
Expand All @@ -65,52 +57,46 @@ function onTakePhotoMessageReceived(sender, name, messnilge)
photographyCamera.TakePhotograph()
end

local initCameraCoroutine = coroutine.create(
function()
-- アイテム内同期変数の初期化を待つ
while true do
local isFovInitialized = vci.state.Get(fovStateName) ~= nil
local isNearClipInitialized = vci.state.Get(nearClipStateName) ~= nil
if isFovInitialized and isNearClipInitialized then
print("state initialized.")
break
end
print("waiting for state init...")
coroutine.yield()
end

-- 写真撮影用カメラ生成
-- * 写真撮影用カメラが生成され、"LensAnchor"のTransformに追従するようになります。
local lensTransform = vci.assets.GetTransform(cameraLensAnchorName)
photographyCamera = vci.cameraSystem.CreatePhotographyCamera(lensTransform)

-- プレビュー描画
-- * GetCameraPreviewTextureIdでカメラのプレビューのテクスチャを示すIDを取得します。
-- * このテクスチャIDをvci.assets.material.SetTextureに渡すことでプレビューを表示します。
local previewTextureId = photographyCamera.GetCameraPreviewTextureId()
vci.assets.material.SetTexture(previewMaterialName, previewTextureId)

-- 写真撮影時のコールバックをセット
-- * ExportPhotographyCamera.TakePhotograph実行時に、ここで渡した関数が実行されます。
photographyCamera.SetOnTakePhotoCallback(onTakePhotoCallback)

-- カメラのNear Clip Planeと垂直FOVの初期値をセット
initialFov = vci.state.Get(fovStateName)
photographyCamera.SetVerticalFieldOfView(initialFov)
initialNearClip = vci.state.Get(nearClipStateName)
photographyCamera.SetNearClipPlane(initialNearClip)

-- 写真撮影のメッセージを受け取る
-- * リモート側から送信された、"message_take_photo"という名前のメッセージを受信したときに、
-- ここで渡した関数が実行されます。
vci.message.On(takePhotoMessageName, onTakePhotoMessageReceived)

-- カメラの初期化完了
isInitialized = true
-- 写真撮影用カメラ生成
-- * 写真撮影用カメラが生成され、"LensAnchor"のTransformに追従するようになります。
local lensTransform = vci.assets.GetTransform(cameraLensAnchorName)
photographyCamera = vci.cameraSystem.CreatePhotographyCamera(lensTransform)

-- プレビュー描画
-- * GetCameraPreviewTextureIdでカメラのプレビューのテクスチャを示すIDを取得します。
-- * このテクスチャIDをvci.assets.material.SetTextureに渡すことでプレビューを表示します。
local previewTextureId = photographyCamera.GetCameraPreviewTextureId()
vci.assets.material.SetTexture(previewMaterialName, previewTextureId)

-- 写真撮影時のコールバックをセット
-- * ExportPhotographyCamera.TakePhotograph実行時に、ここで渡した関数が実行されます。
photographyCamera.SetOnTakePhotoCallback(onTakePhotoCallback)

-- アイテム内同期変数を初期化
-- * 自身がこのVCIの所有権を持っているときのみ実行します。
if vci.assets.IsMine then
local isFovInitialized = vci.state.Get(fovStateName) ~= nil
-- カメラの fov が初期化されていない場合、初期化処理を実行する
if not isFovInitialized then
print("initialize fov...")
vci.state.Set(fovStateName, initialFov)
end
)
end


-- カメラのNear Clip Planeと垂直FOVの初期値をセット
initialFov = vci.state.Get(fovStateName)
photographyCamera.SetVerticalFieldOfView(initialFov)
-- 必要ならば、near clip plane を任意の値にセットする
-- photographyCamera.SetNearClipPlane(initialNearClip)

-- 写真撮影のメッセージを受け取る
-- * リモート側から送信された、"message_take_photo"という名前のメッセージを受信したときに、
-- ここで渡した関数が実行されます。
vci.message.On(takePhotoMessageName, onTakePhotoMessageReceived)

vci.StartCoroutine(initCameraCoroutine)
-- カメラの初期化完了
isInitialized = true

function updateAll()
-- ズームアウトのボタンをカメラ本体に追従させる
Expand Down
2 changes: 2 additions & 0 deletions Assets/VCI-Official-Samples/StateApiSample/Scripts/main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ end

function update()
syncTransform()
end

function updateAll()
-- state値を監視して更新があれば表示を更新
local upstreamMyState = vci.state.Get(myStateName)
if upstreamMyState ~= localMyState then
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -818,7 +818,7 @@ MonoBehaviour:
contactInformation:
reference:
thumbnail: {fileID: 0}
version: 1.0
version: 1.1
description:
exporterVersion: 0.33
specVersion:
Expand Down Expand Up @@ -854,8 +854,8 @@ MonoBehaviour:
\u30DC\u30BF\u30F3\u3092\u89E6\u308B\u3068state\u3092\u5909\u66F4\u3059\u308B\r\nfunction
onUse(name)\r\n if name == button1Name then\r\n vci.state.Set(myStateName,
1)\r\n elseif name == button2Name then\r\n vci.state.Set(myStateName,
2)\r\n end\r\nend\r\n\r\nfunction update()\r\n syncTransform()\r\n\r\n
-- state\u5024\u3092\u76E3\u8996\u3057\u3066\u66F4\u65B0\u304C\u3042\u308C\u3070\u8868\u793A\u3092\u66F4\u65B0\r\n
2)\r\n end\r\nend\r\n\r\nfunction update()\r\n syncTransform()\r\nend\r\n\r\nfunction
updateAll()\r\n -- state\u5024\u3092\u76E3\u8996\u3057\u3066\u66F4\u65B0\u304C\u3042\u308C\u3070\u8868\u793A\u3092\u66F4\u65B0\r\n
local upstreamMyState = vci.state.Get(myStateName)\r\n if upstreamMyState
~= localMyState then\r\n showState(upstreamMyState)\r\n localMyState
= upstreamMyState\r\n end\r\nend\r\n\r\n-- \u30B5\u30FC\u30D0\u30FC\u4E0A\u306Estate\u5024\u3067\u8868\u793A\u3092\u521D\u671F\u5316\r\n--
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
using UniGLTF;
using UnityEngine;

namespace VCI
{
public sealed class EditorPhysicsColliderImporter
{
private readonly VciData _data;
private readonly VCIImporter _context;
private readonly UnityPath _prefabFilePath;

private UnityPath AssetDir => _prefabFilePath.GetAssetFolder(".ColliderMeshes");

public EditorPhysicsColliderImporter(VciData vciData, VCIImporter context, UnityPath prefabFilePath)
{
_data = vciData;
_context = context;
_prefabFilePath = prefabFilePath;
}

public void ExtractAssetFiles()
{
// NOTE: MeshCollider の Mesh オブジェクトを保存する.
foreach (var node in _context.Nodes)
{
var meshCollider = node.gameObject.GetComponent<MeshCollider>();
if (meshCollider == null || meshCollider.sharedMesh == null) continue;

AssetDir.EnsureFolder();
// NOTE: Collider Mesh の名前が VCI 内で一意であることを前提とする.
var filePath = AssetDir.Child($"{meshCollider.sharedMesh.name}.asset");
if (filePath.LoadAsset<Mesh>() == null)
{
filePath.CreateAsset(meshCollider.sharedMesh);
}
}
}

public void SetupAfterEditorDelayCall()
{
// NOTE: MeshCollider の Mesh オブジェクトを、アセット下のものに差し替える.
foreach (var node in _context.Nodes)
{
var meshCollider = node.gameObject.GetComponent<MeshCollider>();
if (meshCollider == null || meshCollider.sharedMesh == null) continue;

var filePath = AssetDir.Child($"{meshCollider.sharedMesh.name}.asset");
var mesh = filePath.LoadAsset<Mesh>();
meshCollider.sharedMesh = mesh;
}
}
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit f6e5949

Please sign in to comment.