Unity3D中Javascript的基本使用与介绍详解

实现炫酷可视化大屏,three.js 与 Unity3D技术对比 实现炫酷可视化大屏,选择three还是u3d? 阅读详情


在Unity中脚本是必不可少的。因为他将定义你游戏的各种行为和规则。
这个教程将介绍JavaScript的基本使用。
1.目标

在Unity中,脚本是用来界定用户在游戏中的行为或规则。Unity推荐使用的编程语言是JavaScript,同时也支持C#或Boo。

2.前提
本教程的重点是Unity脚本基础,前提是你已经熟悉了Unity的界面。

3.命名规范
开始前,先说下Unity的一些规范。
变量 – 首写为小写字母。变量用来存储游戏状态中的任何信息。
函数 – 首写为大写字母。函数是一个代码块,在需要的时候可以被重复调用。
类 – 首写为大写字母。可以被认为是函数的库。
当阅读范例时注意首写字母,将有助于你更好的理解对象之间的关系。

4.用户输入
我们第一个例子是在场景中实现一个简单的移动。
1)设置场景:
-启动Unity。创建一个用来移动的平面。GameObject->CreateOther->Plane。并且在Inspector面板中设置Position为”0,0,0″。如果当前页面没有Inspector面板,选择Window-

>Layouts->2by 3。建议熟悉各种布局以便开发需要。

-创建一个Cube。GameObject->CreateOther->Cube。在Inspector面板中设置Position为”0,1,0″。

-我们都知道现实世界里物体成像靠的是光反射,那么我们这里也是需要光线的。选择GameObject->CreateOther->PointLight。在Inspector面板中设置坐标为”0,5,0″。

-保存当前场景。快捷键为Ctrl+s。

2)新建脚本。
我们打算移动用户的视线,这需要通过控制主相机的位置来实现。
我们就要写一个脚本,然后把脚本和相机结合起来。

-创建一个空脚本。Assets->Create->JavaScript并命名为”Move”。重命名快捷键为F2。

-双击打开脚本Move。默认包含Update()函数。将我们的代码加入这个函数,他将在每一帧执行一次。
我们需要用transform来改变相机的位置,用到Translate这个函数,他有x,y,z三个参数。我们加入以下代码:

function Update(){
    transform.Translate(Input.GetAxis("Horizontal"),0,Input.GetAxis("Vertical"));
}

Input.GetAxis()函数返回一个从-1到1之间的值,如横轴上左半轴为-1到0,右半轴为0到1。
如果需要,我们可以通过Edit->ProjectSettings->Input中重定义按键映射。
3)连接脚本
脚本写完了,如何让他起作用呢?我们需要把脚本赋予物体才行。

-点击希望应用脚本的物体对象。这里对我们而言就是相机。从Hierarchy面板中选中它。
Mono Develop脚本编辑器介绍 Mono Develop脚本编辑器介绍 (Unity 自带脚本编辑器)      1、Unity3d目前支持三种语言的脚本程序,包括c#,JavaScript,boo;其中使用最多为c#。        2、注意:        (1)项目运行过程中的修改不会保存        (2)脚本只能依附于游戏对象或由其他脚本调用才能运行        (3)一个脚本可以放在 阅读详情

相关推荐

在vue中使用unity3D实现webGL将要呈现的效果

文章目录Vue + webGL + unity3D1. 什么是webGL?1.1 兼容性2. 什么是unity3D?2.1 unity3D 的发展史3. 如何在vue中使用unity3D和webGL?3.1 新建一个挂载unity3d加载器的vue组件3.2 使用新建的vue-unity-webgl组件4. 演示效果 Vue + webGL + unity3D 1. 什么是webGL? WebGL(Web图形库)是一个JavaScript API,可在任何兼容的Web浏览器中渲染高性能的交互式3D和2D图形

追梦&天空的博客 1万+

js调用unity程序_Unity3D中C#和js方法相互调用

rss"/>通过查找资料,Unity3D中C#和js要相互调用彼此的方法,js文件必须放在"Standard Assets"、 "Pro Standard Assets" 和 "Plugins"这三个文件夹中的任意一个。在Scripts文件夹新建一个C#脚本csTest :public class csTest : MonoBehaviour {void Start () {jsTest ...

weixin_39945679的博客 1679

web版的数字孪生,选择three.js、unity3D、还是UE4

在上述对比中,我们提到了three.js适合轻量级的数字孪生开发。资源消耗低:轻量级的数字孪生开发意味着使用的库或框架的资源消耗较低,不会占用过多的内存和计算资源。对于数字孪生应用来说,保持较低的资源消耗可以提高应用的性能和响应速度。易于学习和使用:轻量级的数字孪生开发工具应该具备简单易学的API和文档,降低学习和上手的门槛。对于前端开发者来说,能够快速上手并迅速实现数字孪生效果是一个重要的考虑因素。灵活性和可扩展性:轻量级的数字孪生开发工具应该具备灵活性,允许开发者根据项目需求进行定制和扩展。

