Unity3D 游戏开发day01

本文介绍了Unity3D游戏开发的基础知识,包括如何使用Update()方法实现物体移动和旋转,以及如何通过脚本控制模型的移动。同时,还介绍了GUI界面开发的基本方法。

首先感谢雨松MOMO,我是看他写的Unity3D 游戏开发书籍开始学习我的Unity3D游戏开发的。

下面是这位大牛的网址

http://www.xuanyusong.com/

整款Unity3D开发工具其实也就几个模块而已,只要你有心去学习,很快就可以上手。我就不想去介绍了


在Project视图中创建Js代码,

function Update(){
  transform.Translate(Vector3.forward*Time.deltaTime);
}
这里的Update()方法是系统自动调用的方法,可以理解为Unity3D脚本编程的一个生命周期函数,重写这个函数。类似于Android的生命周期函数。

Vector3.forward表示向前移,Time.deltaTime表示Update方法上一帧持续的时间。由于Update方法是在游戏每一帧中都会调用,

所以Vector3.forward*Time.deltaTime表示一帧移动的距离。当然可以在后面乘以倍数,提高速度

function Update(){
  transform.Rotate(Vector3.up*Time.deltaTime);
}
Vector3.up表示自身旋转,我的理解为这个物体相对于摄像机拍摄到的自己的顶

使用脚本控制模型的移动

#pragma strict

//模型移动速度
var TranslateSpeed = 20;

//模型旋转速度
var RotateSpeed = 1000;

//绘制UI
function OnGUI(){
	//设置GUI背景颜色
	GUI.backgroundColor = Color.red;
	if(GUI.Button(Rect(10,10,70,30),"向左旋转")){
		//想左旋转模型
		transform.Rotate(Vector3.up *Time.deltaTime * (-RotateSpeed));

	}

	if(GUI.Button(Rect(90,10,70,30),"向前移动")){
		//向前移动
		transform.Translate(Vector3.forward * Time.deltaTime * TranslateSpeed);
	}

	if(GUI.Button(Rect(170,10,70,30),"向右旋转")){
		//向右旋转
		transform.Rotate(Vector3.up * Time.deltaTime *RotateSpeed);
	}

	if(GUI.Button(Rect(90,50,70,30),"向后移动")){
		//向后移动
		transform.Translate(Vector3.forward * Time.deltaTime *(-TranslateSpeed));
	}
	if(GUI.Button(Rect(10,50,70,30),"向左移动")){
		//向左移动
		transform.Translate(Vector3.right * Time.deltaTime *(-TranslateSpeed));
	}
	if(GUI.Button(Rect(170,50,70,30),"向右移动")){
		//向右移动
		transform.Translate(Vector3.right * Time.deltaTime * TranslateSpeed);
	}

	//显示模型位置信息
	GUI.Label(Rect(250,10,200,30),"模型的位置" + transform.position);
	//显示模型旋转信息
	GUI.Label(Rect(250,50,200,30),"模型的旋转" +transform.rotation);
}

在这里使用了很多函数,都可以见名知意,
GUI.Button(画区域)是生成了一个按钮,然后点击都会返回true,默认返回false,可以这样理解
通过实验表明,

Vector3.up  表示相对于自己的Y轴(绿色轴)  向右旋转时,Roate()方法参数为正,向左旋转为负

vector3.right  表示相对于自己的X轴(红色轴)  向右移动是,Translate()方法里面的参数为正,左移为负

Vector3.forward  表示相对于自己的Z轴(蓝色轴) 想前移动为正,向后为负数

这个可以看物体上显示的坐标轴


GUI界面开发,GUI高级控件的开发了解。

在js中声明的public或者未添加任何关键字表示这个变量为共有变量,只有共有变量才可以出现在编辑器中,并且编辑可以可以修改

GUI.Label标签,可以添加文字,也可以添加贴图Texture信息

GUI.Button\GUI.RepeatButton点击不放按钮可以监控到变量。

GUI.TextField  和 GUI.PasswordField  前一个输入文本框,后一个输入密码框,并且都返回输入的字符串

PS:注意声明的变量需要初始化,如果不初始化会报错,可以在console控制台中看到红色的错误信息


最后,感觉Unity3D上手还不错,感觉还行!

内容概要:本文档介绍了基于3D FDTD(时域有限差分)方法在MATLAB平台上对微带线馈电的矩形天线进行仿真分析的技术方案,重点在于模拟超MATLAB基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]宽带脉冲信号通过天线结构的传播过程,并计算微带结构的回波损耗参数(S11),以评估天线的匹配性能和辐射特性。该方法通过建立三维电磁场模型,精确求解麦克斯韦方程组,适用于高频电磁仿真,能够有效分析天线在宽频带内的响应特性。文档还提及该资源属于一个涵盖多个科研方向的综合性MATLAB仿真资源包,涉及通信、信号处理、电力系统、机器学习等多个领域。; 适合人群:具备电磁场与微波技术基础知识,熟悉MATLAB编程及数值仿真的高校研究生、科研人员及通信工程领域技术人员。; 使用场景及目标:① 掌握3D FDTD方法在天线仿真中的具体实现流程;② 分析微带天线的回波损耗特性,优化天线设计参数以提升宽带匹配性能;③ 学习复杂电磁问题的数值建模与仿真技巧,拓展在射频与无线通信领域的研究能力。; 阅读建议:建议读者结合电磁理论基础,仔细理解FDTD算法的离散化过程和边界条件设置,运行并调试提供的MATLAB代码,通过调整天线几何尺寸和材料参数观察回波损耗曲线的变化,从而深入掌握仿真原理与工程应用方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值