❶ unity 为什么我做的子弹发射出来与目标不会产生碰撞,而把子弹无初速度放在目标位置,却会产生碰撞
你的子弹移动的实现是不是通过transform类中的Translate方法来实现的,如果是的话那么碰撞体是会被忽视的。你需要给你的子弹对象添加一个刚体属性,即Rigidbody,然后调用Rigidbody类下的AddForce或者MovePosition方法来控制子弹移动,这样当碰撞发生时碰撞器就会触发碰撞。
❷ unity3d C#写发射子弹的程序怎么写
木有类型转换
GameObject n=Instantiate(newobject,transform.position,transform.rotation) as GameObject;
Transform nt=n.transform;
Js和C#不同,Instantiate返回的是Object类,需版要类型转换权
❸ Unity的2D游戏制作中,做了个发射子弹的功能,创建的新的子弹的GameObject可以实现功能,但是无法显示
你创建的子弹是在Hierarchy面板中就没有,还是在Hierarchy有你创建的子弹,而scene视图中看不到,你的这些代码是没有问题的,只要你的ammo[0]是有值的,还有你的mouse_pos是什么,是鼠标点击位置转化成的世界坐标?转化时候有没有给z值。再继续追问吧,你给的这些信息找不出错误原因
❹ Unity3D怎么实现主角被子弹击中减血
大概思路..
1、主角添加rigidbody和collider(capsule,box都可以,看自己需要),主角添加tag为Player;
2、子弹添加rigidbody和collider;
3、主回角付一个答叫PlayerRole C#脚本,添加 public int blood = 10;
4、子弹付一个C#脚本,实现OnCollisionEnter(Collision other) 方法,判断collision的tag是不是Player,如果是,得到Player中PlayerRole脚本组件,再减血;如
void OnCollisionEnter(Collision other)
{
if(other.gamerObject.tag == "Player")
{
PlayerRole playerRole = other.gamerObject.getComponet<PlayerRole >();
playerRole -= 5;//扣主角5滴血
}
}
❺ unity3d中如果镜头发射子弹,鼠标左键发射子弹镜头向下走,ctrl发射没这种情况,怎么回事
这问题可能是由于代码造成,也可能是运动物理造成,不知道具体你的工程怎么做的发射,原因也没法说,不过你要是做射击游戏的话,建议,用射线检测来替换发射子弹的方法,子弹只做粒子特效,不要做真实的子弹.
具体的问题,你可以取unity3d网络贴吧提问,那里会说的比较明白一些
❻ unity怎么用C#写个发射子弹的脚本
我这边不好打代码,我用文字给你描述一下,你直接替换成代码就好:将下面脚本挂在你的枪上
定义一个gameobject类型的子弹;//可以在编辑器中拖拽一个子弹物体给他,例如:一个小球
void update()
{
if(按下鼠标左键)
{
用上面创建的子弹克隆一个新子弹,最好用一个临时变量装起来,好方便下面的操作;
在枪的前方向附加一个力给新克隆的子弹;
}
}
❼ unity 射击游戏 子弹射线 从准星射出
Ray ray = Camera.main.ScreenPointToRay(new vector3(screen.width/2,screen.height/2,0));
准星对应的射线
❽ 在unity中做射击游戏需要"真的"子弹做碰撞吗
不是很清楚啊,没有了解过这方面的,我都是玩火源计划,我玩着还挺顺手的,闪金荒原是你旅途的第二站,在这片被烈日炙烤的贫瘠之地上,你将四处奔波,寻求同盟。但不幸的是,正值大量外星野兽迁徙,无数的地外生物蜂拥而至,如潮水一般淹没这片土地。你在消灭这些过境野兽的同时,也要时刻提防当地武装分子的袭击。这是游戏的介绍
❾ unity3d射击游戏如何让子弹从鼠标的位置向屏幕里面射出(就像死亡鬼屋那样)
屏幕位置做射线,检测射击点,相机到目标的向量就是子弹的发射方向