96SEO 2026-02-20 09:55 18
刚体组件可使游戏对象受物理引擎控制在受到外力时产生真实世界中的运动重力、弹力、摩擦力

OnCollisionEnter(Collision/kəˈlɪʒ(ə)n/
collo***r.collider.GetComponent
//重载15Raycast(起点坐标方向受击物体信息距离检测的层)
if(physics.Raycast(this.transform.position,this.transform.forward,out
targetPosthis.transform.positionthis.transform.forward*100;//物体正前方100米
Vector3.MoveTowards(this.transform.position,targetPos,Time.deltaTime*100);
if((this.transform.position-targetPos).sqrMagnitude/ˈmæɡnɪtjuːd/0.1f)
Destory(this.gameObject);//销毁子弹
·创建脚本—单发枪SingleGun继承自Gun根据玩家输入调用相应开关、更换弹匣方法
·创建脚本—子弹Bullet计算攻击的目标点执行移动创建接触特效
·创建脚本—玩家子弹PlayerBullet,继承自Bullet根据击中敌人部位减血
·创建脚本—敌人子弹EnemyBullet,继承自Bullet根据击中玩家后减血
{gunGetComponentInChildrenGun();}
motor.LookRotation(playerStatusInfo.Instance.headTF.position);
gun.Firing(playerStatusInfo.Instance.headTF.position-gun.firePointTF,position);
this.transform.LookAt(targetPoint);//会出现头部高于自身物体
targetPoint.ythis.transform.position.y;
Quaternion.LookRotation(targetPoint
Quaternion.Lerp(this.transform.rotation,
CalculateTargetPoint(){//当前位置枪口位置当前方向枪口方向受击目标信息攻击最大距离射线检测层if
(Physics.Raycast(this.transform.position,
Movement(){this.transform.position
Vector3.MoveTowards(this.transform.position,
Time.deltaTime);}//到达目标点销毁创建相关特效//根据目标点物体的标签hit.collider.tag创建特效private
Awake(){CalculateTargetPoint();}//
Update(){Movement();//如果到达目标点if((this.transform.position-targetPos).sqrMagnitude0.1f){Destroy(this.gameObject);GenerateContactEffect()}}///
return;//根据目标物体标签创建相应特效//switch(hit.collider.tag)【弊端】每次增加标签都得创建代码//{//
break;//}//特效名称存放路径接触物体标签//资源较多通过代码读取资源用Recources读取资源必须放到Recources/hit.collider.tag);if(prefabGo)//创建资源(资源预设体目标点位置向法线方向移动0.01米z轴朝向法线方向Instantiate(prefabGo,targetPoshit.normal*0.01f,Quaternion.LookRotation(hit.normal));}
amount;if(HP0){Death();}}public
o***r){//如果与玩家接触if(o***r.tag标签){//玩家减血//调用玩家的受伤方法把攻击力传进去playerStatusInfo.Instance.Damage(atk);//销毁子弹Destroy(this.gameObject);}}
CalculateAttackForce();//base.hit.collider.name;//击中敌人部位的名称if(hit.collider!nullhit.collider.tagEnemy)hit.collider.GetComponentInParentEnemyStatusInfo().Damage(atk);}//
CalculateAttackForce(){//【建议】使用配置文件替换//根据受击物体部位名称switch(hit.collider.name){case
UnityEngine;[RequireComponent(typeof(AudioSource))]
BulletPrefab;//需要发射的子弹预设体private
direction){//玩家枪发射枪口方向//敌人发射从枪口位置朝向玩家头部位置//如果敌人枪没有动画则不调用准备子弹方法如果准备子弹失败if
return;//判断弹匣内是否包含子弹//发射子弹//播放音频、动画audioSaurce.PlayOneShot(clip);if(anim)anim.action.Play(anim.fireAnimName);muzzleFlash.DisplayFlash();//创建子弹(instantiate创建出来的是Object转换成GameObject)GameObject
bulletgoInstantiate(BulletPrefab,
Quaternion.LookRotation(direction))as
GameObject;//传递信息bulletgo.GetComponentBullet().atk
Ready(){//如果弹匣内没有子弹或更换弹匣动画正在播放if
anim.action.Isplaying(anim.UpdateAmmoAnimeName))return
false;//减少弹匣内子弹数currentAmmoNullets--;//如果缺少子弹播放缺少子弹动画if
0)anim.action.play(anim.lackBulletAnimeName);return
Start(){base.Start();//子类做的事}//
Update(){if(Input.GetMouseButtonDown(0)){base.Firing(firePoint);}}
Awake(){//动画组件在孩子身上怎么找呢——action
AnimationAction(GetComponentInChildrenAnimation());}
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback