I'm trying to use TracedPath to make a curve in manim (CE v0.10), which I then want to manipulate (move around, rotate, etc.). The problem is, the tracing continues once I start moving the curve and I don't want it to. Does anyone know how to turn the tracing off? Any help would be greatly appreciated (this is the last issue I need to solve to finish my video). Here is some sample code:
class TracedPathProblem(Scene):
def construct(self):
dot = Dot(color=RED)
trace = TracedPath(dot.get_center,stroke_color=RED)
self.add(dot,trace)
self.play(dot.animate.shift(RIGHT),run_time=2)
path = trace.copy()
self.play(path.animate.shift(2*UP+RIGHT)) #do not want tracing here
self.wait()
Issue solved. Benjamin Hackl gave me a solution: path = trace.copy().clear_updaters()
Related
I made a zombie script with waves but then I got an error called "attempted to index nil with humanoid" so when I load it in my game I type in /console and the error keeps popping up, at first I thought my game had a virus but I fixed them all and there's still this error can someone help me even my friend can't help me. Thanks!
I have tried using various tools, asked my friends and also hired a Roblox Scripter for $1, but they couldn't fix it.
Here's my script for reference:
local spawns = script.Parent
local spawn_time = 10
while true do
wait(spawn_time)
for _,spwn in pairs(spawns:GetChildren()) do
if spwn:IsA('BasePart') then
local zombieCopy = game.ReplicatedStorage['Drooling Zombie']:Clone()
zombieCopy.Parent.HumanoidRootPart.CFrame = CFrame.new(spwn.Postiion + Vector3.new(0,3,0))
end
end
end
Any help would be greatly appreciated!
For those asking for what my idea is heres youtube link:
https://www.youtube.com/watch?v=klHXlim9Yuw
From what I understand, you are attempting to spawn a zombie model on the player when they spawn? Could you please also clarify where your script is, and what error you receive when you play the game and run the script? If anything is wrong in my response, please modify it accordingly or comment on what I have done wrong considering I haven't tested this script yet. From the script you have provided me, here's a somewhat better version of your script:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local spawn = script.Parent
local duration = 10
local function summonZombie()
for _, spawn in pairs(spawn:GetChildren()) do
local zombieCopy = ReplicatedStorage['Drooling Zombie']:Clone()
zombieCopy.Parent.HumanoidRootPart.CFrame = CFrame.new(spawn.Position + Vector3.new(0,3,0))
end
end
while true do task.wait(duration) summonZombie() end
May I mention, there is a typo on the zombieCopy line, so that's something to point out. Please ensure you check your script for any silly mistakes like that before posting to SO.
One last thing, never use game.[Service] for calling in-game services like Workspace or Players. Instead use:
local Workspace = game:GetService("Workspace")
... not:
local Workspace = game.Workspace
Edit: sorry, I forgot to close the for statement.
I have updated the code above accordingly, thanks for the report.
I am implementing a small monitoring system to compute the error between (actual, desired) for a controller (and also recording them for quick and simple analysis). In some of my code, I've added my Systems to my DiagramBuilder and have connected everything using Connect().
I have a controller system that takes in desired input, then produces the actual as output.
Rather than try to remember the inputs connected to the desired output, I'd rather just trace it back.
How do I do that?
From quick perusal, there is both DiagramBuilder.connection_map() and Diagram.connection_map().
The following code seems to work as of v1.11.0:
def trace_to_output(diagram_or_builder, input_port):
system = input_port.get_system()
input_locator = (system, input_port.get_index())
connection_map = diagram_or_builder.connection_map()
output_system, output_index = connection_map[input_locator]
output_port = output_system.get_output_port(output_index)
return output_port
EDIT: I had dict_inverse() in there incorrectly. Fixed.
I'm trying to let the LED keep blinking while waiting in the "wait_msg()" function. can I achieve this by uasycncio, _thread, or modification on the main loop in the module? And how?
Many thanks.
Try the following:
client.check_msg()
led.toggle()
time.sleep(0.1)
I am using the following code to generate a surface normal map from a depth image:
for x in range(depth.shape[0]):
for y in range(depth.shape[1]):
try:
dzdx=(depth[x+1,y,0]-depth[x-1,y,0])/2
dzdy=(depth[x,y+1,0]-depth[x,y+1,0])/2
except:
dzdx=0
dzdy=0
sub=np.asarray([-dzdx,-dzdy,1])
normals[x,y,:]=sub/np.linalg.norm(sub)
any thoughts as to what is going on?
You have a bug in the line:
dzdy=(depth[x,y+1,0]-depth[x,y+1,0])/2
it should be
dzdy=(depth[x,y+1,0]-depth[x,y-1,0])/2
During my test on Pepper, I found some difficulties in realizing continuative collaborative dialog.
In particular, after about 10 minutes, it seems that the ALSpeechRecognition engine stops working.
In other words, Pepper dialog panel remains empty and/or the robot does not understand my words, even if the structure worked some minute before.
I tried to stop and restart it (i.e., the engine) via SSH terminal, by using:
qicli call ALSpeechRecognition.pause 1
qicli call ALSpeechRecognition.pause 0
It should restart the engine according to the guidelines shown here, but it does not work.
Thank you so much guys.
Sincerely,
Giovanni
According to the tutorial, starting and stopping the speech recognition engine is done by subscribing/unsubscribing it.
The recommended way to do this is unsubscribing and subscribing back to it. For me it also worked changing the speech reco language and chaging it back to the one you had previously.
Luis is right and to do so just create a function as below given and call it if ActiveListenning event comes false from ALSpeechRecognition module. Note: Use ALMemory module to get data from ALSpeechRecogntion.
asr_service = ALProxy("ALSpeechRecognition",ip,port)
memory = ALProxy("ALMemory",ip,port)
def reset():
asr_service.unsubscribe("ASR_Engine")
asr_service.subscribe("ASR_Engine")
ALS = memory.getData("ALSpeechRecognition/ActiveListening")
if ALS==False:
reset()