unity怎么将代码拖拽给摄像机使用。。。
第四步:在菜单栏中选中“Assets”——>“Create”——>“JavaScript”新添加一个JS脚本。到Project【项目文件栏】找到刚才新建的JS脚本,按下F...
第四步:在菜单栏中选中“Assets”——>“Create” ——>“JavaScript”新添加一个 JS 脚本。到 Project【项目文件栏】找到刚才新建的JS 脚本,按下 F2 键更改它的名字为“UnderWaterEffect”,并双击编辑它,输入如下代码:
代码如下:
private var defaultFog = RenderSettings.fog;
private var defaultFogColor = RenderSettings.f ogColor;
private var defaultFogDensity = RenderSettings.fogDensity;
private var defaultSkyb ox = RenderSettings.skybox;
var noSkybox : Material;
function OnT riggerStay (hit : Collider) { if (hit.gameObject.tag=="WaterColler"){ RenderSettings.fog = true;
RenderSettings.fogColor = Color (0, 0.4, 0.7, 0.6);
RenderSettings.fogDensity = 0.04; RenderSettings.skybox = noSkybox; } }
function OnT riggerExit (hit : Collider) { if (hit.gameObject.tag=="WaterColler"){ RenderSettings.fog = defaultFog; RenderSettings.fogColor = defaultFogColor; RenderSettings.fogDensity = defaultF ogDensity; RenderSettings.skybox = defaultSkybox; } }
输入完毕,按 Ctrl+S 保存代码并关闭退出,然后将代码拖拽给摄像机使用。重新运行一下游戏,将摄像机移动到水下,就可以看到一片模糊的景象了。
————————这样做了以后,为什么代码拖不了给摄像机使用? 展开
代码如下:
private var defaultFog = RenderSettings.fog;
private var defaultFogColor = RenderSettings.f ogColor;
private var defaultFogDensity = RenderSettings.fogDensity;
private var defaultSkyb ox = RenderSettings.skybox;
var noSkybox : Material;
function OnT riggerStay (hit : Collider) { if (hit.gameObject.tag=="WaterColler"){ RenderSettings.fog = true;
RenderSettings.fogColor = Color (0, 0.4, 0.7, 0.6);
RenderSettings.fogDensity = 0.04; RenderSettings.skybox = noSkybox; } }
function OnT riggerExit (hit : Collider) { if (hit.gameObject.tag=="WaterColler"){ RenderSettings.fog = defaultFog; RenderSettings.fogColor = defaultFogColor; RenderSettings.fogDensity = defaultF ogDensity; RenderSettings.skybox = defaultSkybox; } }
输入完毕,按 Ctrl+S 保存代码并关闭退出,然后将代码拖拽给摄像机使用。重新运行一下游戏,将摄像机移动到水下,就可以看到一片模糊的景象了。
————————这样做了以后,为什么代码拖不了给摄像机使用? 展开
1个回答
展开全部
代码有细节错误,调整如下:
#pragma strict
private var defaultFog = RenderSettings.fog;
private var defaultFogColor = RenderSettings.fogColor;
private var defaultFogDensity = RenderSettings.fogDensity;
private var defaultSkybox = RenderSettings.skybox;
var noSkybox : Material;
function OnTriggerStay (hit : Collider) {
if (hit.gameObject.tag=="WaterColler")
{
RenderSettings.fog = true;
RenderSettings.fogColor = Color (0, 0.4, 0.7, 0.6);
RenderSettings.fogDensity = 0.04;
RenderSettings.skybox = noSkybox;
}
}
function OnTriggerExit (hit : Collider) {
if (hit.gameObject.tag=="WaterColler")
{
RenderSettings.fog = defaultFog;
RenderSettings.fogColor = defaultFogColor;
RenderSettings.fogDensity = defaultFogDensity;
RenderSettings.skybox = defaultSkybox;
}
}
#pragma strict
private var defaultFog = RenderSettings.fog;
private var defaultFogColor = RenderSettings.fogColor;
private var defaultFogDensity = RenderSettings.fogDensity;
private var defaultSkybox = RenderSettings.skybox;
var noSkybox : Material;
function OnTriggerStay (hit : Collider) {
if (hit.gameObject.tag=="WaterColler")
{
RenderSettings.fog = true;
RenderSettings.fogColor = Color (0, 0.4, 0.7, 0.6);
RenderSettings.fogDensity = 0.04;
RenderSettings.skybox = noSkybox;
}
}
function OnTriggerExit (hit : Collider) {
if (hit.gameObject.tag=="WaterColler")
{
RenderSettings.fog = defaultFog;
RenderSettings.fogColor = defaultFogColor;
RenderSettings.fogDensity = defaultFogDensity;
RenderSettings.skybox = defaultSkybox;
}
}
追问
改成这个以后,我还是没法拖过去给照相机使用。。。
另外,请问:#pragma strict 是什么呀?一定要加么
我是新手。。。老师还没教代码。。。自己瞎琢磨 越弄越晕
追答
#pragma strict 是语法严格的意思,加了之后会提示一些不好的语法习惯。
这段代码我测试时时没有问题的,你可能其它某个地方弄错了。
像你这样没有程序基础的人,学unity最好要有人教,没人教的话就从最基本的程序C或则其他入门程序学起。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询