1. 新建plateForm预制件,添加脚本,加入四种不同的材质球及物理材质,即可使脚下的阶梯实现四种不同效果

using UnityEngine;
using System.Collections;
using System.Collections.Generic;public class PlateFormMan : MonoBehaviour {public Material[] mats;public PhysicMaterial[] phyMats;public int gameObjectNumber;public Vector3 startPosition;Vector3 nextPosition;public Transform prefab;Queue<Transform> queue;public int maxY, minY;public Vector3 minGap, maxGip;public Vector3 minSize, maxSize;public float offset;void Start(){queue = new Queue<Transform>();for (int i = 0; i < gameObjectNumber;i++ ){queue.Enqueue((Transform)GameObject.Instantiate(prefab));}nextPosition = startPosition;for (int i = 0; i < gameObjectNumber;i++ ){Recycle();}}private void Recycle(){Vector3 position = nextPosition;Vector3 scale = new Vector3(Random.Range(minSize.x,maxSize.x),1,1);position.x += scale.x * 0.5f;position.y += scale.y * 0.5f;Transform t = queue.Dequeue();t.localScale = scale;t.position = position;int r = Random.Range(0,mats.Length);t.renderer.material = mats[r];t.collider.material = phyMats[r];nextPosition += new Vector3(scale.x+Random.Range(minGap.x,maxGip.x),scale.y+Random.Range(minGap.y,maxGip.y),Random.Range(minGap.z,maxGip.z));if(nextPosition.y>maxY){nextPosition.y = maxY - Random.Range(minGap.y,maxGip.y);}if(nextPosition.y<minY){nextPosition.y = maxY + Random.Range(minGap.y,maxGip.y);}queue.Enqueue(t);}void Update(){if(RunnerScript.distance-queue.Peek().position.x>=offset){Recycle();}}
}

2. 给runner添加rigidbody(刚体),使用重力,添加脚本,将各项参数设置好之后就实现了runner在阶梯上行进,跳跃的效果

using UnityEngine;
using System.Collections;public class RunnerScript : MonoBehaviour {public static float distance;public Vector3 jumpVelocity;bool isOnPlateForm=false;void Update(){transform.Translate(5f * Time.deltaTime, 0, 0);distance = transform.position.x;if(Input.GetButtonDown("Jump")){if(isOnPlateForm){rigidbody.AddForce(jumpVelocity, ForceMode.VelocityChange);}}}void OnCollisionEnter(){isOnPlateForm = true;}void OnCollisionExit(){isOnPlateForm = false;}}

