小编Mil*_*t25的帖子

FBX在运行时导入

我做了很多测试,在运行时以统一的方式导入FBX,我正在测试更多.导入时,FBX文件必须为ASCII格式.它需要从3dsMax或Maya导出为ASCII.ASCII FBX文件的大小取决于文件.

另一方面,与ASCII相比,二进制FBX格式的尺寸更小.

我的脚本适用于ASCII FBX(适用于大多数型号).它使用parse方法读取所有纯文本,包括FBX文件中的顶点,三角形和法线,并在GameObjects中构造网格.

问题是模型的大小和导入的速度.资产包不是一个好的解决方案.

如果有人知道在RUNTIME导入BINARY FBX的方法,请分享您的知识.另外,如果您知道如何在运行时将Unity中的二进制fbx反序列化为ASCII FBX,请告诉我.

我需要将FBX从Binary反序列化为ASCII.因为这是一个简化版本.

binary ascii mesh 3dsmax unity-game-engine

5
推荐指数
1
解决办法
1552
查看次数

如何将Java"Arrays.copyOfRange"函数转换为C#?

使用Java中的MergeSort:

public void mergeSort(int[] A)
{
     if (A.length > 1)
     {
         int q = A.length/2;
         int[] leftArray = Arrays.copyOfRange(A, 0, q);
         int[] rightArray = Arrays.copyOfRange(A,q,A.length);
         mergeSort(leftArray);
         mergeSort(rightArray);
         merge(A,leftArray,rightArray);
     }
}
Run Code Online (Sandbox Code Playgroud)

上面代码中的递归在Java中运行良好.

因此,为了好奇,我想将函数Arrays.copyOfRange从java转换为c#.C#中的Array.copy有五个参数.你知道c#中的任何更简单的函数都会从位置x到y(比如java)开始获取数组的某些元素.

在c#中我编写了上面这样的方法:

public void mergeSort(int[] A)
{
    if (A.Length > 1)
    {
        int q = A.Length / 2;
        int[] leftArray = new int[q];
        int[] rightArray = new int[A.Length];
        for (int i = 0; i < q; i++)
        {
            leftArray[i] = A[i];
            Console.WriteLine(leftArray[i]);
        }

        for (int i = q; i …
Run Code Online (Sandbox Code Playgroud)

c# java arrays

3
推荐指数
1
解决办法
4876
查看次数

标签 统计

3dsmax ×1

arrays ×1

ascii ×1

binary ×1

c# ×1

java ×1

mesh ×1

unity-game-engine ×1