Unity3D5.0中如何利用程序添加帧事件?请大神指教!!

Unity3D5.0中如何利用程序添加帧事件?请大神指教!!,第1张

控制角色移动播放动作或者其他逻辑则需要给这个橘色节点绑定逻辑脚本,UNity支持多种脚本语言,在此是用JAVA脚本.

创建 脚本Assets -->Create ---->JavaScript 创建一个空的逻辑脚本,并将这个脚本绑定在主角对象身上,绑定方式枯蔽是直接拖拽到主角节点即可。

对脚本的编写:

类及接口主要参照帮助文档,这里只介绍脚本基本结构和简单示例:

每个脚本至少都有两个函数: function Start() 可以认为是初始化 function Updata()则是每帧更新函数。

要实现没纳州对角色位置的控制移动首先要定义该角色,

首先 定义GameObject对象也就是要控制的目标: private var _MainRole:GameObject

在function Start() 函数中初始化该对象: inRole = GameObject.Find("MainRole")// 从场景中查找到名叫"MainRole"的对象也就是主角。

在每帧更新茄桥时侦听键盘事件,如果按键按下W则空对象向前移动

if(Input.GetKey(KeyCode.W))

{

_MainRole.transform.Translate( Vector3.forward * 0.05 )

}

至此,就已经完成按键控制角色移动的全部过程,运行游戏就可以用按键控制角色移动。

下面中肢是简单的CS脚本:

1

2

3

4

5

6

7

8

9

//在OnGUI里面

void OnGUI()

{

//这个卖慎世就是点击按钮

if(GUI.Button(new Rect(10,10,200,30),"Test"))

{

Debug.Log("你点孝派击了按钮Test")

}

}

如果想要更多按钮事件,可以设置GUISkin......

第1步打开unity3d场景在里面导入一个相对更复杂的模型。第2步首先我们给这个模型添加Rigdibody刚体组件。第3步接着在Compont给其添加Mesh Collider组件。第4步勾选里面的 Convex,会默认根据自己的模型生成一个碰撞范围,但是不宴戚是很精确。第5步如果要更精确的碰撞,我们可以根据模型对应的部分,创建多个碰撞网格模型。第6步然后我们展开模型,把里面的网格ear1拖放到Mesh中,然后勾选Convex就可以在对应的位置建立碰撞范围,比如这里的右边的耳朵。第7步接着我们可以再次添加一个Mesh Collider把模型的另一个耳朵ear也添加上碰撞范围ear2。第8步同样的方式我们可以把模型需要添加碰撞的地方都添加上去,然后运行就可以得到更真实的物理效果了。特别提示作为碰撞使用的每个模型网格点面不能超过256个,否则转换的时候会报错。

使用unity3D制作场景的时候,我们需要在里面导入各种模型,其中有些比较复杂的模型我们需要给其添加碰撞效果,这时候我们可以使用对应的网格碰撞组件,然后自己设置相对更精确晌亏陵的网格作为碰撞检测的范围就可以了,下面就给大家带来实际 *** 作,希望能帮助到有需要的人。

工具/软件

电脑型号:联想(Lenovo)天逸510S; 系统版本:Windows7; 软件版本:Unity3D

方法/步骤

第1步

打开unity3d场景在里面导入一个相对更复杂的模型。

第2步

首先我们给这个模型添加Rigdibody刚体组件。

第3步

接着在Compont给其添加Mesh Collider组件。

第4步

勾选里面的 Convex,会默认根据自己的模型生成一个碰撞范围,但是不是很精确。

第5步

如果要更精确的碰撞,我们可以根据模空岩型对应的部分,创建多个碰撞网格模型。

第6步

然后我们展开模型,把里面的网格ear1拖放到Mesh中,然后勾选Convex就可以在对应的位置建立碰撞范围,比如这里的右边的耳朵。

第7步

接着我们可以再次添加一个Mesh Collider把模型的另一个耳朵ear也添加上碰撞范围ear2。

第8步

同样的方式我们可以把模型需要添加碰撞的地方都添加上去,然后运行就可以得到更真实的物理效果了。

特别提示

作为碰撞使用的每个模型网格点面不能超过256个,否则转换的时候会报错


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11967207.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存