unity学习(三)相关推荐

  1. Unity学习记录——模型与动画

    Unity学习记录--模型与动画 前言 ​ 本文是中山大学软件工程学院2020级3d游戏编程与设计的作业7 编程题:智能巡逻兵 1.学习参考 ​ 除去老师在课堂上讲的内容,本次作业代码与操作主要参考了 ...

  2. Unity学习笔记(4)-----粒子效果的实现

    Unity学习笔记(4)-–粒子效果的实现 一.效果展示 下面用若干张张动图展示效果: 大概就是这样,并不是很难. 实际效果要比图中的好一点(顺畅得多). 实现步骤 大致可以分为如下几个步骤,然后逐个 ...

  3. Unity学习shader笔记[一百]简单焦散Caustic效果

    焦散是模仿光透过水底的一个投影景象 有两个版本,改版最后效果如下 这里是简单的基于物体的焦散,基于水体的焦散思路是水面物体的shader中拿到ColorBuffer,然后用水体的屏幕空间坐标取采集Co ...

  4. Unity学习笔记1 简易2D横版RPG游戏制作(一)

    这个教程是参考一个YouTube上面的教程做的,原作者的教程做得比较简单,我先参考着做一遍,毕竟我也只是个初学者,还没办法完全自制哈哈.不过我之前也看过一个2D平台游戏的系列教程了,以后会整合起来,做 ...

  5. 【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码

    [Unity学习笔记][Unity中文课堂教程] C#中级编程代码 最近想补一补C#基础,Unity官方的C#中级编程教程质量很高,于是开个帖子把跟着敲+记录了部分价讲解和我自己的理解的代码存在这 原 ...

  6. Unity学习资源指南[精心整理]

    前言 进入一个领域,最直接有效的方法就是寻找相关综述性文章,首先你需要对你入门的领域有个概括性的了解,这些包括: 1.主流的学习社区与网站. 2.该领域的知名大牛与热心分享的从业者. 3.如何有效的激 ...

  7. Unity学习笔记:Unity 3D 飞机大战

    Unity学习笔记:Unity 3D 飞机大战 1.打开unity软件后,首先新建Quad作为背景,导入飞机模型,并为其添加刚体 然后创建C#脚本,挂载到飞机上. 2.给飞机创建子弹,让子弹成为预制体 ...

  8. unity学习小球酷跑

    unity学习小球酷跑 一.创建两个cube,在3dboject里,拉好合适的长度. 二.用相机选择一个背景 选择纯色,在选一个颜色. 最后的效果如上. 三.创建一个小球 在3d object里创建一 ...

  9. unity学习笔记-特效篇

    unity学习笔记 传送门特效 火焰特效 传送门特效 由于动画师的动画制作遇到了一些小问题,只能先做其他功能的摸索了~ 本来想记录一下服务器搭建的,但是在消息传输的部分遇到了一些bug,可能是消息解析 ...

  10. Unity学习之预制件变体

    预制件变体(PrefabVariant) 文章目录 预制件变体(PrefabVariant) 前言 一.预制件变体是什么? 总结 前言 在今天的Unity学习中看到了与预制体变量相关的内容,简单的记录 ...

最新文章

  1. 如何给页面加上loding_如何给片头添加字幕?视频剪辑大神们都这样玩
  2. Metasploit新增技巧提示功能
  3. 职场减压妙计:主动降职
  4. 牛人写SCI常用经典词和常用句型
  5. SpringBoot2.x 同个文件的加载顺序,静态资源文件
  6. 记录下Visual Studio中的快捷键
  7. IEEE会议论文模板下载
  8. obj文件格式学习(自用)
  9. 怎么做硬件产品的需求分析?
  10. Windows 2000/xp/2003 常用补丁下载
  11. 23.卷积神经网络实战-ResNet
  12. slotformatcombinations_向未授权频谱中的小区应用时隙格式指示的方法和设备与流程...
  13. 图片马赛克处理以及上传保存—网页端
  14. 聚苯乙烯核-聚(丙烯酰胺-丙烯酸)壳荧光素微球/磺酸官能化聚苯乙烯高荧光微球的制备
  15. GIS Geography
  16. 2022年网络安全六大趋势预测
  17. Android源码下载方法、云盘链接、在线阅读
  18. 中颐软启动器说明书_软启动器说明书
  19. 南京大学计算机学院宋教授,宋云教授
  20. 2020年软考信息安全工程师_基础知识精讲免费视频-任铄-专题视频课程

热门文章

  1. Vue实现导航栏吸顶效果
  2. unity快速导入Vuforia9.1.7(解决导入过程中一直 Resolving packages 的问题 )
  3. 《白帽子讲web安全》读书笔记以及读后感
  4. Linux中用命令导出数据库(mysql)
  5. outlook 回复邮件的邮件头使用RE而不是回复
  6. python 将MP3格式转换为WAV格式(ffmpeg安装,使用pycharm安装包)
  7. 编写基于DM3730 ARM-A8内核测试程序(裸机版)3---X-LOADER/U-BOOT下载
  8. 在ArcGIS Pro中进行拓扑编辑和错误处理
  9. Kotlin鱿鱼游戏大奖赛
  10. 2018年上海各区重点小学排名