【Unity 3D】学习笔记四十五:游戏实例——击垮围墙

本文通过一个Unity 3D游戏实例,综合运用物理引擎,阐述如何创建一个击垮围墙的游戏。游戏中,利用刚体组件赋予炮弹和墙动态交互能力,炮弹发射后展示五色粒子效果,揭示其运动路径,以此巩固和展示Unity 3D的物理系统应用。
摘要由CSDN通过智能技术生成

用这个游戏实例来总结之前我们复习的所有关于物理引擎的知识。在游戏中,发送一个球形的炮弹来击垮前面的墙。给炮弹与墙都添加了刚体组件,给炮弹绑定了粒子系统,并且在炮弹的粒子动画中添加了5组不同的颜色,显示移动轨迹。

using UnityEngine;
using System.Collections;

public class Script_06_14 : MonoBehaviour {

	//炮弹对象
	private GameObject obj;
	//准心贴图
	public Texture texture;
	
	void Start () 
	{	
		//获取炮弹对象
		obj = GameObject.Find("Sphere0");
		//隐藏默认鼠标图标
		Screen.showCursor = false;
		
	}
	void FixedUpdate()
	{
		//点击鼠标左键后
		if(Input.GetMouseButton(0))
		{
			//创建射线从摄像机位置发射到鼠标选择位置
			Ray ray =  Camera.main.ScreenPointToRay(Input.mousePosition);
			RaycastHit hit;
			//判断射线是否与游戏对象相交
			if(Physics.Raycast(ray, out hit))
			{
				//确保游戏对象为围墙
				if(hit.collider.name =="Cube")
				{
					//计算炮弹与目标点之间的距离
					Vector3 direction = hit.transform.position - obj.transform.position;
					//发射炮弹
					obj.rigidbody.AddForceAtPosition(direction, hit.transform.position,ForceMode.Impulse);
				}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值