标签: unityscript

为什么Resources.Load <Sprite>返回null?

我的项目有多个sprite位于Assets\Sprites中,我想用C#脚本加载它.

我测试了这个:

Sprite myFruit = Resources.Load <Sprite> ("Graphics_3");
Run Code Online (Sandbox Code Playgroud)

myFruit仍然是空的.

unity-game-engine unityscript

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

如何在RectTransform中计算sizeDelta?

我编写了自定义布局所需的自定义内容装配工.所以,RectTransform.sizeDelta当锚点不相同时我需要控制属性,但我不能得到它显示这个值.
我不需要Unity3D API参考,我读它并且没有任何内容因为它只是说:

此RectTransform的大小相对于锚点之间的距离.如果锚在一起,sizeDelta与大小相同.如果锚点位于父级的四个角中的每一个中,则sizeDelta是矩形与其父级相比的大小.

任何人都可以用正常语言解释这是什么意思?当锚点不相同时,如何手动计算?

unity-game-engine unityscript unity3d-ui

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

iPhone上的Unity3d性能

我真的很想使用Unity3d开发应用程序.我喜欢这样一个事实:我可以开发一次并将应用程序移植到多个平台(Mac/Windows/iPhone/Android),而我的Mac上的性能似乎相当不错.

这将是我第一次为iPhone编写应用程序,我对未来的性能问题感到好奇.我想我肯定会在iPhone上使用Unity3d作为原型,但我想知道构建iPhone Unity3d应用程序是否会像使用Objective-C编写的本机应用程序一样有效地使用iPhone资源.

Unity3d网站似乎表明Unity3d算法已经过优化,我认为如果我在Unity3d论坛中提出这个问题,那将是我得到的那种回应.理想情况下,我有兴趣听取在Unity3d和Objective-C中构建应用程序的人的意见,并可以比较两者.

让我想到这一点的讨论是Andrew和Peter Mortensen对iOS开发成本问题的回答,该问题开始于"开发iPhone应用程序比学习Cocoa更容易".

performance objective-c unity-game-engine ios unityscript

10
推荐指数
1
解决办法
5106
查看次数

Raycasting在Unity 2d游戏中找到对象的鼠标点击

我试图删除单击鼠标的对象.我正在使用新的Unity3D 4.3进行2D游戏.这是我正在使用的代码

void Update () {

    if (Input.GetMouseButtonDown(0)) 
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        if(Physics.Raycast(ray,out hit))
        {
            isHit = false;
            Destroy(GameObject.Find(hit.collider.gameObject.name));

        }
    }

}
Run Code Online (Sandbox Code Playgroud)

控件未进入内部if循环.(isHit未被设置为false).

unity-game-engine unityscript

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

Lan多人场景变化

我是团结的新手,目前正在尝试制作局域网多人RPG游戏.

仅供参考,我遵循了官方统一局的多人游戏指南,一切顺利. https://unity3d.com/learn/tutorials/topics/multiplayer-networking/introduction-simple-multiplayer-example

到目前为止,我让玩家加载,他们能够移动.我在下面编写了以下代码(在虚拟更新例程下),这样当玩家移动时,它将每1秒随机化1到50之间的数字,如果数字是25,我们随机"遇到敌人".当任何玩家遇到一个敌人时我都会这样做,所以网络上的每个人都会进入"战斗场景".

