Articles of 统一

我怎样才能在Unity 4.5中实现更逼真的动量系统?

我刚刚开始与团结,并在一个简单的环境,有一个球体和坡道。 当球接近斜坡时,一切都很好。 一旦球体撞到斜坡就是我遇到麻烦的地方。 速度瞬间减小,当它从斜坡的末端开始时,立即恢复到速度,就像在地面上一样。 我不知道这是否可以通过Unity中的一些设置进行更改,或者我将不得不编写一些代码。 这里是我到目前为止的物理代码(用C#): public class PlayerController : MonoBehaviour { public float speed; void FixedUpdate(){ float moveHorizontal = Input.GetAxis("Horizontal"); float moveVertical = Input.GetAxis("Vertical"); Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical); rigidbody.AddForce(movement * speed * Time.deltaTime); } }

国际象棋游戏(国际象棋)的服务器结构

我正在做一个基于回合的游戏(国际象棋) 我已经完成了客​​户端和单人模式,所以AI在这里没有问题。 但唯一的问题是现在我想让我的项目多人游戏。 我已经完成了设置和检索高分和其他信息的部分。 现在我卡在服务器结构,因为我不知道要使用哪个服务器: 我的游戏多人游戏结构: 用户login 可以select3间客房 每个房间里面有10个层次(房间) 游戏会根据玩家的等级自动发送每个玩家到一个幕布房间 玩家将被分配到彼此并开始游戏 每个玩家都有30秒的时间进行动作,否则他们就会失去动作 最后分数将被发送到数据库 朋友提示的选项: SmartFox Google App Engine 为什么不使用上述服务器: 一些我不需要的function(性能) 我的项目是一个小项目(自学不需要准备服务器) 为了教育目的,我需要自己做 程序使用的语言: Clint-> C# 服务器 – > PHP,SQL 问题: HTTP是否足以处理500-1000个用户? 可以在Unity2D中使用WWW和WWWFORM处理这类游戏? 如果没有任何select? 谢谢

触摸处于活动状态时向上移动一个对象

我正尝试在触摸处于活动状态时将对象移动到屏幕的顶部。 这是我现在的代码。 当我触摸屏幕时,我想移动的对象只是保持它的位置(从这一点来看重力似乎被禁用了)。 如果有人能帮助我,我会很高兴。 提前致谢! public class PlayerScript : MonoBehaviour { public Vector2 jumpForce = new Vector2(0, 12); public int speed = 3; void Update() { for (int i = 0; i < Input.touchCount; i++) { Touch touch = Input.GetTouch (i); while(touch.phase == TouchPhase.Began) { // Touch are screens location. Convert to world rigidbody2D.velocity = […]

在Unity 3D中实施摆动/平衡机制的适当方法是什么?

我们正试图实现一个小游戏,玩家角色坐在一个弹跳球上,需要a)向前移动向前移动,b)向左/向右击调整球的自然摆动(换句话说,如果球向左倾斜,你必须右击)。 我们试图通过设置球的弹性和重量来实现这一点,使得当球员不在球时自然弹跳,然后将球员模型固定在球上(换句话说,将他们作为一个单元处理),然后让球CharacterController在继续弹跳时控制单元。 然而,无论如何调整各种因素(弹性,重量,input乘数,引力),球仍然相当敏感,最终螺旋失控。 我们特别希望让玩家有机会重新获得控制权。 我玩过一些需要某种基于reflection的摆动/平衡机制的游戏。 这里有一个一般的方法,我们失踪了吗? 这个问题是一个小型的学术项目,所以我们想知道是否有我们需要的特定组件,或者我们错过的物理引擎的一部分,或者我们应该查找的技术 – 但是请不要发布代码。 除了使用Unity 3D之外,这里没有项目需求(例如,分配不是“实现弹跳小游戏”)。

统一与同一个对象的实例碰撞的问题

我想检查对象的实例是否与另一个实例重叠(任何生成的对象与另一个衍生的对象,不需要相同的对象)。 我是通过检测身体之间的碰撞来做到这一点的。 但是我有一个问题。 生成的对象(实例)正在检测与其他所有对象的碰撞。 我已经检查了碰撞层等。所有产生的物体都有刚体和网格碰撞体。 另外,当我把脚本附加到另一个物体上时,我用一个实例化的物体碰触到物体,它检测到碰撞。 所以只有在产生的对象之间碰撞时才能看到问题。 而更多的信息我有脚本,刚体和对撞机附加到主要对象的孩子。 using UnityEngine; using System.Collections; public class CantPlace : MonoBehaviour { public bool collided = false; // Use this for initialization void Start () { } // Update is called once per frame void Update () { //Debug.Log (collided); } void OnTriggerEnter(Collider collider) { //if (true) { //foreach […]

交通工具:船在加速和转向统一

我试图在Unity中制作一个可以控制玩家的船,并且遇到了我的代码问题。 1)我想使船只稳步加速和减速,而不是简单地把速度告诉我。 2)我想让玩家不能驾驶船只,除非它正在移动。 3)如果可能的话,我想模拟船在运动过程中的垂直漂浮(上下) 我目前的代码(C#)是这样的: using UnityEngine; using System.Collections; public class VehicleScript : MonoBehaviour { public float speed=10; public float rotationspeed=50; // Use this for initialization // Update is called once per frame void Update () { // Forward movement if(Input.GetKey(KeyCode.I)) speed = transform.Translate (Vector3.left*speed*Time.deltaTime); // Backward movement if(Input.GetKey(KeyCode.K)) transform.Translate (Vector3.right*speed*Time.deltaTime); // Left movement if(Input.GetKey(KeyCode.J)) […]

2D游戏简单的心脏容器脚本(统一)?

我试图创建一个简单的手机游戏(C#),涉及一个简单的三心生活系统。 在网上search了几个小时之后,许多解决scheme都使用了OnGUI(这显然对于性能来说太可怕了),其余的太复杂了,我不能理解并添加到我的代码中。 其他解决scheme涉及使用一个纹理,只是在损坏时隐藏其中的一部分。 但是在我的游戏中,玩家应该能够超越三颗心(例如,每100分)。 塞巴斯蒂安·拉格的塞尔达风格的健康是我正在寻找,但即使这是一个教程有太多的事情,我不需要或不能定制,以适应我的。 我到目前为止是一个叫做HealthScript.cs的脚本,它包含一个variableslives 。 我有另一个脚本PlayerPhysics.cs ,它调用HealthScript,并在命中敌人时减去生命。 我没有得到的部分其实是画心。 我想我知道需要发生什么,我只是没有足够的经验与团结知道如何。 启动function应该在右上角绘制三个(或任何设定的lives )心脏。 由于游戏应该是独立于分辨率以适应各种尺寸的Android设备,所以我宁愿使用缩放而不是PixelInset 。 当PlayerPhysics.cs检测到玩家击中敌人时,它应该从lives减去。 我认为我有这个工作使用this.GetComponent<HealthScript>().lives -= 1但我不知道它是否实际工作。 这应该引起重新绘制的心,使现在有两颗心。 除了当lives > maxHeartsPerRow ,新的心脏应该被绘制在旧的心脏以下,同样的原则将适用于达到分数时join心脏。 我意识到我没有太多的代码显示,但相信我; 我试了很长一段时间才弄清楚,没有什么可以certificate的。 任何帮助都是值得欢迎的。 似乎不应该花费太多的代码在屏幕上为每个生活都放置一个图像,但我还没有find任何东西。 谢谢!

团结物理材料 – 人物幻灯片太多

我目前正在Unity的2D平台上工作。 我正在使用来自AssetStore的预制件作为我的角色(最后一段包含预制件的链接)。 角色有一个圆形的对撞机,以便他可以爬上斜坡。 我遇到的问题是,因为它是一个圆形对撞机,他也滑下任何斜坡。 我意识到,我可以添加一个物理材料的摩擦variables的对撞机停止(或至less抵制)的滑动,但如果我加上任何摩擦大于0.1以上的角色可以与墙壁碰撞,以阻止自己跌倒0.1还不足以阻止他滑倒斜坡。 所以我的问题是,我怎样才能阻止角色滑倒斜坡,而不让玩家通过撞墙来阻止自己坠落? 我正在使用的预制是在这里find的资产,它的磁盘位置是Sample Assets / 2D / Prefabs / 2D Character

使用Shuriken创建充电粒子

我一直试图使用Shuriken粒子系统创造一个充电效果的时间最长,我几乎没有运气。 我试着设置不同的时间和颜色随着时间的推移曲线,但我总是空着。 不过,我已经看到了充电粒子的例子。 我见过的最新的充电粒子的例子是从太空牛仔游戏果酱入门LOS CUERVOS。 游戏中有一个激光船,要求玩家在发生火灾之前按下button。 看起来像这样充电和射击。 我特别提到围绕随着时间的推移逐渐增长的光球周围的粒子。 我想知道是否有人知道我在设置粒子系统时可能会做错什么。 任何有关这个问题的建议都会非常感激。

如何在编辑器模式下遍历AnimationClip的框架

我正在开发2D游戏,使用spritesheets作为四个AnimationClip的基础。 (Spritesheet中的每一帧都是animation中的一个关键帧。)我试图逐步遍历这些AnimationClip的帧,并以编程方式创建符合每个帧的尺寸的Collider2D 。 问题是,我有一个不可能的时间实际上遍历帧。 我的角色有一个Animator组件,有4种不同的状态。 我已经尝试了各种input到我的编辑脚本,但最接近我有一个AnimationClip作为input: private AnimationClip clip; // set in inspector private GameObject targetForColliders; // set in inspector void createColliders() { Animation animation = new Animation(); AnimationUtility.SetAnimationClips(animation, new AnimationClip[] { clip }); foreach (AnimationState state in animation) { // do useful things here } } 不幸的是,不知何故, animation局部variables是空的,听起来很疯狂。 我已经确认,通过logging和试图使用它,每次都会导致NullReferenceException 。 我无法直接访问包含spritesheet的Sprite ,因为我已经在Unity中对关键帧进行了手动调整(删除了一些,重复其他),而且我也不想手动同步碰撞对象和修改过的资源。 有没有人试图做类似于此之前? tl; […]