导图社区 Roll-a-ball
这是一篇关于Roll-a-ball的思维导图,主要内容包括:创建3D项目 命名为(Roll a ball)。帮助初学者通过构建一个简单的3D滚球游戏来学习Unity的基本概念和操作。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
Roll-a-ball
创建3D项目 命名为(Roll a ball)
实现小球移动功能
创建简单场景
创建平台plane
调整平台为合适大小比例2:1
添加material材质并赋予(灰色)
创建玩家球体命名为(Player)
调整Player位置于平台正中心(紧挨不穿模)
添加materlal材质并赋予(蓝色)
调整合适灯光
光照白色
为Player添加所需组件
添加Rigibody组件
Add Component-Rigibody
添加Player Input组件
为项目添加Input System包
windows-package Manager
Add Component-Player Input
添加Player Scripts组件
Add Component-Player Scripts
获取用户操作
Player Input组件中点击Create Actions
保存inputactions在新建Input文件夹中命名为Rollaball
处理用户操作操作Player
Player Scripts组件中新建C#Script命名为(PlayerScrip)并编辑
编写PlayerScrip脚本
创建所需变量
public float speed = 0;
private Rigidbody rb;
private float movementX;
private float movementY;
编辑 void Start(){}函数
rb = GetComponent<Rigidbody>();
创建void FixedUpdate(){}函数
Vector3 movement = new Vector3(movementX, 0.0f, movementY);
rb.AddForce(movement * speed);
创建void OnMove(InputValue movementValue)函数
Vector2 movmentVector = movementValue.Get<Vector2>();
movementX = movmentVector.x;
movementY = movmentVector.y;
保存测试
小球可移动
实现摄像机跟随
编写摄像机脚本
Player Scripts组件中新建C#Script命名为(CameraScrip)并编辑
public GameObject player;
private Vector3 offset;
创建并编辑 void LateStart(){}函数
offset = transform.position -player.transform.position;
Player拖拽到Camera Conteroller组件的Player字段中
摄像机跟随小球移动,保持小球位于摄像机中心
建立游戏场景
创建空对象命名为(walls)作为墙壁组
walls下建立Cube子对象并命名Westwall
调整westwall大小合适包围游戏平台赋予材质
制作可收集物
建立Cube对象并命名packUp
调整位置大小方向材质
建立C#脚本命名(packup)并编辑
编辑 void Update(){}函数
transform.Rotate(new Vector3(15, 20, 45)*Time.deltaTime);
制作packup预制件
将packup摆放在场景各处
为packUp预制件添加标签packUp
检测碰撞
编辑PlayerScrip
编辑private void OnTriggerEnter(Collider other){}函数
if (other.gameObject.CompareTag("PickUp")) { other.gameObject.SetActive(false); }
为packUp预制件添加刚体并取消重力选项
显示得分
添加count计数
添加private int count;
if (other.gameObject.CompareTag("PackUp")) { other.gameObject.SetActive(false); count++; }
添加public TextMeshProUGUI countText;
编辑 void SetCountText() {}
countText.text = "Count:" + count.ToString();
添加win
构建游戏
制作人
姓名:陈阳
学号:07