if (Input.GetKey("up") || Input.GetKey("down") || Input.GetKey("left") || Input.GetKey("right"))
    {
        if (Time.time > NextActionTime)
        {
            NextActionTime = Time.time + Period;
            EnemyEncounter = Random.Range(1, 50);
            if (EnemyEncounter == 25)
            {

                NetworkManager.singleton.ServerChangeScene("Scene2");
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常,但我不确定如何加载每个人,只加载某些玩家进入战斗场景.

例如:
玩家在主持/寻找局域网游戏之前输入一个名称


玩家1 = Joe
Player 2 = Bob
Player 3 = Billy
Player 4 = Jim

在预设的标签/文本上加载其中的文字"Joe,Billy".现在,当任何玩家发现遭遇时,我只想将玩家名称"Joe"和"Billy"加载到下一个场景,而其他玩家则不会.

这可能吗?任何形式的帮助将不胜感激.

谢谢大家

c# unity-game-engine unityscript unity3d-unet unet

10
推荐指数
1
解决办法
546
查看次数

在Windows Phone 8上使用Unity发布帖子请求

我正在尝试从Unity平台上的Windows Phone 8上发布帖子请求.我不想使用统一WWW方法,因为这会阻止渲染(并且不是线程安全的).

以下代码适用于编辑器和Android,但在为WP8构建时,我收到以下错误.

System.Byte [] System.Net.WebClient :: UploadData(System.String,System.String,System.Byte [])`在目标框架中不存在.

此处解释了此错误的原因

这是因为Windows Phone 8使用了一种名为.NET for Windows Phone的不同版本的.NET,它缺少其他平台上可用的某些类型.您必须用不同的类型替换这些类型或自己实现它们.- http://docs.unity3d.com/Manual/wp8-faq.html

这是我的代码

using (WebClient client = new WebClient())
{
    client.Encoding = System.Text.Encoding.UTF8;
    client.Headers[HttpRequestHeader.ContentType] = "application/json";

    byte[] requestData = new byte[0];
    string jsonRequest = "{}";
    if (data != null) 
    {
        string tempRequest = Converter.SerializeToString (data);
        jsonRequest = "{\"Data\": \"" + tempRequest + "\"}";

        requestData = System.Text.Encoding.UTF8.GetBytes(jsonRequest);
    }

    // below line of code is the culprit    
    byte[] returnedData = client.UploadData(url, "POST", requestData);

    if(returnedData.Length > 0) …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine windows-phone-8 unityscript

9
推荐指数
1
解决办法
755
查看次数

我应该如何从Unity3D调用我的C++函数

这有点困难,因为我甚至不知道我的C++是否得到了很好的实现.

我想从Unity3D调用一个函数,我传递一些参数float *points,我的C++写入该指针.

好吧,从C++部分开始,我写道:

main_function.cpp 这是我在C++中的主要功能,例如,它可以完美地用作二进制文件.

#include "main_function.h"

extern "C" void getPoints (uchar *data, float *points, int rows, int cols, const char *trackername) {
    //load detector model
    face_tracker tracker = load_ft<face_tracker>(trackername);

    //create tracker parameters
    face_tracker_params p; p.robust = false;
    p.ssize.resize(3);
    p.ssize[0] = Size(21,21);
    p.ssize[1] = Size(11,11);
    p.ssize[2] = Size(5,5);

    Mat im = Mat(Size(cols, rows), CV_8U, data);

    if(tracker.track(im,p))
        tracker.draw(im, points);

}
Run Code Online (Sandbox Code Playgroud)

main_function.h

#include "opencv_hotshots/ft/ft.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>

extern "C" {
    void getPoints (uchar *data, float *points, int rows, …
Run Code Online (Sandbox Code Playgroud)

c++ unity-game-engine unityscript

9
推荐指数
1
解决办法
2416
查看次数

如何在Unity中设置文本的字体大小?

如何使标签中的字体大小变大?

我用这个函数来显示文字:

function OnGUI()
{
    GUI.color = Color.green;
    GUI.Label(Rect(500,350,200,50),"Lose");
}
Run Code Online (Sandbox Code Playgroud)

这导致:

如何让这个文字更大?

unity-game-engine unityscript

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

在Unity3D中仅显示和渲染线框中的特定对象

我想知道如何在线框中查看和渲染特定的游戏对象(网格),而不是整个场景.我可以将场景更改为线框使用,GL.wireframe但我想要查看的问题并且只渲染线框中的某个对象(不是整个场景).有什么建议吗?

unity-game-engine unityscript

8
推荐指数
1
解决办法
7409
查看次数

在运行时将.OBJ加载到Unity中

我的工作是编写一个代码,在运行时将.OBJ加载到Unity中.Unity在其维基页面中提供了示例代码.我使用以下代码来使用链接中给出的类:

public class Main : MonoBehaviour {

    // Use this for initialization
    void Start () {
        Mesh holderMesh = new Mesh ();
        ObjImporter newMesh = new ObjImporter();
        holderMesh = newMesh.ImportFile("C:/Users/cvpa2/Desktop/ng/output.obj");
    }
Run Code Online (Sandbox Code Playgroud)

我在Unity Monodevelop中没有收到任何错误,但模型也没有加载.可能的解决方案是什么?

c# unity-game-engine unityscript

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