标签: unity-game-engine

Google Play 商店中不支持的 API 警告

我在 Google Play 的发布前报告中收到以下警告。

我不知道如何纠正这些。感谢任何帮助或建议,我在这里遇到很多问题

Android compatibility
 We’ve detected that your app is using unsupported APIs. Tests may not have found all unsupported APIs. Learn more
 
 Unsupported
  12 warnings identified
 The following APIs are greylisted and Google can’t guarantee that they will work on existing versions of Android. Some may be already be restricted for your target SDK
 
 
 API Ljava/lang/invoke/MethodHandles$Lookup;-><init>(Ljava/lang/Class;I)V
 11 occurrences identified. Only unique stack traces are shown.
  
 API Landroid/content/Context;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
 1 occurrence identified
  
 API Landroid/media/AudioSystem;->getPrimaryOutputFrameCount()I
 1 occurrence identified
  
 API …
Run Code Online (Sandbox Code Playgroud)

android unity-game-engine

18
推荐指数
2
解决办法
7403
查看次数

Unity3D和Android Studio集成

有人知道将Android与Unity Studio集成吗?(我将解释)
我在Unity(OSX Maverics的4.3.x)中创建了一个简单的场景进行测试.有一个3D对象,没有别的.
我在这里使用Stackoverflow解释在XCode中执行此操作,并在此处发布我的完整代码(触摸UIButton并在UIView或UIViewController上显示Unity)以显示它非常简单.
但是现在,我需要在Android Studio上做同样的事情(我安装了,我可以将项目从Unity导出到Android)
我唯一知道的是AndroidManifest.xml和文件是"res/layout /" ).xml"在Android Studio上创建项目时,屏幕上的第一个(读取)和(显示)布局的文件.

