【问题标题】:Passing Values to Unity3D将值传递给 Unity3D
【发布时间】:2018-03-30 16:49:45
【问题描述】:

我是 Unity3D 的新手,我开发了一个简单的 Unity3D 应用程序来旋转立方体并为 android 构建它,现在我想将旋转值从我的 android 应用程序发送到 unity 3D,这可能吗?我可以通过 Intent 传递值吗?

【问题讨论】:

  • 您的问题不是很清楚 - 您的 android 应用是 Unity 3D,所以我不知道您要做什么。
  • 没有人理解你。我了解您想要完成的工作,但我不知道该问题的答案,我也想知道。也许我将来会使用它。对于那些不明白的问题。基本上他想使用 android 自定义 Intent 或内置 Intent(如拍照打开 url 等)为 unity 应用加注星标,并在此 Intent 中将一些参数传递给 Unity,如起始位置、级别或类似的东西。
  • 我只能建议一件事,您可以将统一应用程序构建到 Android 项目,而不是在 Android Studio 中打开该项目。可能您将能够在清单中为您的意图定义一些到 android 应用程序的入口点,但我不知道是否可以将任何值传递给统一。这个答案可能对您有所帮助:stackoverflow.com/questions/36098400/…

标签: android unity3d


【解决方案1】:

您可以使用 UnityPlayer.UnitySendMessage 将数据从 android java 发送到 unity3d 端。

UnityPlayer.UnitySendMessage("游戏对象名称","methodName","parameter");

对于偶然发现这个问题的人。

【讨论】:

  • 你也可以传递一个在unity3d端定义的代理接口。不需要发送消息。
【解决方案2】:

是的,当然你可以在运行时修改 [object].transform.localRotation

无论如何,如果你想旋转,比如你可以用手指旋转一个物体,我可以推荐你一个 Unity3D 框架的脚本

http://interactivelab.github.io/TouchScript/

【讨论】:

    【解决方案3】:

    就像@Laykker 提到的,可以在运行时传入值。

    一个简单的例子是:

    //Your Cube Object
    public GameObject cubeObject;
    
    //Rotates cube in the x-axis by 20f when clicked
    void OnClick () {
       Quaternion rotation = cubeObject.transform.localRotation;
       rotation.x += 20f;
       cubeObject.transform.localrotation = rotation;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-13
      • 2015-12-09
      • 2014-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多