小编Dra*_*ber的帖子

Unity界面选择在“场景视图”中单击

如果没有先在层次结构中选择对象,Unity将不允许我在场景中选择对象。就是我在该问题上能找到的全部。

但是,似乎他们决定关闭和打开场景窗口已修复了该错误,但对我而言并非如此。另请注意,我在一个空白项目上。解决此错误确实非常困难。

编辑:我什至卸载了Unity并重新安装,希望这可以解决问题,但是不幸的是,它没有。感谢您的提前帮助。

老实说,这是一个奇怪的问题,我很难知道如何尝试解决该问题。我还按照NoëlWidmer的建议报告了该错误,但是即使是非常友善的员工也不知道如何处理该问题,他给出的建议也没有改变。的确,我什至不知道还能为您提供更多的信息,因为正如我所说,我从字面上看是在重新安装后第一次打开了一个新的Unity项目,并且如果不先单击层次结构便无法选择。这只是与我一起发生的特殊情况吗?还是其他任何人都发生过?另外,我使用的是一台使用两年的Windows 8笔记本电脑,除了Adobe套件和其他一些游戏开发人员外,几乎没有安装任何其他东西,因此我的电脑很可能不是问题的根源。

编辑:一个线索?好吧,我正在全屏浏览场景和层次结构视图,在单击层次结构中的对象并在场景视图中移动对象之后,我注意到了一些有趣的东西: 在此处输入图片说明 不幸的是,我的PrintScreen没有显示实际的鼠标,但是正如您所看到的那样,场景视图的行为就像我在单击对象一样,但是与此同时,我看到的是真正的鼠标向右下方!同样,当我在场景编辑器上选择一个对象并将鼠标从场景窗口移开时,东西会有些松动,鼠标会在窗口的另一侧弹出,依此类推。我不知道这对每个人来说是否正常,是否正常,是否只有我自己,这可能有助于弄清发生了什么。

伙计,我真的很喜欢Unity,但是如果保持这种状态,我想我必须放弃它并找到另一个软件,因为如果必须每次选择层次结构上的对象,我肯定将无法设计任何有价值的东西每个对象的时间。

unity-game-engine

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

预制Collider2D未被识别为Raycast Collider

大家好:)这是情况:

我有一个baddy预制件,它有两个碰撞器组件:一个用于物理的简单CapsuleCollider2D,以及一个仅用于鼠标点碰撞的触发器PolygonCollider2D.

PolygonCollider2D仅在需要时通过附加脚本(Baddy.cs)更新:

if(this.gameObject.GetComponent<PolygonCollider2D>()!=null){
     Destroy(this.gameObject.GetComponent<PolygonCollider2D>());
 }
 this.gameObject.AddComponent<PolygonCollider2D>();
 this.gameObject.GetComponent<PolygonCollider2D>().isTrigger=true;
Run Code Online (Sandbox Code Playgroud)

是的,这是不好的做法,但它完成了工作.它完美地工作:在游戏的场景视图中我可以暂停并看到我们的baddy预制件上确实存在多边形对撞机.

在另一个附加脚本(CollisionHandler.cs)中,我们检查我们的baddy上的鼠标按下:

 if(MousePress()){
     hit=Physics2D.Raycast(level.mousePoint, Vector2.zero, 0f);
     if(hit&&hit.collider==this.gameObject.GetComponent<PolygonCollider2D>()){
         print("baddy mousePress");
     }
 }
Run Code Online (Sandbox Code Playgroud)

然而hit.collider==this.gameObject.GetComponent<PolygonCollider2D>()结果是错误的,即使我可以打印两个hit.collider并且this.gameObject.GetComponent<PolygonCollider2D>()在我们之前立即打印if(MousePress())并将它们定义为:

 D_Prefab(Clone) (UnityEngine.PolygonCollider2D)
Run Code Online (Sandbox Code Playgroud)

它们不能是不同的PolygonColliders,因为一次只能有一个,因为我们的Baddy脚本同时删除并创建了PolygonCollider.

什么想法可能会出错?

c# physics collision unity5

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

平台游戏:屏幕移动方法不起作用

这是我的flash游戏没有vcam或任何其他屏幕移动方法:http: //www.swfcabin.com/open/1389129611我使用hitTestPoint方法来处理我的碰撞.但是,当我尝试添加一个vcam时,结果是:http://www.swfcabin.com/open/1389130109这有 什么奇怪的吗?我用于vcam的代码是:

stage.addEventListener(Event.ENTER_FRAME,update_vcam);
function update_vcam(e:Event){
    vcam.x=char.x;
    vcam.y=char.y;
}
Run Code Online (Sandbox Code Playgroud)

vcam的尺寸与舞台完全相同(并且与舞台完全对齐).我使用了"Jazza"的虚拟相机.我也尝试了许多其他的vcams,但每个人都被证明是混乱的.我曾经在as2天里一直使用vcams,他们总是工作.这不是我尝试过的唯一方法.我也试过移动地面而不是角色.结果如下:http: //www.swfcabin.com/open/1389130683 我完全不知道发生了什么.有任何想法吗?

Drake Swartzy

flash actionscript-3

0
推荐指数
1
解决办法
979
查看次数

unity C# Raycast 鼠标点击

我真的花了一整天的时间研究 Unity C# Raycasting 的光线,但我没有什么可展示的。我研究了教程、在线资源、堆栈溢出问题,甚至逐字逐句复制了脚本,希望 Unity 最终能够识别我实际使用 Raycast 的所有尝试。这是一个使用 Raycast 的脚本示例,它对我不起作用:

if (mouseDown) {
    print ("mouse is down");
    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
    RaycastHit hit;
    if (Physics.Raycast(ray, out hit)) {
        print ("response???");
    }
}
Run Code Online (Sandbox Code Playgroud)

我觉得这应该有效......但事实并非如此。mouseDown 正在正常工作,但是当我单击我的对象时,它拒绝确认从我的鼠标位置到对象的射线命中。我还应该提到该项目是二维的。有什么建议?

c# mouse click unity-game-engine raycasting

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