当您从Unity打开生成的项目时,您拥有的唯一XML就是AndroidManifest.
所以我迷路了.由于第三方网站(http://www.rbcafe.com/Softwares/Unity/Documentation/Manual/android-GettingStarted.html)的文档仅提及项目中不存在的Unity Eclipse和JAVA文件,因此我更失落.

在Objective-C中,您创建somethingDelegate.mm和.h并插入"一行代码"并准备就绪.在Android中似乎并不像这篇官方文档那样简单(http://docs.unity3d.com/Manual/PluginsForAndroid.html).

有人已经在Android Studio中做过这个并且可以帮助我吗?

提前致谢.

**编辑赏金:**

需要创建3个视图:
1 - 带2个按钮的主视图;
2 - 一个按钮转到第二个视图;
3 - 其他按钮进入Unity View;

必须有一个简单的方法在Android上做这个,因为工作室制作了上面的链接.

java xml android unity-game-engine android-studio

17
推荐指数
2
解决办法
5万
查看次数

我可以在mac上编程c#吗?

我只是好奇.我想学习c#团结.我是宿舍学生,我的个人电脑是macbook air,我们有一个公共电脑室.我只是问我是否可以在mac上使用c#.

c# macos pc unity-game-engine

17
推荐指数
4
解决办法
4万
查看次数

Unity3D UGUI(又名"新UI")绘制调用优化

我们最近创建了一个资产,在"新"(> 4.6)Unity UI中以表格布局显示数据.我们的一些用户询问绘制调用性能,我们想知道在UI中改进绘制调用的选项(如果有的话).

表用法GIF

所以上面的表格在19次抽签中非常一致......

在此输入图像描述

它可以在任何ipad2级别以上的版本上运行良好,但是Unity dev(可以理解)讨厌绘制调用,所以我们希望尽可能地减少这个数字.

您可以在上面的屏幕截图中看到我们为表格创建的层次结构.我们正在为Header/Footer/Body和ColumnOverlay使用蒙版.每个Unity,看起来每个Mask至少需要2次绘制:

http://forum.unity3d.com/threads/unity-4-6-ui-mask-component-takes-2-draw-calls.279840/

此外,我们显然使用一堆Unity UI Text和Sprite元素来绘制所有内容.表格布局的基本特性几乎意味着Sprite和Text对象之间存在多个层次(单元格背景之上的单元格数据等).Unity dev似乎说,当发生这种情况时,根本没有办法不进行多次绘制调用,因为引擎需要每个"层"...期间进行绘制.

http://forum.unity3d.com/threads/solved-new-ugui-and-too-many-draw-calls.266631/

所以...似乎只要你在Unity UI中有一个非平凡的UI布局,你几乎可以保证有一个非平凡(10-20)的绘制调用量.真的吗?如果不是,那么我们能做些什么来减少我们桌子上的抽奖吗?

更新1:

通过停用每个数据行上的自定义"度量"元素,我能够将绘制调用减少一个.它基本上是一个黑客的"文本"对象,但我只是用它来测量网格大小的单元格,它正在进行额外的绘制调用.测量功能实际上可以正常工作,GameObject已停用.

当前的抽奖电话== 18

更新2:

发现了很大的进步.我在上面提到我的Header/Footer/Body和ColumnOverlay都使用了mask元素.事实证明,我能够重构我的系统,在新的根级元素上包含一个Mask,并删除Header,Footer和ColumnOverlay上的Masks.现在我只在该根元素和Body上有一个Mask.

面具改进

当前的抽奖调用== 13

更新3 [失败]:

因此,每一行都包含底部边框线图像,以抵消它的兄弟姐妹.我想也许它正在打印文本元素的"顶部"并强制额外绘制.结果没有......事实并非如此.

此外...我的所有背景图像元素都没有定义精灵属性.他们只是使用"null"并应用了颜色.我想也许如果我创建了一个通用的"白色"精灵并将其应用于我的所有null Image对象,它可能会改进批处理并减少我的绘制调用.结果没有......事实并非如此.

当前的抽奖调用== 13

unity-game-engine

17
推荐指数
1
解决办法
6688
查看次数

Unity - 在场景之间传递数据

如何将得分值从一个场景传递到另一个场景?

我尝试过以下方法:

场景一:

void Start () {
    score = 0;
    updateScoreView ();
    StartCoroutine (DelayLoadlevel(20));
}

public void updateScoreView(){
    score_text.text = "The Score: "+ score;
}

public void AddNewScore(int NewscoreValue){
    score = score + NewscoreValue;
    updateScoreView ();
}

IEnumerator DelayLoadlevel(float seconds){        
    yield return new WaitForSeconds(10);
    secondsLeft = seconds;
    loadingStart = true;
    do {        
        yield return new WaitForSeconds(1);
    } while(--secondsLeft >0);

    // here I should store my last score before move to level two
    PlayerPrefs.SetInt ("player_score", score);
    Application.LoadLevel (2);
}
Run Code Online (Sandbox Code Playgroud)

场景二:

public …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine virtual-reality

17
推荐指数
4
解决办法
3万
查看次数

Unity 5.3如何加载当前级别?

在Unity 5.3之前,我可以做到

Application.LoadLevel(Application.loadedLevel);
Run Code Online (Sandbox Code Playgroud)

但现在使用SceneManager会有些奇怪.我读过文档但没有.如何获取当前场景并加载它(Unity 5.3f4)?

谢谢!

c# unity-game-engine unity5 unity5.3

17
推荐指数
1
解决办法
1万
查看次数

从Random.Range()中排除值?

如果您Random.Range()用于生成值,是否有任何方法可以排除范围内的某些值(例如:选择1到20之间的数字,但不是6到8之间的数字)?

c# random unity-game-engine

17
推荐指数
3
解决办法
6253
查看次数

Unity3d中的c#方法覆盖

在最近几周,我使用c#作为脚本语言使用Unity3d.我从来没有在c#和Unity3d之前使用过,我试图理解方法覆盖在Unity框架中是如何工作的.让我感到奇怪的是,我可以扩展基类MonoBehavior并重写方法Start (),Update ()等等,而不必使用override关键字,编译器也不会抱怨它!相反,在"普通"C#程序中,我必须使用override关键字,否则我会收到编译器警告.例如:

public class BaseClass {
    public virtual void MyMethod () {
        Console.WriteLine("BaseClass.MyMethod()");
    }
}

public class SubClass : BaseClass {
    public override void MyMethod () {
        Console.WriteLine("SubClass.MyMethod()");
    }
}

class Program {
    static void Main ()  {
        SubClass obj = new SubClass ();
        obj.MyMethod ();
    }
}
Run Code Online (Sandbox Code Playgroud)

而在Unity中,我可以简单地做到:

class PlayerController : MonoBehaviour {
    void Update () {
        // code...
    }
}
Run Code Online (Sandbox Code Playgroud)

幕后发生了什么?团结是否利用"动态技巧"或什么?

c# unity-game-engine

17
推荐指数
1
解决办法
2822
查看次数

MonoDevelop在High Sierra(OSX 10.13)上崩溃

我将面临一个问题,从昨天更新系统到最新的macOS 10.13 beta与统一monoDevelop下面是我得到的崩溃报告.

Process:               mono-sgen [9057]
Path:                  /tmp/*/mono
Identifier:            com.unity.monodevelop
Version:               5.9.6 (5.9.6)
Code Type:             X86 (Native)
Parent Process:        ??? [1]
Responsible:           mono-sgen [9057]
User ID:               501

Date/Time:             2017-06-15 11:43:09.345 +0530
OS Version:            Mac OS X 10.13 (17A264c)
Report Version:        12
Anonymous UUID:        ACA523AB-96B9-4E46-8D2A-A2210B9A181A

Sleep/Wake UUID:       5715E1CB-BBDF-4E3C-9CEE-8F8C01ADD64D

Time Awake Since Boot: 36000 seconds
Time Since Wake:       6400 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGABRT)
Exception Codes:       KERN_INVALID_ADDRESS at 0x00000000d9d1efbd
Exception Note:        EXC_CORPSE_NOTIFY …
Run Code Online (Sandbox Code Playgroud)

monodevelop unity-game-engine unity5

17
推荐指数
3
解决办法
9184
查看次数

如何在不留空隙的情况下为线条渲染器形状设置动画

我正在使用下面的代码根据点数创建带有线条渲染器的形状.对于大于3的点(三角形等),第一个和最后一个点不会像其他点那样关闭形状.

1.如何在没有任何可见间隙的情况下关闭超过3个点的形状?

2.如何设置形状的动画,以便在特定的持续时间内绘制线条(可能使用协程)?

public class CircleDrawing : MonoBehaviour
{

    [Tooltip("The radius of the circle, measured in world units.")]
    public float Radius = 2;

    [Tooltip("The number of vertices in the circle.")]
    public int Points = 5;

    [Tooltip("The color of the circle.")]
    public Color Color;

    private LineRenderer lineRenderer;

    public void Awake()
    {
        lineRenderer = gameObject.AddComponent<LineRenderer>();
        lineRenderer.material = new Material(Shader.Find("Sprites/Default"));
        lineRenderer.material.color = Color;
        lineRenderer.startWidth = lineRenderer.endWidth = 0.5f;
        lineRenderer.positionCount = Points + 1;    //+1 to close the shape
        Draw();
    }

    private …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine

17
推荐指数
1
解决办法
1229
查看次数