查看: 1618|回复: 1
打印 上一主题 下一主题

利用unity3d开发第三人称摄像机(三)

[复制链接]

5552

主题

2

听众

8万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
11

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-8-1 15:13:12 |只看该作者 |倒序浏览
创建并应用脚本(Script)

(1)首要的是创建一个脚本script,

在Project Panel上单击Create按钮,然后选择"JavaScript",这将在Project Panel中创建一个新的JavaScript。

(2)对脚本进行重命名"layerCharacter" 然后将其从Project Panel中拖放到角色上,以便使它们之间建立联系,现在脚本中的内容就应用在了角色上。

(3)打开脚本编辑器,修改其中的代码。
编写脚本

如果你曾经看过其他的3rd person控制器脚本,会发现它们很长,如果你是unity的初学者则会发现这些代码是很复杂的,下面的介绍会尽量的突出重点,从而使之更加容易理解。

(1)首先定义一些控制器要用到的非常重要的变量,

private var walkSpeed : float = 1.0;private var gravity = 100.0;private var moveDirection : Vector3 = Vector3.zero;private var charController : CharacterController;
下面我们对上面的4条代码进行一下解释:

walkSpeed是一个浮点型,存储了移动的速度

gravity是另外一个浮点型,其中包含了重力加速度,用于保持角色位于地面上。

moveDirection是一个Vector3(包含xyz坐标的变量)类型,存储了角色运动的方向。

charController是一个角色控制器变量(character controller variable),我们将在此变量中设置前面添加的控制器,以便于我们能够在脚本中直接引用它。
(2)创建一个Start()函数,他将在游戏运行的时候,自动被调用,此函数会被用于初始化运行时。function Start(){    charController = GetComponent(CharacterController);    animation.wrapMode = WrapMode.Loop;} Start()函数类似于main() / winmain() 函数,它在脚本加载时自动被调用, Start() 只能被调用一次,不能多次执行。上面脚本中的第一行,将前面创建的character controller赋给controller变量,第二行设置动画wrapMode 模式为"loop"。此语句和前面设置动画的loop选项框有相同的作用. ,但通过此语句,可以得到所有的动画的loop属性。
3)接下来创建一个Update()函数,它时另一个重要的函数, start()和update() 的区别是,update()函数在每一帧都会自动调用。因此,所以应用在事件列表和实时行为脚本是很有用的。

function Update (){}我们的行为代码都添加在此函数中。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

0

主题

1

听众

32

积分

设计初学者

Rank: 1

纳金币
20
精华
0
沙发
发表于 2012-8-28 02:58:14 |只看该作者
额。下面呢?怎么看不了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-1 07:08 , Processed in 0.088360 second(s), 30 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部