unity 碰撞器粒子特效

qq_33359019 2017-05-17 05:00:01


你好!就是这个情况。dust是粒子特效,想要正方体移动,如果碰到球体,就出现dust粒子,离开就消失,请问完整的代码怎么写?十分着急 万分感谢!
...全文
856 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
avi9111 2017-05-18
  • 打赏
  • 举报
回复
double check还是重要的,无论你多有经验
avi9111 2017-05-18
  • 打赏
  • 举报
回复
//这里写你的逻辑(一开始dust可以diable,实现方法可以有很多种) GameObject dust = GameObject.Find(“Dust”);//手写的代码,我就是在这里随便写的,并没有在MONODEVELOP,测试过这里可能会找不到自己DEBUG一下, dust.SetActive (true);//这行代码我从monodeveop粘贴过来的,这行代码靠谱 //刚才上面写错了一点。。。。。。。。。。。
avi9111 2017-05-18
  • 打赏
  • 举报
回复
参考链接: https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html 以下粘贴+手写,没全部运行过,请自行参考。。。。。。。。。。 当你有一点程序经验,又不太想往程序方面发展,建议用用FSM等工具,assets store有, 再多说2句吧,最近在弄的一个商业代码,5个左右客户端程序员,做了半年,我几乎没在里面看到一行collider碰撞检测代码,碰撞那都是给老师玩的,别老师这么教你就这么学,真正的商业手游根本不需要碰撞,也很难掌握(所以我并没有什么现行代码可以给你参考),例如皇者荣耀,服务器战场通讯不说(我根本不需要判断是不是碰撞,服务器做的,但是你觉得服务器和客户端一样写碰撞代码?),有很多“资深”程序员也尝试写转盘代码的,100%转动?骗小孩捏,那为什么有0%几率,我就是要把这个商业代码改成单机,但是我知道了position, rotation speed, time.deltatime,碰不碰撞都是分分钟掌握的事,连位置和角度都掌握不了,就别做物理碰撞了 using UnityEngine; using System.Collections; //把这个脚本拖到Cube对象,会生成脚本component public class ExampleClass : MonoBehaviour { // AudioSource audio; void Start() { // audio = GetComponent<AudioSource>(); } //这个on方法是一个声明方法,cube对象好像同时要有collider component, collider会通过sendmessage,调用这个方法, //也就是就是每次碰撞会触发这个方法 void OnCollisionEnter(Collision collision) { // //这里写你的逻辑(一开始dust可以diable,实现方法可以有很多种) GameObject dust = GameObject.Find(“Dust”);//手写的代码,我就是在这里随便写的,并没有在MONODEVELOP,测试过这里可能会找不到自己DEBUG一下, gameObject.SetActive (true);//这行代码我从monodeveop粘贴过来的,这行代码靠谱 //参考的逻辑 foreach (ContactPoint contact in collision.contacts) { Debug.DrawRay(contact.point, contact.normal, Color.white); } if (collision.relativeVelocity.magnitude > 2) audio.Play(); } }

2,586

社区成员

发帖
与我相关
我的任务
社区描述
Unity3D相关内容讨论专区
游戏unity 技术论坛(原bbs)
社区管理员
  • Unity3D
  • 芝麻粒儿
  • 「已注销」
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

Unity3D社区公告:

  1. 社区致力于解决各种Unity3D相关的“疑难杂症”。
  2. 社区不允许发布与Unity3D或相关技术无关内容。
  3. 社区版主邀请各位一道为打造优秀社区不懈努力。

试试用AI创作助手写篇文章吧