初学unity(简单场景制作)
首先,新建立一个空白场景(纯英文路径)。
加入一个空的游戏物体,在其子目录创建两个子物体,取名Close和Far(利用这两个做游戏背景),将这两个游戏体拖入下方Assets中,作为预置体,补充相应的材质球来做出想要的颜色,然后添加一个C#脚本(命名为House)。
在Assets中,新建一个文件夹Runner作为移动的视角,添加一个C#脚本(命名为Run)。
打开House,编写代码
using UnityEngine;
using System.Collections;
using System.Collections.Generic;//为了使用Queuepublic class House : MonoBehaviour {public Transform g;//公有,为了加入Cube//私有,代码内部建立,为了重复建立CubeQueue<Transform> queueObject;public int queueLength;//设置queue长度public Vector3 minSize;//设置物体最小体积public Vector3 maxSize;//设置物体最大体积public Vector3 startPosition;//设置开始坐标Vector3 nextPosition;//下一个物体的坐标public float offSet;//是否在物体后建立新物体的参考数值// Use this for initializationvoid Start () {//初始化queueObject = new Queue<Transform>(queueLength);//将Cube循环加入到queuefor (int i = 0; i < queueLength; i++){queueObject.Enqueue((Transform)GameObject.Instantiate(g));}//将初始数值付给下一步数值nextPosition = startPosition;for (int i = 0; i < queueLength; i++){Resever();}}private void Resever(){//取出queue的物体对其设置Transform o = queueObject.Dequeue();//通过随机数设置坐标o.localScale = new Vector3(Random.Range(minSize.x,maxSize.x),Random.Range(minSize.y,maxSize.y),Random.Range(minSize.x,maxSize.z));//中间变量Vector3 mid = nextPosition;//取x方向一半大小将其累加在mid中mid.x += o.localScale.x / 2;//使物体在同一水平面mid.y += o.localScale.y / 2;//物体坐标初始化o.localPosition = mid;//将物体的在x方向的大小累加在nextPosition的x上上nextPosition.x += o.localScale.x;//将其加入到queue的末尾queueObject.Enqueue(o);}// Update is called once per framevoid Update () {//比较其数值大小,是否新建立后边的场景if (Run.dis - queueObject.Peek().localPosition.x >= offSet){Resever();}}
}
下边是Run的代码
//定义静态值,不会再unity界面显示public static float dis;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {//设置移动速度transform.Translate(5f * Time.deltaTime, 0, 0);//将视角坐标赋给disdis = transform.position.x;}
然后将Close物体拖入到脚本中,并设置相应的参数
通过
if (Run.dis - queueObject.Peek().localPosition.x >= offSet)
可以比较视角与边界(出现在视角中较长时间)的物体移动到新的位置,即可创立出一种新的,类似于无限出现在视角中的“假象”。
最终成像
其中,随着视角的移动,物体会不停的显示,造成“无尽背景的显示”
备注:
1.创立脚本时立即更改名字,当确定后在更改名字,要将脚本中的声明一同更改。
2.拖预置件到脚本的公用变量时,若后边更改了该变量,要重新拖预制件到脚本当中
3.Localposition和Position的区别:
Position:在unity世界中的坐标
Localposition:子物体相对于父物体的坐标,若没有父物体,则默认以unity世界作为父物体
欢迎关注我的微信个人订阅号
每天多学一点0.0
初学unity(简单场景制作)相关推荐
- 天上的街市Unity游戏场景制作案例(一)
目录 Downtown Street of Heaven 场景 Unity实现过程 新建项目 场景布置 场景制作参考 移动媒介的添加 Downtown Street of Heaven 场景 Unit ...
- 【贪玩巴斯】Unity3D初学圣经(一)——学习要求 Unity简单介绍 游戏引擎介绍 课程体系介绍 「1-1 到 1-4 」—— 2021年12月9日
Unity3D初学圣经 一 --学习要求 & Unity简单介绍 & 游戏引擎介绍 & 课程体系介绍 本文对应视频P1 1-1 到P2 1-4 1.学习要求 2.Unity简单 ...
- 怎样用Unity Terrain工具制作美观的场景(四)
怎样用Unity Terrain工具制作美观的场景(四) 1.前言 这篇文章将是这个系列最后的一篇文章了,关于unity terrain工具更详细的内容,如果后面我再用到也会给大家出续集,话不多说直接 ...
- 在Unity中简单地制作一张2D地图并随机生成资源
这个作业属于哪个课程 软件工程2022年春-F班 这个作业要求在哪里 软件工程实践总结&个人技术博客 这个作业的目标 课程回顾.个人技术总结 其他参考文献 <构建之法> 目录 一. ...
- Unreal Engin_画廊制作笔记_001<设计草图,利用BSP快速搭建简单场景>
001设计草图,利用BSP快速搭建简单场景 本笔记开始记录所学的知识点以及细节操作等,分享下自己学习UE4的经验,也为了巩固知识,便于复习. 接下来我会以模块化的方式,根据步骤来分享学习制作的经验,如 ...
- Unity学习笔记—二次元日系游戏制作(实践篇-游戏初始化场景制作)
原教程:siki:二次元日系游戏制作工具 - live2dSDK入门教程 http://www.sikiedu.com/my/course/282 (上)Unity学习笔记-二次元日系游戏制作(理论篇 ...
- unity场景导入与简单场景搭建
unity场景导入与简单场景构建 unity场景导入 unity简单的场景构建 一.创建一个新的Scene场景 二.创建设置地形 三.为场景添加光照 四.设置鼠标指针图片 五.添加水面和天空盒子 un ...
- 制作unity大世界场景编辑的一点心得和注意事项(场景地编)
制作unity大世界场景的一点心得和注意事项(地编注意事项) 这是一个项目的整个注意事项,所注意点都是根据制作的项目整理的.所以在做任何项目的时候要注意举一反三. 上传场景(细节决定成败,只要细心一点 ...
- 怎样用Unity Terrain工具制作美观的场景(一)
怎样用Unity Terrain工具制作美观的场景(一) 1.前言(针对Unity Terrain的介绍) 目前地形方面terrain已经成为了unity开发的主流地形,好处是,可以用笔刷直接控制颜色 ...
- Unity Cinemachine插件学习笔记,结合Timeline实现简单场景动画
Unity Cinemachine插件学习笔记,结合Timeline实现简单场景动画 *版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 [Unity] ...
最新文章
- vlc播放网络流延时参数设置
- shell win10 改成cmd_win10远程ipconfigs闪退win+r解决查看地址
- IDEA Project Structure 配置说明
- eclipse设置格式化tab为4个空格和idea一样
- Mysql物化视图应用
- Linux信息显示命令,Linux常用信息显示命令
- JavaSE IDEA 使用-面向对象
- PyTorch实现TPU版本CNN模型
- win10系统中“无法使用内置管理员账户打开,请使用其他账户登录再试一次“
- 2020数学建模国赛A题思路与代码(全)
- 《操作系统真象还原》从零开始自制操作系统 自写源码实现 (fs相关文件)
- 量化投资作业的R实现——收益率相关图形绘制
- 2021年英语四级作文
- file upload 攻防世界_菜鸡 CTF 之旅 Writeup (攻防世界)
- AcWing - 求组合数 III(lucas逆元)
- OPNET中业务设置——学习笔记
- 基于对象的软件定义存储——联想 NetApp DXL系列对象存储方案
- 对可变性与不可变性的总结
- knn基础与优化2--ball tree、LSH
- 经过负载均衡图片加载不出来_吐血输出:2万字长文带你细细盘点五种负载均衡策略。...
热门文章
- 百度谷歌淘宝自定义搜索乱码问题的解决
- 用定量测定葡萄糖的方法检测根管微渗漏-供应海藻酸钠修饰聚丙烯酸Alg-PAA 醛基化海藻酸钠(ASA) 海藻酸钠-多聚鸟氨酸-海藻酸(A-PLO-A)定制
- Linux 简单查看网卡实时网速
- 老李分享:六度分隔理论 1
- 金山也推隐私保护器,我的隐私谁做主?
- Python 自动获取 Bing 壁纸
- 计算机无法读取内存卡,「图文」教你如何修复电脑无法识别读取的U盘(SD卡)...
- java目标和规划_java个人职业发展目标规划书(2)
- true launch bar 和 editplus
- 7款强大的免费PDF批量分割软件【附下载】