2401_82881178的博客 1万+

javascript:实现euler method欧拉法算法(附完整源码)

javascript:实现euler method欧拉法算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 310

Unity3D中JavaScript入门教程与实战指南

Unity3D采用组件化架构,核心由场景管理(SceneManager)、物理引擎(PhysX)、渲染管线和脚本后端(Mono或IL2CPP)构成。所有游戏对象(GameObject)通过挂载脚本组件实现行为逻辑。// 脚本必须继承自MonoBehaviour才能挂载到GameObjectDebug.Log("引擎初始化完成");UnityScript中的变量管理直接影响脚本的可配置性和运行效率。合理使用访问修饰符、序列化字段和作用域规则,不仅能提升开发体验,还能优化运行时表现。

weixin_30591519的博客 1239

PPPoe的抓包分析(详细)

PPPoe的报文结构 可以看出PPPoe的报文结构其实很简单,只不过是将PPPoe的报文塞到以太网的载荷中,而且它的头部字段也十分的简单,TLV就不说了,code字段表示了PPPoe不同的报文类型,比较常见的就是上面的五个报文了,PPPoe的报文类型其实还蛮多的。session ID主要的作用就是标识一段会话,因为使用PPPoe的最主要作用就是使得多台设备可以借助以太网多点接入多点访问的特点去和一台设备做上网认证请求,这样运营商一台认证设备就可以满足多个用户的认证请求,这和PPP相比起来好的不止一点。

qq_47529104的博客 7868

MYSQL、ORACLE、PostgreSQL数据库对象层次及权限管理对比

本文为出于自己扩展、比较、图形化的思维路径自行总结归纳,可能有些细节不太准确,欢迎指正。MySQL、Oracle、PostgreSQL关系型数据库都有管理员用户、用户、权限管理、表函数索引等数据库对象,schema。但在数据库对象隶属层次上有差异和相同的地方。

rachel_2016的博客 1490

从数学到机床:RTCP背后的几何变换与工业实现

本文深入解析RTCP(Rotary Tool Center Point)技术在五轴数控加工中的核心作用,通过几何变换与运动学原理实现刀尖点跟随,确保加工精度。从数学基础到工业实现,详细探讨了算法架构、机床结构适配及精度保障方法,为数控系统开发和高效加工提供关键技术支撑。

jump7的博客 258

用友T3提示,年度[UFDATA_002_2017]并不存在,导致无法备份迁移。

用友T3提示,年度[UFDATA_002_2017]并不存在,导致无法备份迁移。现在都win11了某个年度账套不存在怎么办?

雨季余静的博客 3561

APM32取代STM32的经验分享

我仔细检查了代码中与硬件相关的部分,例如外设寄存器的访问和中断处理程序的设置,并进行了相应的修改。在本文中,我将分享我将APM32引入项目中取代STM32的经验,并提供相应的源代码。我查看了APM32的官方网站、开发者论坛和相关社交媒体,了解了开发者社区的活跃度和可用的资源。总结起来,将APM32替换STM32的过程需要经过几个关键步骤:了解APM32的规格和功能、评估软件生态系统、迁移代码和调试,以及性能和功耗优化。在开始替换之前,我对APM32进行了详细的研究和评估,以确保它能够满足项目的需求。

UplKubernetes的博客 2004

24、虚拟地理信息系统:技术与应用的全面解析

本文全面解析了虚拟地理信息系统(虚拟GIS)的技术架构与应用前景。文章从地理空间数据的增长出发,探讨了虚拟GIS在地形、建筑、天气等多维度数据的交互式可视化技术,重点介绍了全球层次结构、多分辨率模型、缓存分页机制及交互导航方法。系统已应用于天气分析、城市规划、应急响应等领域,并展望了未来在数据处理、模拟操作、移动可视化及智能城市、文化遗产保护等方向的发展路径与技术挑战。

v4w5x6的博客 88

微信小程序视频内容服务类目审核不过?绕过审核的两种思路!

虽然不推荐绕过官方审核,但在实际项目中,总有一些特殊情况:比如,最近开发的小程序涉及视频播放,提交审核时,被官方要求补充“教育服务 - 在线视频课程”类目。但我们的内容只是车辆使用介绍,并非教育课程,无法提供相应资质。该怎么办?很多开发者发现,小程序开发不是最难的,审核才是最难的。 微信为了规避法律风险,要求某些功能必须提供资质。例如:然而,并不是所有公司都能轻松申请到这些资质,甚至有些资质根本不适用于我们的业务,导致审核卡住,无法上线。就像我遇到的这个问题,官方要求我们补充“在线视频课程”类目,但实际业务

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 3238

ubuntu下编译qtwebengine

ubuntu qtwebengine

tianyu的专栏 - Linux site:blog.youkuaiyun.com/wishfly 1463

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: Unity3D使物体运动的程序脚本的使用与说明实现详解
下一篇: Unity3D如何使用脚本实现跳跃的效果
七大黍
博客等级 码龄20年 436粉丝 260原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值