Untiy项目PC转Android 注意事项

文件读取:

路径:

StreamingAssets:

PC:Application.StreamingAssets + "/文件名"

Android: "jar:file://" + Application.dataPath + "!/assets/文件名"

 代码转载: (8条消息) 通过UnityWebRequest获取本地文件_DannySmith的博客-CSDN博客_unitywebrequest读取本地文件

/// <summary>
    /// 通过UnityWebRequest获取本地StreamingAssets文件夹中的文件
    /// </summary>
    /// <param name="fileName">文件名称</param>
    /// <returns></returns>
    public static string UnityWebRequestFile(string fileName)
    {
        string url;
        #region 分平台判断 StreamingAssets 路径
#if UNITY_EDITOR || UNITY_STANDALONE
        url = "file://" + Application.dataPath + "/StreamingAssets/" + fileName;
#elif UNITY_IPHONE
        url = "file://" + Application.dataPath + "/Raw/"+ fileName;
#elif UNITY_ANDROID
        url = "jar:file://" + Application.dataPath + "!/assets/"+ fileName;
#endif
        #endregion
        UnityWebRequest request = UnityWebRequest.Get(url);
        request.SendWebRequest();//读取数据
        while (true)
        {
            if (request.downloadHandler.isDone)//是否读取完数据
            {
                return request.downloadHandler.text;
            }
        }
    }

    /// <summary>
    /// 通过UnityWebRequest获取本地StreamingAssets文件夹中的Json文件
    /// </summary>
    /// <param name="fileName">文件名称</param>
    /// <returns></returns>
    public static string UnityWebRequestJsonString(string fileName)
    {
        string url;

        #region 分平台判断 StreamingAssets 路径
#if UNITY_EDITOR || UNITY_STANDALONE
        url = "file://" + Application.dataPath + "/StreamingAssets/" + fileName;
#elif UNITY_IPHONE
        url = "file://" + Application.dataPath + "/Raw/"+ fileName;
#elif UNITY_ANDROID
        url = "jar:file://" + Application.dataPath + "!/assets/"+ fileName;
#endif
        #endregion
        UnityWebRequest request = UnityWebRequest.Get(url);
        request.SendWebRequest();//读取数据
        while (true)
        {
            if (request.downloadHandler.isDone)//是否读取完数据
            {
                return request.downloadHandler.text;
            }
        }
    }

导出配置:

待补充

模型Shader:

待补充

Gradle离线包配置:

获取unity版本对应的Gradle版本:

Android Gradle 插件版本说明  |  Android 开发者  |  Android Developers (google.cn)

AndroidManifest.Xml:

若打包后无法请求http,添加下面的代码到文件中:

android:usesCleartextTraffic="true" 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Unity中,将float类型换为int类型可以使用强制类型换的方法,使用圆括号将float值括起来并放在int类型的前面,例如: ``` float floatValue = 3.14f; int intValue = (int)floatValue; ``` 请注意,由于浮点数类型的范围比整数类型大,因此将浮点数强制换为整数可能会导致数据的损失或截断。因此,在进行这种类型换时应该特别小心,并根据具体情况进行测试和调整。 ### 回答2: 在Unity中,可以使用Mathf类中的Round()函数将float类型的数值换为int类型。 Mathf.Round()函数是一个四舍五入函数,它可以将一个float类型的数值近似为最接近的整数。例如,Mathf.Round(2.7f)将会返回3,Mathf.Round(2.3f)将会返回2。 如果你想要将一个float类型的数值直接截断为int类型,则可以使用Mathf类中的Floor()函数或Ceil()函数。 Mathf.Floor()函数会将一个float类型的数值向下取整,返回小于或等于该数值的最大整数。例如,Mathf.Floor(2.7f)将会返回2,Mathf.Floor(2.3f)也将会返回2。 Mathf.Ceil()函数会将一个float类型的数值向上取整,返回大于或等于该数值的最小整数。例如,Mathf.Ceil(2.7f)将会返回3,Mathf.Ceil(2.3f)将会返回3。 请根据你的需求选择合适的函数来将float类型的数值换为int类型,并将结果存储在一个int类型的变量中。 ### 回答3: 在Unity中,将float类型的数值换为int类型可以使用Mathf类中的Round、Ceil和Floor方法。 首先,使用Round方法将float数值四舍五入为最接近的整数。该方法的语法如下: ```csharp int result = Mathf.RoundToInt(floatValue); ``` 其次,使用Ceil方法将float数值向上取整。即使小数部分为0.1,也会将结果向上取整为1。该方法的语法如下: ```csharp int result = Mathf.CeilToInt(floatValue); ``` 最后,使用Floor方法将float数值向下取整。即使小数部分为0.9,也会将结果向下取整为0。该方法的语法如下: ```csharp int result = Mathf.FloorToInt(floatValue); ``` 根据具体的需求,选择适合的方法即可实现将float换为int类型的操作,这样就可以在Unity中进行相应的数值计算和处理了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值