GoWrapper 里的skinmesh能合并么
function MeshSharing:initFish(fish,name)
if self.meshArray[name] then
else
local meshrender = fish.gameObject:GetComponent("SkinnedMeshRenderer")
luadump(meshrender.sharedMaterial)
luadump(meshrender.sharedMaterial.enableInstancing)
-- Log.error("材质是否支持 instancing " ..meshrender.sharedMaterial.enableInstancing .. "</color>");
luadump(UnityEngine.SystemInfo.supportsInstancing)
-- Log.error("<color=#FF0000>系统是否支持 instancing " .. UnityEngine.SystemInfo.supportsInstancing .. "</color>");
self.meshRenderArray[name] = meshrender
self.matArray[name] = meshrender.material
self.meshArray[name] = UnityEngine.Mesh.New()
self.transformArray[name] = fish.transform
self.parentTranArray[name] = fish.parent.transform
luadump(self.meshArray)
end
end
function MeshSharing:addFish(fish, name)
local scale = self.meshRenderArray[name].gameObject.transform.lossyScale
fish.transform.localScale = Vector3.New(1 / scale.x, 1 / scale.y, 1 / scale.z);
local mf = fish.gameObject:GetComponent("MeshFilter")
if not mf then
mf = fish.gameObject:AddComponent("MeshFilter")
end
luadump(mf)
mf.sharedMesh = self.meshArray[name]
local mr = fish.gameObject:GetComponent("MeshRenderer")
if not mr then
mr = fish.gameObject:AddComponent("MeshRenderer")
mr.receiveShadows = false
mr.shadowCastingMode = 0;
end
mr.sharedMaterial = self.matArray[name]
end
function MeshSharing:frameUpdate()
for k,v in pairs(self.meshArray) do
v:Clear()
self.meshRenderArray[k]:BakeMesh(v)
end
end
skinmesh batch无法合并 跟gowrapper有关么
public GoWrapper()
{
_flags |= Flags.SkipBatching;
if self.meshArray[name] then
else
local meshrender = fish.gameObject:GetComponent("SkinnedMeshRenderer")
luadump(meshrender.sharedMaterial)
luadump(meshrender.sharedMaterial.enableInstancing)
-- Log.error("材质是否支持 instancing " ..meshrender.sharedMaterial.enableInstancing .. "</color>");
luadump(UnityEngine.SystemInfo.supportsInstancing)
-- Log.error("<color=#FF0000>系统是否支持 instancing " .. UnityEngine.SystemInfo.supportsInstancing .. "</color>");
self.meshRenderArray[name] = meshrender
self.matArray[name] = meshrender.material
self.meshArray[name] = UnityEngine.Mesh.New()
self.transformArray[name] = fish.transform
self.parentTranArray[name] = fish.parent.transform
luadump(self.meshArray)
end
end
function MeshSharing:addFish(fish, name)
local scale = self.meshRenderArray[name].gameObject.transform.lossyScale
fish.transform.localScale = Vector3.New(1 / scale.x, 1 / scale.y, 1 / scale.z);
local mf = fish.gameObject:GetComponent("MeshFilter")
if not mf then
mf = fish.gameObject:AddComponent("MeshFilter")
end
luadump(mf)
mf.sharedMesh = self.meshArray[name]
local mr = fish.gameObject:GetComponent("MeshRenderer")
if not mr then
mr = fish.gameObject:AddComponent("MeshRenderer")
mr.receiveShadows = false
mr.shadowCastingMode = 0;
end
mr.sharedMaterial = self.matArray[name]
end
function MeshSharing:frameUpdate()
for k,v in pairs(self.meshArray) do
v:Clear()
self.meshRenderArray[k]:BakeMesh(v)
end
end
skinmesh batch无法合并 跟gowrapper有关么
public GoWrapper()
{
_flags |= Flags.SkipBatching;
没有找到相关结果
已邀请:
1 个回复
谷主
赞同来自: